mathlover24
Genius
1 min
Vota 4 / 5

Concetti Chiave

  • Il progetto simula un LED che "rimbalza" come una palla, accendendosi e spegnendosi a intervalli sempre più rapidi.
  • Il tempo di accensione e spegnimento inizia a 1 secondo e diminuisce gradualmente fino a 50 millisecondi.
  • La variabile 'val' controlla il ritardo tra gli stati del LED, partendo da 1000 e diminuendo di 50 in ogni ciclo.
  • Il circuito è realizzato con Tinkercad, collegando correttamente LED e resistenza alla scheda Arduino.
  • Il LED è collegato alla porta 13 di Arduino, e il codice utilizza un ciclo WHILE per gestire il ritardo in modo continuo.

Arduino - LED Rimbalzante

Oggi faremo un circuito con Arduino che rappresenti un led "rimbalzante".
Hai presente quando rimbalza una palla?
Supponiamo di lanciarla dall'alto, rimbalza prima piano, poi sempre più veloce fino a rimbalzare velocissimo!
In questo caso riprodurremo tale fenomeno su un LED, partiremo da un tempo di accensione-spegnimento pari a 1 secondo fino a diminuire e arrivare a 50 millisecondi!
Per fare ciò nomineremo una variabile chiamata val, che parte da 1000.
Ogni volta, val diminuirà di 50, facendo sì che all'inizio il ritardo accensione - spegnimento sia pari a 1000 millisecondi, successivamente 950, 900... e così via, servendoci naturalmente del ciclo WHILE. Una volta terminato il ciclo while, val riparte da 1000, e riprende all'infinito finché la scheda è collegata ad una fonte di energia elettrica.
Ecco lo schema del circuito, realizzato con Tinkercad:
Arduino - Led Rimbalzante articolo.
Ricorda di collegare la resistenza in corrispondenza della gamba più corta, e l'altra estremità della resistenza nella pista della corrente negativa. Collega la pista della corrente negativa a GND.
Collega la gamba lunga del led alla porta 13 di Arduino.
Ecco il testo dello sketch!
Testo dello sketch
int luce = 13;

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

void loop()
{

int val = 1000;
while(val > 0){
digitalWrite(luce, HIGH);
delay(val);
digitalWrite(luce, LOW);
delay(val);
val = val-50;
}
}

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community