'''
///////////////////////////////////////////////////////////////////////////
// Programa desenvolvido por Cristiano Teixeira //
// Sob Licença Apache 2.0 //
// https://github.com/ProfessorCristiano //
///////////////////////////////////////////////////////////////////////////
'''
from machine import Pin, PWM
import time
import sys
import select
# Configura os pinos dos LEDs
led_vermelho = PWM(Pin(15), freq=5000, duty=0)
led_verde = PWM(Pin(16), freq=5000, duty=0)
led_azul = PWM(Pin(17), freq=5000, duty=0)
def acender_led(cor):
if cor.lower() == "vermelho":
print("Vermelho aceso")
led_vermelho.duty(1023) # Acende o LED vermelho
led_verde.duty(0) # Apaga o LED verde
led_azul.duty(0) # Apaga o LED azul
elif cor.lower() == "verde":
print("Verde aceso")
led_vermelho.duty(0) # Apaga o LED vermelho
led_verde.duty(1023) # Acende o LED verde
led_azul.duty(0) # Apaga o LED azul
elif cor.lower() == "azul":
print("Azul aceso")
led_vermelho.duty(0) # Apaga o LED vermelho
led_verde.duty(0) # Apaga o LED verde
led_azul.duty(1023) # Acende o LED azul
elif cor.lower() == "amarelo":
print("Amarelo aceso")
led_vermelho.duty(1023) # Apaga o LED vermelho
led_verde.duty(1023) # Apaga o LED verde
led_azul.duty(0) # Acende o LED azul
else:
print("Entrada inválida. Digite 'vermelho', 'verde' ou 'azul'.")
def main():
while True:
if sys.stdin in select.select([sys.stdin], [], [], 0)[0]:
cor = sys.stdin.readline().strip() # Lê a string da entrada via serial
elif sys.stdin in select.select([sys.stdin], [], [], 0)[0]:
cor = sys.stdin.readline().strip() # Lê a string da entrada via terminal
else:
cor = input("Digite 'vermelho', 'verde' ou 'azul' para acender a cor correspondente: ")
acender_led(cor)
time.sleep(1)
main()