Simulare una fiamma con un LED usando una scheda Digispark (Attiny85)

Dopo le prove con l’emulatore proviamo a realizzare un circuito reale che simula la fiamma di una candela o di un fuoco.

La scheda Digispark

La Digispark è una minuscola scheda di sviluppo che però consente di utilizzare tutti i 6 pin di ingresso/uscita dell’Attiny85. Il circuito stampato è sagomato come un connettore USB in modo da poterlo collegare direttamente senza bisogno di cavi aggiuntivi.

Si programma agevolmente tramite l’IDE di Arduino con alcune librerie che ne modificano il comportamento predefinito. {magari vediamo i dettagli in un altro post}.

Il circuito

Lo schema è molto semplice, partendo dal pin 0 colleghiamo una resistenza da 220 Ohm e un LED, con l’anodo collegato alla resistenza e il catodo a massa.

Il programma

 #define PIN 0

void setup()
{
pinMode(PIN, OUTPUT);
}

void loop()
{
analogWrite(PIN, random(100, 256));
delay(random(0, 250));
}

Il programma è molto semplice ed utilizza il generatore di numeri casuali per determinare l’intensità della luminosità del LED:

analogWrite(PIN, random(100, 256));

e per determinare il tempo di attesa prima di cambiare luminosità:

delay(random(0, 250));

Il risultato finale

In questo esempio ho usato un solo controllo PWM, che tramite la funzione AnalogWrite() permette di regolare la luminosità del LED, ma l’Attiny85 ne ha tre quindi si potrebbero aggiungere altri due LED controllati in maniera analoga ma ciascuno indipendente dall’altro {anche il funzionamento del controllo PWM eventualmente lo approfondiamo in un altro post}.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *