Nota
Ciao, benvenuto nella Community Facebook di SunFounder dedicata agli appassionati di Raspberry Pi, Arduino ed ESP32! Approfondisci il mondo di Raspberry Pi, Arduino ed ESP32 insieme ad altri maker come te.
Perché unirsi?
Supporto Esperto: Risolvi problemi post-vendita e sfide tecniche grazie all’aiuto della nostra community e del nostro team.
Impara e Condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.
Anteprime Esclusive: Ottieni l’accesso anticipato agli annunci dei nuovi prodotti e alle anteprime.
Sconti Speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni e Giveaway Festivi: Partecipa a concorsi e promozioni durante le festività.
👉 Pronto a esplorare e creare con noi? Clicca su [qui] e unisciti oggi stesso!
Lezione 29: Modulo Semaforo LED
In questa lezione imparerai a utilizzare Arduino per controllare un mini semaforo a LED. Vedremo come programmare Arduino Uno per alternare i LED verde, giallo e rosso, simulando il funzionamento di un vero semaforo. Questo progetto è ideale per i principianti, poiché offre un’esperienza pratica nella programmazione di sequenze luminose e nel controllo dei tempi.
Componenti Necessari
Per questo progetto sono richiesti i seguenti componenti.
È sicuramente comodo acquistare un kit completo. Ecco il link:
Nome |
COMPONENTI NEL KIT |
LINK |
---|---|---|
Universal Maker Sensor Kit |
94 |
Puoi anche acquistare i componenti separatamente dai link seguenti.
Descrizione del Componente |
Link Acquisto |
---|---|
Arduino UNO R3 o R4 |
|
Arduino UNO R3 o R4
Collegamenti

Codice
Analisi del Codice
Prima di ogni operazione, definiamo delle costanti per i pin a cui sono collegati i LED. Questo rende il codice più leggibile e facile da modificare.
const int rledPin = 9; // rosso const int yledPin = 8; // giallo const int gledPin = 7; // verde
Qui specifichiamo le modalità dei pin LED. Tutti sono impostati su
OUTPUT
perché devono inviare tensione.
void setup() { pinMode(rledPin, OUTPUT); pinMode(yledPin, OUTPUT); pinMode(gledPin, OUTPUT); }
Qui viene implementata la logica del ciclo semaforico. La sequenza delle operazioni è la seguente:
Accende il LED verde per 5 secondi.
Fa lampeggiare il LED giallo tre volte (ogni lampeggio dura 0,5 secondi).
Accende il LED rosso per 5 secondi.
void loop() { digitalWrite(gledPin, HIGH); delay(5000); digitalWrite(gledPin, LOW); digitalWrite(yledPin, HIGH); delay(500); digitalWrite(yledPin, LOW); delay(500); digitalWrite(yledPin, HIGH); delay(500); digitalWrite(yledPin, LOW); delay(500); digitalWrite(yledPin, HIGH); delay(500); digitalWrite(yledPin, LOW); delay(500); digitalWrite(rledPin, HIGH); delay(5000); digitalWrite(rledPin, LOW); }