⭐⭐ Principiante avanzato
⏱️ 15 minuti
Dado elettronico
Costruisci un dado di luce. Premi il pulsante: le lucine girano un po', e poi vedi quanto hai lanciato. Da 1 a 6 lucine!
🧰 Che cosa ti serve?
🗺️ Schema di collegamento
Segui i fili dall'Arduino a ogni componente. Puoi scegliere tu i colori dei fili.
| Da | A |
|---|---|
Arduino UNO · D2 |
Pulsante · 1 |
Pulsante · 2 |
Arduino UNO · GND |
Arduino UNO · D6 |
Anello LED RGB (8 LED) · DI |
Arduino UNO · 5V |
Anello LED RGB (8 LED) · 5V |
Arduino UNO · GND |
Anello LED RGB (8 LED) · GND |
🛠️ Così lo costruisci
- Metti il pulsante sopra la fessura della breadboard: una zampetta va al pin 2, una zampetta dall'altro lato va a GND.
- Collega l'anello LED: DI al pin 6, 5V a 5V e GND a GND.
💻 Il codice
// Dado elettronico
// Premi il pulsante: l'anello LED gira un attimo e poi lascia accese da 1 a 6 lucine.
#include <Adafruit_NeoPixel.h>
const int PULSANTE_PIN = 2; // Pulsante sul pin 2 (altro lato verso GND)
const int ANELLO_PIN = 6; // DI dell'anello LED sul pin 6
const int NUMERO_LED = 8;
Adafruit_NeoPixel anello(NUMERO_LED, ANELLO_PIN, NEO_GRB + NEO_KHZ800);
// Accende alcune lucine in un solo colore
void mostraNumero(int numero, uint32_t colore) {
anello.clear();
for (int i = 0; i < numero; i++) {
anello.setPixelColor(i, colore);
}
anello.show();
}
void setup() {
pinMode(PULSANTE_PIN, INPUT_PULLUP);
randomSeed(analogRead(A0)); // Fa sì che il dado sia davvero casuale
anello.begin();
anello.setBrightness(50);
anello.show();
}
void loop() {
if (digitalRead(PULSANTE_PIN) == LOW) {
// Un po' di "giro": numeri che cambiano in fretta, sempre un po' più piano
for (int i = 0; i < 15; i++) {
mostraNumero(random(1, 7), anello.Color(0, 80, 255));
delay(40 + i * 10);
}
int lancio = random(1, 7); // Un numero da 1 a 6
mostraNumero(lancio, anello.Color(0, 255, 60)); // Il numero vero in verde
delay(500);
}
}
🧠 Che cosa fa il codice?
random(1, 7)sceglie un numero a caso da 1 a 6.- Prima mostriamo numeri che cambiano in fretta, in blu. Così sembra che il dado stia girando.
- Poi
mostraNumero()mostra il numero vero in verde.
🎯 Prova anche…
- Dai a ogni numero il suo colore
- Fai fare un bip breve a un buzzer quando il dado si ferma
- Trasformalo in un dado da 1 a 8
🚀 Costruisci questo progetto con Codey: apri codey.online/it/starter-kits/uno/projects/dice e clicca su FAI QUESTO. Così il codice e lo schema di collegamento sono subito pronti.
Codey Online è un prodotto di OTRONIC