#149Principiante

Raspberry Pi Pico Due LED alternati (Flip-Flop, GP14 + GP13)

Il passo successivo dopo il LED singolo sul Pico: due LED lampeggiano alternativamente in un pattern flip-flop classico. Due LED di colori diversi (rosso su GP14, verde su GP13) scambiano stati ogni 500ms. `Pin.toggle()` di MicroPython rende il codice breve. Base di semafori, lampeggianti.

5.0(1)
17 completato
Raspberry Pi Pico Due LED alternati (Flip-Flop, GP14 + GP13)
Due LED lampeggiano a turno: quando uno si accende l'altro si spegne, proprio come le luci di un passaggio a livello. Il Raspberry Pi Pico scambia il LED rosso e quello verde ogni mezzo secondo. È il primo passo per comandare più luci insieme, e progetti come il lampeggiante della polizia o il semaforo nascono proprio da qui.

Video

Schema circuito

Raspberry Pi Pico Due LED alternati (Flip-Flop, GP14 + GP13) - Circuit

Codice sorgente

MicroPython
1# ─────────────────────────────────────────
2#   BlueGrays · bluegrays.com
3#   Raspberry Pi Pico Due LED alternati (Flip-Flop, GP14 + GP13)
4# ─────────────────────────────────────────
5# Due LED lampeggiano alternati ogni 0.5 s (flip-flop): uno è acceso
6# mentre l'altro è spento. Pin.toggle() mantiene il codice corto.
7#
8# Pin:
9#   GP14 -> LED rosso (con una resistenza da 220 ohm)
10#   GP13 -> LED verde (con una resistenza da 220 ohm)
11#   LED katotlari -> Catodi dei LED -> GND
12
13from machine import Pin
14from time import sleep
15
16# ============ PIN / PIN ============
17led1 = Pin(14, Pin.OUT)         # LED rosso
18led2 = Pin(13, Pin.OUT)         # LED verde
19
20# ============ INIZIALIZZAZIONE ============
21# Partire con stati opposti
22led1.value(1)
23led2.value(0)
24
25print("== BlueGrays: 2 LED Alternatif ==")
26print("LED1 (Kirmizi): GP14  |  LED2 (Yesil): GP13")
27
28# ============ CICLO PRINCIPALE ============
29while True:
30    # Commutare entrambi i LED
31    led1.toggle()
32    led2.toggle()
33    sleep(0.5)                  # Ritardo di 500 ms
34

FAQ

Cosa fa il metodo `toggle()`?▾

Pinin inverte lo stato attuale: se è acceso, lo spegne; se è spento, lo accende. Se inizialmente uno è impostato su acceso e l'altro su spento, i due LED si scambiano di posto ad ogni commutazione.

Come faccio a modificare la velocità di lampeggiamento?▾

Modifica il valore di `sleep(0.5)` alla fine del codice; `sleep(0.2)` produce transizioni più rapide e `sleep(1)` più lente. Se vuoi usare `sleep_ms()`, aggiungi anche `from time import sleep_ms`.

Cosa devo fare se all'inizio i due LED si accendono contemporaneamente?▾

Prima del ciclo, avvia un LED con on() e l'altro con off(). Altrimenti, entrambi partiranno nello stesso stato e lampeggeranno insieme con il comando toggle.

Posso provare questo progetto su Wokwi?▾

Sì, Wokwi supporta il Raspberry Pi Pico e MicroPython. Puoi aggiungere i componenti e collegarli agli stessi pin per testare il codice senza bisogno di hardware reale.

Raspberry Pi Pico 2 LED alternati (MicroPython) | BlueGrays