Sobre a Aula
Como já dito, o display OLED da BitDogLab, cujo nome é SSD1306, é um display cujos pixels têm dois estados possíveis: ligado (1) e desligado (0). Isso significa que ele pode mostrar apenas as cores preto e branco. Com uma resolução de 128 por 64 pixels, isso nos dá um retângulo de 8192 pixels no total para trabalhar!
Para controlar o display em MicroPython, precisamos conectar ele ao nosso software. Para isso, use o código abaixo:
from machine import Pin, SoftI2C
import ssd1306
i2c_oled = SoftI2C(scl=Pin(15), sda=Pin(14))
oled = ssd1306.SSD1306_I2C(128, 64, i2c_oled)
Depois de criar nosso objeto oled nós podemos controlar o display com diversas funções, dispostas abaixo:
# Preenche o display com a cor v (0 ou 1).
oled.fill(v)
# Manipular pixels individuais.
oled.pixel(x, y) # Lê o valor do pixel em (x, y).
oled.pixel(x, y, v) # Muda o pixel (x, y) para a cor v.
# Desenha linhas com a cor v.
oled.line(x0, y0, x1, y1, v) # Desenha linha dos pontos (x0, y0) a (x1, y1).
oled.hline(x, y, L, v) # Desenha uma linha horizontal de largura L em (x, y).
oled.vline(x, y, A, v) # Desenha uma linha vertical de altura A em (x, y).
# Desenha um retângulo de largura L e altura A na posição (x, y) e cor v.
oled.rect(L, A, x, y, v) # Só o contorno.
oled.fill_rect(L, A, x, y, v) # Retângulo preenchido.
# Desenha uma elipse em (x, y) com largura 2L e altura 2A e cor v.
oled.ellipse(x, y, L, A, c)
oled.ellipse(x, y, L, A, c, True) # Adicione o True para preencher o elipse!
# Escreva texto no display na posição (x, y) com a cor v.
oled.text("texto", x, y, v) # Use um texto curto!
# Use essa função para mostrar o que você desenhou!
oled.show()
Um exemplo de uso é escrever “Ola, Mundo!” no centro da tela. Use o código abaixo!
from machine import Pin, SoftI2C
import ssd1306
# Declaração das variáveis para controle do display OLED.
i2c = SoftI2C(scl=Pin(15), sda=Pin(14))
oled = ssd1306.SSD1306_I2C(128, 64, SoftI2C)
# Comandos do display.
oled.fill(0) # Primeiro, limpa o display.
oled.text("Ola, Mundo!", 20, 28) # Segundo, escreve "Ola, Mundo!" no centro do display.
oled.show() # Finalmente, atualiza o display.