Share
Pin
Tweet
Send
Share
Send
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.
Em seguida, falaremos sobre um dos modelos amplamente disponíveis para radioamadores de monitores OLED controlados pelo chip SSD1306, com tela de 0,96 polegadas e resolução de 128 * 64 ou 128 * 32 pixels. Esses monitores são ideais para pequenos designs de rádio amador e produtos caseiros.
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 apenas de 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.
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.
Conclusões usadas:
Visor OLED - SCL / SCK (relógio) e SDA (dados), energia "Plus" (VCC) e energia "Menos" (GND).
Conclusões usadas:
Arduino UNO - SCL / SCK no A5 e SSD no A4, potência "Plus" (+ 5V) e potência "menos" (GND).
Conecte o monitor ao Arduino:
- Vcc - 5V
- GND - GND
- SDA - A4
- SCL - A5
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 por si 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 primeiro baixar 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.
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" / 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 isso 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, paradoxos de amigos.
Outra maneira de instalar bibliotecas é encontrar, baixar e instalar essas bibliotecas você mesmo.
Para um exemplo do Github:
//github.com/adafruit/Adafruit-GFX-Library
//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.
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 Adafruit_SSD1306 display (OLED_RESET);
Em VOID SETUP, especifique o endereço hexadecimal da tela 0x3C, que descobrimos na "Etapa nº 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.
Aqui está o CÓDIGO Starting_with_Arduino_OLED.ino do nosso programa:
code.zip 946 b (downloads: 1366)
Share
Pin
Tweet
Send
Share
Send