"""Haga una aplicación con la Raspberry Pi-Pico que tenga 2 pushButton
y 2 circuitos: Uno en serie de 4 Leds y otro en paralelo de 4 Leds.
Un pushbutton encenderá y apagará el circuito en serie y
el otro hará lo mismo con el paralelo.
En un monitor Oled se indicará que circuito está encendido."""
from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
import time
# Configuración de pines
button_serial_pin = Pin(15, Pin.IN, Pin.PULL_UP)
button_parallel_pin = Pin(13, Pin.IN, Pin.PULL_UP)
# Pin GPIO para ambos circuitos de LEDs
led_serial_pin = Pin(28, Pin.OUT) # Pines GPIO 2-5 compartido
led_parallel_pin = Pin(27, Pin.OUT) # Pines GPIO 6-9 compartido
# Configuración del monitor OLED
i2c = I2C(0, sda=Pin(9), scl=Pin(10))
oled = SSD1306_I2C(128, 64, i2c)
# Estado inicial
serial_circuit_on = False
parallel_circuit_on = False
def update_oled():
oled.fill(0)
oled.text("Circuitos:", 0, 0)
oled.text("Serial: {}".format("Encendido" if serial_circuit_on else "Apagado"), 0, 20)
oled.text("Paralelo: {}".format("Encendido" if parallel_circuit_on else "Apagado"), 0, 40)
oled.show()
while True:
# Verificar estado del botón de circuito en serie
if not button_serial_pin.value():
serial_circuit_on = not serial_circuit_on
led_serial_pin.value(serial_circuit_on)
update_oled()
time.sleep(0.2) # Debounce
# Verificar estado del botón de circuito en paralelo
if not button_parallel_pin.value():
parallel_circuit_on = not parallel_circuit_on
led_parallel_pin.value(parallel_circuit_on)
update_oled()
time.sleep(0.2) # Debounce
time.sleep(0.1)