from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
from time import sleep_ms
# Importações
i2c = I2C(0, scl=Pin(22), sda=Pin(21)) # Pinos display
botao = Pin(23, Pin.IN) # Pino SW
dt = Pin(27, Pin.IN) # Pino dt
clk = Pin(26, Pin.IN) # Pino clock
# Definição de Pinos
bAtual = bNovo = botao.value()
clkAtual = clkNovo = clk.value()
dtAtual = dtNovo = dt.value()
# Estados
# Configuração do Display
oled_width = 128
oled_height = 64
oled = SSD1306_I2C(oled_width, oled_height, i2c)
# Configuração do Display
volume = 0
# Variável que vai ser mostrada no display
oled.text('Hello, Wokwi', 0, 0)
oled.text('Hi, Mundo', 0, 10)
oled.show()
sleep_ms(2000)
oled.fill(0)
oled.text('Hello, Wokwi', 0, 10)
oled.text('Hi, Mundo', 0, 0)
oled.invert(1)
oled.show()
# Teste display
while True:
bnovo = botao.value()
if bNovo != bAtual:
if novo == 0:
print('botão foi pressionado')
else:
print('botão foi solto')
bAtual = bNovo
sleep_ms(100)
dtnovo = dt.value()
if dtnovo != dtAtual:
if dtnovo == 0:
print('andou')
if clk.value() == 0:
volume = volume + 1
print ('Para Frente')
oled.fill(0)
oled.fill(0)
oled.text(f'Volume: {volume}', 25, 25)
oled.show()
else:
volume = volume - 1
print ('Para Trás')
oled.fill(0)
oled.text(f'Volume: {volume}', 25, 25)
oled.show()
dtAtual = dtNovo
sleep_ms(100)
# e o botão? pq nao printa? o que mostrar quando aperto?
# mantenho os hello de teste?