from machine import Pin, ADC
from neopixel import NeoPixel
from time import sleep_ms
from mensagem import mensagem
from tempo import intervalo
# Importações
pot = ADC(Pin(33), atten=ADC.ATTN_11DB) # Atenuação
led = NeoPixel(Pin(23,Pin.OUT),10) # Número de leds
botao = Pin(25, Pin.IN, Pin.PULL_DOWN)
# Variáveis
atual = novo = botao.value() # Cópia o valor do botão nas variáveis, que são diferentes, mas representam o mesmo botão
while True:
novo = botao.value() # Atualiza o valor do botão na variável novo
if novo != atual: # Algo aconteceu, mudou os valores e são diferentes
if novo == 1: # Realiza a ação somente para quando o botão for pressionado
m = input("Qual a mensagem desejada?") # Pergunta qual a mensage desejada
letras = mensagem(m) # Armazena na variável letras o resultado da função
print (letras)
for l in letras: # Para cada caractere obtido
binario = bin(l) # Transforme em binário
bits = binario[2:] # Tira o "0b", deixando apenas os números binários
bbs = "".join(reversed(bits)) # Lê do LSB para o MSB
print(bbs)
i = 0
for b in bbs: # Para cada binário obtido
if b == "1": # Se for igual a 1
led [i] = (225,192,203) # Acende os leds correspondentes em rosa
else: # Caso contrário
led [i] = (0,0,0) # Deixa apagado
i +=1
led.write() # Atualiza os leds
p = intervalo(pot.read_u16()) # Define a pausa
sleep_ms(p) # Executa a pausa
atual = novo # Atualiza o estado do botão
sleep_ms(100) # Pausa para estabilizar