DIY faça você mesmo
Aulas de mestre, instruções, dicas úteis, receitas.
» » »Como conectar o monitor OLED I2C ao ARDUINO
Introdução: Introdução ao monitor OLED I2C 128 * 64/128 * 32.
Como conectar o monitor OLED I2C ao ARDUINO

Oi Sendo um amador - um entusiasta da eletrônica, tenho certeza de que tudo o que fazemos é brinquedos eletrônicos - produtos caseiros ou grandes projetos, tudo por curiosidade e preguiça. A curiosidade busca entender e compreender o imenso, não conhecido, para entender como funciona lá, o que faz, como se move. E a preguiça inventa, a fim de chegar a isso, para não se levantar, não estar em forma, não levantar, não se sujar ou algo mais importante.

Como ver informações é melhor do que entender o que está prestes a acontecer em nosso dispositivo, ou já aconteceu ou está acontecendo, definitivamente queremos obter essas informações muito úteis de nossos microcontroladores, sensores ou outros dispositivos. E, de qualquer forma, quero receber mensagens, como perguntas, avisos, lembretes, emoticons, asteriscos, corações e afins.

Para aqueles que também têm um desejo semelhante, aqui está um guia rápido para conectar e verificar displays OLED pequenos e baratos.
A seguir, falaremos sobre um dos modelos amplamente disponíveis para radioamadores de monitores OLED controlados pelo chip SSD1306, com um tamanho de tela de 0,96 polegadas e uma resolução de 128 * 64 ou 128 * 32 pixels. Esses monitores são ideais para pequenos designs de rádio amador e produtos caseiros.
Como conectar o monitor OLED I2C ao ARDUINO

Etapa 1: Conceitos Chave


Vamos conectá-lo ao Arduino UNO / NANO, bem, e ao programa, respectivamente, também o conectaremos através do Arduino.
  • O OLED é um diodo orgânico emissor de luz, ou seja, um dispositivo semicondutor feito de compostos orgânicos, que começa a emitir luz quando uma corrente elétrica passa por ele.
  • O ARDUINO é uma plataforma para treinamento e automação predial e sistemas de robótica.
  • O ArduinoIDE é um ambiente de desenvolvimento. Esta é uma ferramenta de programação gratuita do Arduino.
  • I2C - Circuitos Inter-Integrados, linha de comunicação entre microcircuitos.
  • Um esboço, é um código, é um programa - terminologia do Arduino.

Siga as instruções para entender como conectar e configurar corretamente um monitor OLED no Arduino e como exibir sua própria mensagem no monitor.
Fazemos tudo em etapas.

Etapa 2: Acessórios


Vamos precisar de apenas quatro coisas:
  • 1. O display OLED em si é de 0,96 ”(pode ser comprado no Aliexpress ou no Ebay - longo, mas barato!).
  • 2. Arduino UNO / Nano (no mesmo local que a tela).
  • 3. Conexão dos fios (ibid.).
  • 4. Um computador ou laptop com o ArduinoIDE instalado.

Como conectar o monitor OLED I2C ao ARDUINO

Em geral, comprar peças para vários projetos no Aliexpress e no Ebay é uma coisa muito legal, enquanto você faz um projeto, peças para outro já estão a caminho. O principal é não esquecer de fazer um pedido.

Etapa 3: conectar a tela


O monitor é controlado pelo chip SSD1306, que suporta cinco protocolos de comunicação e um deles é o I2C. Os dados desse protocolo são transmitidos em apenas dois fios, e quanto menos fios no caso, melhor, então nos convém. Mas! Existem módulos com protocolo SPI e até comutação de protocolo, portanto, tenha cuidado ao comprar este módulo.
Como conectar o monitor OLED I2C ao ARDUINO

Conclusões usadas:
Visor OLED - SCL / SCK (relógio) e SDA (dados), energia "Plus" (VCC) e energia "Menos" (GND).
Como conectar o monitor OLED I2C ao ARDUINO

Conclusões usadas:
Arduino UNO - SCL / SCK no A5 e SSD no A4, potência “Plus” (+ 5V) e potência “Minus” (GND).
Conecte o monitor ao Arduino:
  • Vcc - 5V
  • GND - GND
  • SDA - A4
  • SCL - A5

Como conectar o monitor OLED I2C ao ARDUINO

Etapa 4: Scanner I2C


Cada dispositivo no barramento I2C possui um endereço hexadecimal, você não pode alterá-lo, é costurado com firmeza, cada fabricante responsável deve indicá-lo em algum lugar do gabinete ou nas instruções. Existem módulos com interruptores e jumpers com os quais você pode alterar o endereço, mas ... se os dispositivos forem baratos, para a feiura, então o fabricante pode não se dar ao trabalho de lidar com essa ninharia, então você terá que determinar você mesmo.

No total, até 127 endereços podem ser usados ​​no barramento - 119 para dispositivos e 8 endereços de serviço. A comunicação é realizada nesses endereços.Há um mestre, ele é um mestre, mas há um escravo, ele também é um Escravo - os Mestres perguntam, os seguidores respondem, tudo é simples.
Como nosso monitor OLED usa o protocolo de comunicação I2C e o endereço pode não estar indicado, tentaremos descobrir esse mesmo endereço.

Isso pode ser feito baixando um pequeno esboço para sua placa Arduino com o OLED conectado. MAS!
Não se esqueça de enviar o esboço para o Arduino imediatamente! Vamos começar baixando o "driver", ou seja, conectaremos as bibliotecas e, para isso, iremos direto para a "Etapa 5" e, em seguida, voltaremos e continuaremos.

Etapa 4: Continuação:


Faça o download do CODE Finder_I2C_Hex_Address.ino, faça o upload para o Arduino.
Abra o “Port Monitor”, defina a velocidade para 9600 e, se tudo estiver conectado corretamente, o programa mostrará o endereço do dispositivo, no meu caso OLED com o endereço 0x3F.
Como conectar o monitor OLED I2C ao ARDUINO

Etapa 5: baixar e conectar bibliotecas


Para que tudo funcione corretamente e você não precise reinventar a roda, é necessário conectar algumas bibliotecas ao ambiente do ArduinoIDE, a saber: ADAFRUIT GFX e ADAFRUIT SSD1306, são necessárias para que o Arduino possa se comunicar independentemente com o monitor OLED.
Você pode conectar essas bibliotecas seguindo estas etapas.
  • 1. No ArduinoIDE, acesse o menu Esboço.
  • 2. Selecione "Incluir bibliotecas".
  • 3. Selecione "Gerenciar bibliotecas" / Bibliotecas gerenciadas.
  • 4. Encontre o ADAFRUIT GFX e instale-os.
  • 5. Encontre o ADAFRUIT SSD1306 e instale-o.

Com as versões mais recentes das bibliotecas, a exibição funcionou de maneira torta para mim, talvez seja devido à curvatura das mãos, mas depois que instalei as primeiras versões dessas bibliotecas, tudo começou a aparecer de maneira suave e bonita. Por alguma razão, as falas de Pushkin aparecem em sua memória:
... e experiência, filho de erros difíceis,
e gênio, amigo paradoxos.

Outra maneira de instalar bibliotecas é encontrar, baixar e instalar essas bibliotecas você mesmo.
Para um exemplo do Github:
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306

Essas são as mesmas bibliotecas Adafruit, mas bibliotecas semelhantes são facilmente pesquisadas nos mecanismos de pesquisa, a pedido do OLED I2C. Muitos entusiastas escrevem bibliotecas "para si mesmos" e depois as colocam na web. Qual biblioteca usar depende de você.
Para que a exibição exiba letras russas, também são necessárias bibliotecas especiais, mas este é um tópico separado para um artigo separado.
Após a instalação das bibliotecas, você pode retornar à etapa 4 e finalmente descobrir o endereço hexadecimal da sua exibição.

Etapa 6: testando a tela


Para verificar se tudo está funcionando conforme o esperado, execute o exemplo de teste do ArduinoIDE.
Para fazer isso:
Vá em ARQUIVO> EXEMPLOS> SSD 1306> Selecione 128x64 i2c
Se você receber um "Erro", tente escolher o SSD 1306> 128x32 i2c.
Se Erro novamente, tente alterar o endereço I2C na linha 61 do código de demonstração e substitua-o pelo endereço do seu monitor, que você determinou na etapa # 4.
Se o erro ocorrer novamente, você pode tentar editar o arquivo Adafruit_SSD1306.h, ele está localizado na pasta com as bibliotecas do Arduino.
Como conectar o monitor OLED I2C ao ARDUINO

Abra o arquivo Adafruit_SSD1306.h em um editor de texto e encontre as linhas:
// # define SSD1306_128_64
#define SSD1306_128_32
// #define SSD1306_96_16 

Remova o comentário da linha:
#define SSD1306_128_64. 

Deve ser assim:
#define SSD1306_128_64
// # define SSD1306_128_32
// #define SSD1306_96_16

Se o erro ocorrer novamente, é necessário verificar a exatidão das conexões.
Após a conclusão do download, você verá uma animação de teste na tela, o que significa que você configurou com sucesso sua tela OLED.

Quando você apreciar esta animação, poderá prosseguir para a próxima etapa.

Etapa 7: Escrevendo sua própria mensagem


Para escrever sua própria mensagem, primeiro crie um novo esboço no ambiente de programação do ArduinoIDE.
No cabeçalho, conectamos 4 bibliotecas:
#include 
#include 
#include 
#include 

Em seguida, escrevemos o protocolo de redefinição:
#define OLED_RESET 4
Exibição Adafruit_SSD1306 (OLED_RESET);

Em VOID SETUP, especifique o endereço hexadecimal de nossa tela 0x3C, que descobrimos na "Etapa No. 4".
Em seguida, inicialize a exibição e limpe-a:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay ();

Em seguida, no VOID LOOP, escrevemos o código principal, ou seja, nossa mensagem, que queremos exibir no visor.
Para fazer isso, descrevemos o tamanho do texto, a cor do texto, a posição do cursor e, finalmente, exibimos uma mensagem usando o comando println:
display.setTextSize (2);
display.setTextColor (BRANCO);
display.setCursor (0,0);
display.println ("Muito bem!");
display.display ();

No final, não esqueça de escrever display.displaypara que a imagem seja exibida na tela, caso contrário, você será anulado.
Se você fez tudo corretamente, uma mensagem será exibida no visor.
Como conectar o monitor OLED I2C ao ARDUINO

Aqui está o CÓDIGO Starting_with_Arduino_OLED.ino do nosso programa:
[946 b] (downloads: 1100)
Voltar
Comentários (3)
  1. Tatoshka
    #1 Tatoshka Convidados 14 novembro 2018 21:18
    0
    Obrigado amigo! Este é meu primeiro esboço enviado e minha introdução ao Arduino. Sem contar o piscar de Blink))
  2. alisher
    #2 alisher Convidados 28 de julho de 2019 19:35
    0
    E onde baixar esse código do Finder_I2C_Hex_Address.ino?
    1. Al
      #3 Al Convidados 14 de agosto de 2019 12:51
      0
      abaixo da figura, há um link "Aqui está o código que começa com o arduino_OLED.ino do nosso programa:"

Leia também

Códigos de erro para máquinas de lavar