In questo progetto, applicherai le competenze acquisite nel Progetto 4 per creare una luce stroboscopica con velocità regolabile.
Componenti necessari
- Scheda Arduino
- Breadboard
- Cavi jumper
- 2 LED blu
- 2 LED rossi
- Potenziometro da 50k ohm
- 4 resistenze da 220 ohm
Come funziona
Ruotando il potenziometro, puoi modificare la velocità di lampeggio dei LED, creando un effetto stroboscopico.
Se utilizzi LED rossi e blu, puoi simulare le luci di una macchina della polizia.
I LED dello stesso colore devono essere collegati allo stesso pin di Arduino, in modo che si accendano sempre insieme.
Se costruisci un contenitore per ospitare i LED, avrai la tua unità stroboscopica portatile.
Puoi anche aggiungere fino a 10 LED: basta aggiornare il codice per includere i nuovi pin di output e il nuovo numero di LED.
Costruzione del circuito
-
Collegare i LED alla breadboard:
- Inserisci i 4 LED nella breadboard con i pin corti (negativi) collegate a GND.
- Collega la massa di Arduino con un cavo jumper.
-
Aggiungere le resistenze:
- Inserisci una resistenza da 220 ohm per ogni LED.
- Collega una gamba della resistenza al pin positivo del LED.
- Usa cavi jumper per collegare insieme i due LED rossi e i due LED blu tramite le resistenze.
- Questo permette ai LED dello stesso colore di essere controllati da un unico pin di Arduino.
📌 Schema di collegamento dei LED:
LED Colore Pin Arduino LED 1 Rosso Pin 12 LED 2 Rosso Pin 12 LED 3 Blu Pin 11 LED 4 Blu Pin 11 -
Collegare il potenziometro:
- Inserisci il potenziometro nella breadboard.
- Collega il pin centrale del potenziometro al pin A0 di Arduino.
- Collega il pin sinistro a GND.
- Collega il pin destro a +5V.
-
Caricare il codice su Arduino:
- Assicurati che il circuito sia collegato come in Figura 4-3.
- Carica il codice seguente sulla scheda Arduino.
- Ruota il potenziometro per modificare la velocità dei lampeggi dei LED.
Il codice (Sketch)
Il codice legge il segnale analogico dal potenziometro, che viene utilizzato come valore di ritardo tra i lampeggi dei LED.
- Arduino legge il valore del potenziometro e lo converte in un ritardo compreso tra 10 e 500 ms.
- I LED si accendono e si spengono con il ritardo calcolato, creando l’effetto stroboscopico.
const int analogInPin = A0; // Pin analogico collegato al potenziometro
int sensorValue = 0; // Valore letto dal potenziometro
int timer = 0; // Valore di ritardo
// Imposta i pin digitali 12 e 11 come uscite
void setup() {
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
}
// Loop per accendere e spegnere i LED con un ritardo variabile
void loop() {
sensorValue = analogRead(analogInPin); // Legge il valore dal potenziometro
timer = map(sensorValue, 0, 1023, 10, 500); // Mappa il valore tra 10 e 500 ms
digitalWrite(12, HIGH); // Accende i LED rossi
delay(timer); // Attende il tempo impostato dal potenziometro
digitalWrite(12, LOW); // Spegne i LED rossi
delay(timer);
digitalWrite(12, HIGH);
delay(timer);
digitalWrite(12, LOW);
digitalWrite(11, HIGH); // Accende i LED blu
delay(timer);
digitalWrite(11, LOW); // Spegne i LED blu
delay(timer);
digitalWrite(11, HIGH);
delay(timer);
digitalWrite(11, LOW);
}
Come funziona il codice?
analogRead(analogInPin);
→ Legge il valore del potenziometro da 0 a 1023.map(sensorValue, 0, 1023, 10, 500);
→ Converte il valore in un ritardo compreso tra 10 e 500 ms.- I LED si accendono e si spengono in sequenza:
- I LED rossi si accendono, attendono il tempo impostato, poi si spengono.
- I LED blu si accendono dopo, attendono il tempo impostato, poi si spengono.
- L’effetto finale è un lampeggio alternato rosso-blu con velocità regolabile dal potenziometro.
Risultati e utilizzi
- Ruotando il potenziometro, puoi modificare la velocità dei lampeggi.
- Se usi LED rossi e blu, puoi simulare le luci di una sirena della polizia.
- Puoi costruire una luce stroboscopica per feste, un effetto luminoso per spettacoli o un indicatore di allarme visivo.