Video 2 - Arduino blink alternato di due LED
Secondo circuito: due LED, due resistenze, due pin digitali e logica alternata per consolidare breadboard e timing.
2. Di cosa parla questo video
In questo tutorial ti guiderò nella realizzazione di un progetto con Arduino attraverso l'ambiente di lavoro di Tinkercad, facciamo fare il blink di due LED in modo alternato per consolidare uso breadboard, gestione di più pin e coordinazione temporale.
Evolviamo il Video 1: non più un LED su pin 13, ma due LED su pin 8 e pin 9, ognuno con resistenza 220Ω dedicata. Cablaggio: pin 8 → 220Ω → anodo LED1 rosso → catodo → GND, pin 9 → 220Ω → anodo LED2 verde → catodo → GND, GND comune. Codice: const int led1 = 8; const int led2 = 9;, pinMode(led1, OUTPUT), pinMode(led2, OUTPUT), loop: digitalWrite(led1, HIGH); digitalWrite(led2, LOW); delay(500); digitalWrite(led1, LOW); digitalWrite(led2, HIGH); delay(500);. Effetto semaforo alternato, lampeggio 0.5s. Varianti: entrambi ON/OFF insieme, lampeggio veloce 200ms, effetto polizia con 100ms, uso variabili e funzioni.
Questo è il video dove si impara la breadboard davvero. Nel video al minuto 7 mostro l'errore che fa impazzire tutti: mettete due LED con una sola resistenza in comune. Così quando accendete entrambi, la corrente si divide e i LED sono deboli, e se uno si brucia l'altro prende tutta la corrente. Ogni LED vuole la sua resistenza 220Ω dedicata. Al minuto 12 mostro il trucco: usate colori diversi per i cavi, rosso per LED1 e verde per LED2, così non confondete pin 8 e 9. E al minuto 16 mostro perché costanti const int led1 = 8 rendono il codice leggibile e se cambiate pin cambiate solo una riga.
3. Obiettivi di apprendimento
- ✅ Consolidiamo le competenze sui componenti (2 LED, 2 resistenze)
- ✅ Consolidiamo le competenze nell'uso della breadboard (2 righe, GND comune)
- ✅ Creazione e simulazione del tuo secondo circuito Arduino con logica alternata
Alla fine saprai cablare due LED indipendenti su breadboard con resistenze dedicate, usare due pin digitali 8 e 9, scrivere codice con const int per pin, coordinare accensione alternata con digitalWrite HIGH/LOW opposti e delay, creare effetti diversi modificando timing, e usare Serial Monitor per debug stato LED1 e LED2. Base per Video 3 con pulsante.
4. Perché due LED - Dal singolo al controllo multiplo
Un LED è banale, due LED insegnano controllo multiplo:
| 1 LED (Video 1) | 2 LED alternati (questo video) |
|---|---|
| 1 pin, 1 resistenza, 1 LED | 2 pin, 2 resistenze, 2 LED → gestione multipla |
| Logica ON/OFF singolo | Logica alternata, sincrona, opposta |
| No costanti necessarie | const int led1, led2 per codice pulito |
| Breadboard 1 riga | Breadboard 2 righe + GND comune |
| 1 digitalWrite per stato | 2 digitalWrite coordinati per effetto |
| Blink semplice | Effetto semaforo, polizia, alternato |
Se vi chiedono "Perché ogni LED vuole resistenza dedicata?", rispondete: "Ogni LED ha Vf 2V e If 20mA, resistenza 220Ω limita a 13mA. Se condivido una resistenza da 220Ω tra 2 LED in parallelo, corrente totale 26mA su una resistenza, se un LED si spegne l'altro prende 26mA e si brucia. Inoltre luminosità diversa per tolleranze. Ogni LED = sua resistenza dedicata su sua riga breadboard, GND comune ok". Risposta da elettronico.
5. Concetti chiave - Due pin, due resistenze, alternanza
Cuore del video, minuto 5-13:
6. Lab in Tinkercad - Circuito alternato
Nel video (minuto 3-16):
- Setup: Duplica circuito Video 1 o nuovo "Video2 2 LED alternati" → Arduino Uno + breadboard + 2 LED (rosso verde) + 2 resistenze 220Ω
- Cablaggio: Arduino GND → cavo nero → bus GND breadboard (blu). Pin 8 → cavo verde → row 10 → resistenza 220Ω → row 11 → anodo LED1 rosso → catodo → row 12 → cavo nero → bus GND. Pin 9 → cavo giallo → row 20 → resistenza 220Ω → row 21 → anodo LED2 verde → catodo → row 22 → cavo nero → bus GND. Colori diversi per distinguere
- Codice: Code → Text → const int led1 = 8, led2 = 9, setup pinMode entrambi OUTPUT, loop alternato HIGH LOW con delay 500ms, aggiungi Serial per debug
- Simulazione: Start → LED1 rosso ON 0.5s, poi LED2 verde ON 0.5s, alternato infinito → Stop → modifica delay 200ms → Start → effetto veloce
- Varianti: Entrambi ON/OFF insieme (HIGH HIGH delay LOW LOW), 3 LED in sequenza (aggiungi pin 10), effetto KITT con 100ms, funzione blinkAlternato()
GND comune: collega Arduino GND a bus blu breadboard, poi tutti i catodi a bus GND con cavi neri. Ogni LED ha sua resistenza 220Ω dedicata su sua riga. Colori cavi: verde pin 8 LED1, giallo pin 9 LED2, nero GND. Const int per pin rende codice modificabile. Start Simulation, LED alternati 0.5s. Nel video al minuto 14 mostro schema pulito con cavi colorati e resistenze dritte.
7. Errori comuni da evitare
- Unica resistenza condivisa: 2 LED anodi insieme a unica 220Ω → corrente divisa, luminosità diversa, se uno brucia altro sovracorrente. Ogni LED = sua 220Ω dedicata.
- GND non comune: catodo LED1 a GND ma LED2 catodo non collegato → LED2 spento, circuito aperto. Entrambi catodi a bus GND comune → Arduino GND.
- PinMode dimenticato per secondo LED: pinMode(led1, OUTPUT) ma non led2 → led2 resta INPUT, luce debole o spenta. Sempre pinMode per entrambi in setup.
- DigitalWrite invertito: entrambi HIGH o entrambi LOW invece di alternato → entrambi accesi o spenti, non alternato. Alternato = HIGH LOW poi LOW HIGH.
- Delay dimenticato tra stati: digitalWrite HIGH LOW subito LOW HIGH senza delay → LED lampeggiano troppo veloci invisibili. Sempre delay tra cambi stato.
- Righe breadboard scollegate: resistenza row 10 e anodo LED row 11 su righe non collegate → LED spento. Resistenza e anodo stessa riga breadboard (collegamento orizzontale interno).
- LED stesso colore confusione: 2 LED rossi identici → non capisci quale è ON. Usa rosso e verde per distinguere LED1 e LED2.
2 LED in parallelo con una sola resistenza 220Ω senza calcolare corrente. Sintomo: su Arduino reale LED1 più luminoso di LED2, uno sfarfalla, poi uno si brucia e l'altro prende 26mA e si brucia dopo, pin 8/9 surriscaldati. Soluzione: 2 resistenze dedicate 220Ω, una per LED, calcolo (5V-2V)/220Ω=13mA per LED sicuro. Cablaggio: pin 8 → 220Ω → LED1 → GND, pin 9 → 220Ω → LED2 → GND, GND comune. Nel video al minuto 7 mostro LED bruciati con resistenza condivisa.
8. Approfondimento: timing e variabili
Da 1 LED a 2 LED introduciamo variabili e funzioni:
| Concetto | Video 1 | Video 2 (questo) |
|---|---|---|
| Pin | 13 fisso | const int led1=8, led2=9 modificabile |
| Timing | delay(1000) fisso | delay variabile 100-1000 per effetti |
| Logica | ON/OFF singolo | Alternata, sincrona, funzioni |
| Breadboard | 1 riga | 2 righe + bus GND comune |
| Debug | Serial opzionale | Serial per stato LED1/LED2 |
| Prossimo | - | Video 3 pulsante → input digitale |
Prossimo video: Pulsante che attiva un LED - primo input digitale.
📚 Compito per casa
Crea su Tinkercad circuito Video 2: Arduino Uno, breadboard, 2 LED (rosso pin 8, verde pin 9), 2 resistenze 220Ω dedicate. Cablaggio: Arduino GND → bus GND breadboard, pin 8 → 220Ω → anodo LED1 rosso → catodo → bus GND, pin 9 → 220Ω → anodo LED2 verde → catodo → bus GND, cavi verde pin 8 e giallo pin 9 per distinguere. Codice con const int led1=8 led2=9, pinMode OUTPUT in setup, loop alternato HIGH LOW delay 500 LOW HIGH delay 500, Serial.println stato. Simula alternato 0.5s. Prova varianti: entrambi ON/OFF insieme delay 500, delay 100ms effetto polizia, aggiungi terzo LED blu pin 10 sequenza 8→9→10. Screenshot LED1 ON LED2 OFF + codice. Mandamelo prima del Video 3 pulsante.