Arduino Nano é uma pequena placa de microcontrolador que usa o ATMEGA328P para processar instruções. É semelhante ao Arduino Uno, mas é muito menor em tamanho e tem um preço mais baixo. Arduino Nano é frequentemente usado em projetos em que o espaço é uma restrição, como em eletrônicos vestíveis ou robótica em pequena escala. O Arduino Nano pode ser usado para controlar a tela OLED e processar dados do sensor. Este artigo abordará a interface de uma tela OLED com Arduino Nano.
Esta lição inclui os seguintes tópicos:
1: Introdução à tela OLED
Uma tela OLED I2C é uma tela de diodo emissora de luz orgânica que usa o protocolo de circuito interegrado (I2C) para comunicação. As telas OLED têm alta taxa de contraste e maior ângulo de visualização, o que as torna adequadas para uma variedade de aplicativos de exibição.
Uma tela OLED I2C normalmente consiste em uma pequena tela OLED e um circuito de motorista que converte os sinais I2C nas tensões e correntes apropriadas necessárias para acionar os pixels OLED.
LEDs dentro da tela OLED iluminam os pixels que nos exibem diferentes imagens e texto. Enquanto do outro lado, a tela LCD usa uma luz de fundo para iluminar seus pixels. Esses pixels brilho podem ser controlados separadamente.
Agora vamos interface o Arduino Nano com uma tela OLED.
2: Módulo de tela OLED de fiação para Arduino Nano
As telas OLED funcionam principalmente em dois protocolos de comunicação. Estes são i2c e spi. Entre esses dois SPI (interface periférica em série) é mais rápida em comparação com o I2C, mas na maioria das vezes a tela OLED I2C é preferida devido a um número menor de fios.
O I2C é um protocolo de comunicação serial de dois fios que permite que vários dispositivos compartilhem um único conjunto de dados e linhas de relógio, tornando-o uma opção conveniente para conectar displays OLED a microcontroladores e outros dispositivos
Usando I2C OLED Two Pins SDA e SCL são suficientes para exibir imagens e texto. A imagem dada mostra Arduino Nano com 0.Tela OLED de 96 polegadas (128 × 64 pixels).
Abaixo está a tabela de conexão do pino:
Como interfiguramos o Arduino Nano com uma tela OLED, agora instalaremos as bibliotecas necessárias no Arduino IDE para que possamos avançar com formas exibidas na tela OLED.
3: Instalando as bibliotecas necessárias
Para exibir imagens, precisamos instalar as bibliotecas necessárias para tela OLED no Arduino IDE. Sem usar essas bibliotecas, o Arduino Nano não pode exibir gráficos no OLED.
Principalmente duas bibliotecas da Adafruit são usadas: Biblioteca SSD1306 e GFX.
Open Arduino Integrated Environment (IDE) e pesquise na biblioteca SSD1306. Instale a biblioteca Adafruit SSD1306.
Outra maneira de instalar vai: Sketch> Incluir biblioteca> Gerenciar bibliotecas:
Agora instale o GFX Biblioteca por Adafruit:
Como instalamos as duas bibliotecas, agora podemos programar facilmente o Arduino Nano com uma tela OLED.
4: Verifique o endereço I2C da tela OLED
I2C, ou circuito inter-integrado, é um protocolo de comunicação que permite que vários dispositivos sejam conectados e se comuniquem entre si em uma interface de dois fios. Cada dispositivo I2C deve ter um endereço exclusivo, variando de 0 a 127, para garantir que ele possa ser identificado e comunicado na linha I2C. Vários dispositivos com o mesmo endereço I2C não podem usar o mesmo barramento i2c.
Conecte a tela OLED com Arduino Nano e depois de selecionar a placa e porta no Arduino IDE Faça o upload do código abaixo dado ao Nano Board para verificar o endereço i2C da tela OLED.
#include /*inclua fio.biblioteca h para tela OLED*/
configuração void ()
Arame.começar(); /*I2C Comunicação com OLED Starts*/
Serial.começar (9600); /*Taxa de transmissão definida para comunicação serial*/
enquanto (!Serial); /*Aguarde a saída serial*/
Serial.println ("\ ni2c scanner");
Void Loop ()
byte err, ADR; /*O erro variável é definido com o endereço de i2c*/
int number_of_devices;
Serial.println ("Scanning.");
número_of_devices = 0;
para (ADR = 1; ADR < 127; adr++)
Arame.BEGNTRANSMISSÃO (ADR);
err = fio.ENDTRANSMISSÃO ();
if (err == 0)
Serial.print ("dispositivo i2c no endereço 0x");
if (adr < 16)
Serial.print ("0");
Serial.impressão (ADR, hexadecimal);
Serial.println (" !");
número_of_devices ++;
caso contrário, se (err == 4)
Serial.print ("Erro desconhecido no endereço 0x");
if (adr < 16)
Serial.print ("0");
Serial.println (ADR, Hex);
if (number_of_devices == 0)
Serial.println ("Não I2C Dispositivos anexados \ n");
outro
Serial.println ("feito \ n");
atraso (5000); /*Aguarde 5 segundos para a próxima varredura i2c*/
Após o upload do código para Arduino Nano após a saída mencionada, aparecerá no monitor serial. Nosso OLED está conectado no endereço 0x3c.
O 0x3C I2C Endereço será usado no código de nano Arduino para interface OLED Displays.
5: Exemplo de Arduino IDE de exibição OLED
Depois que as bibliotecas de exibição OLED são instaladas no Arduino IDE, podemos ver algum código de exemplo pré -escrito no IDE. Para testar o Arduino Nano Interfacing, enviaremos um código de exemplo SSD1306 no Arduino Nano.
Vá para: Arquivo> Exemplos> Adafruit SSD1306> SSD1306_128X64_I2C
Observação: Lembre -se de selecionar o tamanho correto e o protocolo de comunicação ao abrir o código de exemplo. Aqui no nosso caso, estamos usando o i2c OLED com tamanho 128x64.
1: código
Uma nova janela do IDE será aberta onde podemos ver o código de exemplo do Adafruit OLED. Este código exibirá padrões diferentes em OLED como estrelas, círculos, texto de rolagem e texto animado.
Observação: Lembre -se de atualizar o endereço I2C com sua própria tela.
2: saída
Depois de fazer upload de código para o Arduino Nano, podemos ver diferentes padrões na tela OLED:
Agora, interfiguramos com sucesso a tela OLED com Arduino Nano usando o código da biblioteca pré -escrita. Agora exibiremos algum texto em uma tela OLED usando Arduino Nano.
6: Impressão de texto estático na tela OLED usando Arduino Nano
A biblioteca Adafruit GFX nos permite exibir texto em uma tela OLED. Agora vamos escrever um código simples para exibir texto no OLED.
1: código
Abra o Arduino IDE e Carregue o código para o Arduino Nano Board:
#incluir
#incluir
#incluir
#Define screen_width 128 /*128 Largura de OLED em pixels* /
#define screen_height 64 /*64 altura de OLED em pixels* /
Adafruit_ssd1306 Display (Screen_width, Screen_Height, & Wire, -1); /*OLED Display conectado nos pinos I2C (SDA, SCL)*/
Void Setup ()
Serial.começar (115200); / *Baud Taxa de comunicação UART */
se(!mostrar.BEGIN (SSD1306_SWITCHCAPVCC, 0x3C)) /*i2c Endereço no qual OLED se comunicará* /
Serial.println (f ("alocação SSD1306 falhou"));
para(;;);
Atraso (2000);
mostrar.clearDisplay (); /*Exibição clara*/
mostrar.setTextsize (2); /*Tamanho do texto da tela OLED definido*/
mostrar.setTextColor (branco); /*Texto da tela OLED Cor*/
mostrar.setCursor (0, 10); /*Exibir texto estático*/
mostrar.println ("linuxhint.com "); /*string para representar na tela OLED* /
mostrar.mostrar();
Void Loop ()
No início do código primeiro, importamos as duas bibliotecas que incluem Wire and Adafruit Library. O fio.A biblioteca H permite usar o protocolo de comunicação i2C, enquanto a segunda biblioteca Adafruit ajuda a exibir o texto em uma tela OLED.
O próximo no código é definido abaixo da função de exibição:
Adafruit_ssd1306 Display (Screen_width, Screen_Height, & Wire, -1);Os comandos de exibição da Adafruit levam 4 parâmetros que incluem o Screen_width e screen_height variáveis. Essas duas variáveis levarão o tamanho da tela OLED. Estamos usando um OLED com tamanho 128x64. E o terceiro parâmetro é &Arame.
O último parâmetro é -1 o que indica que a tela OLED não possui botão de redefinição externa. Se tivermos uma tela OLED com um botão de redefinição, passaremos este parâmetro para o pino GPIO. Se o botão de redefinição for pressionado, o OLED exibirá texto.
Próximo endereço I2C (0x3c) é definido que temos usando o Arduino i2C Código do scanner.
Por fim, a string que deve ser exibida na tela OLED é definida junto com o tamanho e a cor da fonte.
Agora vamos observar a saída na tela OLED.
2: saída
Na saída, podemos ver uma string “Linuxhint.com”É exibido em uma tela OLED com um tamanho de fonte de 2.
Concluímos o I2C OLED Display Interfacing com o Arduino Nano Board.
Conclusão
I2C OLED (Diodo emissor de luz orgânico) é um tipo de tela OLED que se comunica com um microcontrolador ou outro dispositivo usando o protocolo I2C. Este artigo abordou o código para interface o Arduino Nano com o I2C OLED Display usando o Arduino IDE. Usando o método fornecido, qualquer tela OLED pode ser interface com o Arduino Nano Board.