from machine import Pin #Importa as classes ADC e Pin da biblioteca machine
from time import sleep_ms #Importa a função sleep da biblioteca time
a = Pin(17, Pin.OUT) #Define a como saída, no pino GPIO17
b = Pin(16, Pin.OUT) #Define b como saída, no pino GPIO16
c = Pin(15, Pin.OUT) #Define c como saída, no pino GPIO15
d = Pin(14, Pin.OUT) #Define d como saída, no pino GPIO14
e = Pin(13, Pin.OUT) #Define e como saída, no pino GPIO13
f = Pin(12, Pin.OUT) #Define f como saída, no pino GPIO12
g = Pin(11, Pin.OUT) #Define g como saída, no pino GPIO11
botao1 = Pin(19, Pin.IN) #Define botao1 como entrada, no pino GPIO18
botao2 = Pin(18, Pin.IN) #Define a botao2 entrada, no pino GPIO19
botao1_atual = 0 #Leitura do botão +
botao2_atual = 0 #Leitura do botão -
botao1_anterior = 0 #Última leitura do botão +
botao2_anterior = 0 #Última leitura do botão -
contador = 0 #Correspondente ao contador
def zero():
a.value(1)
b.value(1)
c.value(1)
d.value(1)
e.value(1)
f.value(1)
g.value(0)
def um():
a.value(0)
b.value(1)
c.value(1)
d.value(0)
e.value(0)
f.value(0)
g.value(0)
def dois():
a.value(1)
b.value(1)
c.value(0)
d.value(1)
e.value(1)
f.value(0)
g.value(1)
def tres():
a.value(1)
b.value(1)
c.value(1)
d.value(1)
e.value(0)
f.value(0)
g.value(1)
def quatro():
a.value(0)
b.value(1)
c.value(1)
d.value(0)
e.value(0)
f.value(1)
g.value(1)
def cinco():
a.value(1)
b.value(0)
c.value(1)
d.value(1)
e.value(0)
f.value(1)
g.value(1)
def seis():
a.value(1)
b.value(0)
c.value(1)
d.value(1)
e.value(1)
f.value(1)
g.value(1)
def sete():
a.value(1)
b.value(1)
c.value(1)
d.value(0)
e.value(0)
f.value(0)
g.value(0)
def oito():
a.value(1)
b.value(1)
c.value(1)
d.value(1)
e.value(1)
f.value(1)
g.value(1)
def nove():
a.value(1)
b.value(1)
c.value(1)
d.value(1)
e.value(0)
f.value(1)
g.value(1)
while True: #Loop infinito
#Guarda o valor atual do botão nas variáveis
botao1_atual = botao1.value()
botao2_atual = botao2.value()
#Se o valor anterior lido do botão1 for 0 e o valor atual for 1, some 1 ao contador
if botao1_anterior == 0 and botao1_atual == 1:
contador = contador + 1 #some 1 ao contador
#Se o contador for maior que 9
if contador > 9:
contador = 0 #mude o contador para 0
#Mostre na tela o valor atual do contador
print(contador)
sleep_ms(100)
#Atribui a botao1_atual o conteúdo de botao1_anterior
botao1_anterior = botao1_atual
#Se o valor anterior lido do botão2 for 0 e o valor atual for 1
if botao2_anterior == 0 and botao2_atual == 1:
contador = contador - 1 #diminua 1 ao contador
#Se o contador for menor que 0,
if contador < 0:
contador = 9 #mude o contador para 9
#Mostre na tela o valor atual do contador
print(contador)
sleep_ms(100)
#Atribui a botao2_atual o conteúdo de botao2_anterior
botao2_anterior = botao2_atual
#Verificações do valor da variável contador
if contador == 0:
zero()
elif contador == 1:
um()
elif contador == 2:
dois()
elif contador == 3:
tres()
elif contador == 4:
quatro()
elif contador == 5:
cinco()
elif contador == 6:
seis()
elif contador == 7:
sete()
elif contador == 8:
oito()
elif contador == 9:
nove()
sleep_ms(100)