⭐⭐ Gevorderde beginner
⏱️ 15 minuten
Elektronische dobbelsteen
Je maakt een dobbelsteen van licht. Druk op de knop: de lampjes rollen even, en dan zie je hoeveel je hebt gegooid. 1 tot 6 lampjes!
🧰 Wat heb je nodig?
🗺️ Aansluitschema
Volg de draden van de Arduino naar elk onderdeel. De kleuren van de draden mag je zelf kiezen.
| Van | Naar |
|---|---|
Arduino UNO · D2 |
Drukknop · 1 |
Drukknop · 2 |
Arduino UNO · GND |
Arduino UNO · D6 |
RGB LED-ring (8 LEDs) · DI |
Arduino UNO · 5V |
RGB LED-ring (8 LEDs) · 5V |
Arduino UNO · GND |
RGB LED-ring (8 LEDs) · GND |
🛠️ Zo bouw je het
- Zet de drukknop over de gleuf van het breadboard: één pootje naar pin 2, een pootje aan de andere kant naar GND.
- Sluit de LED-ring aan: DI naar pin 6, 5V naar 5V en GND naar GND.
💻 De code
// Elektronische dobbelsteen
// Druk op de knop: de LED-ring rolt even en laat dan 1 tot 6 lampjes branden.
#include <Adafruit_NeoPixel.h>
const int KNOP_PIN = 2; // Drukknop op pin 2 (andere kant naar GND)
const int RING_PIN = 6; // DI van de LED-ring op pin 6
const int AANTAL_LEDS = 8;
Adafruit_NeoPixel ring(AANTAL_LEDS, RING_PIN, NEO_GRB + NEO_KHZ800);
// Laat een aantal lampjes branden in één kleur
void toonGetal(int getal, uint32_t kleur) {
ring.clear();
for (int i = 0; i < getal; i++) {
ring.setPixelColor(i, kleur);
}
ring.show();
}
void setup() {
pinMode(KNOP_PIN, INPUT_PULLUP);
randomSeed(analogRead(A0)); // Zorgt dat de dobbelsteen echt willekeurig is
ring.begin();
ring.setBrightness(50);
ring.show();
}
void loop() {
if (digitalRead(KNOP_PIN) == LOW) {
// Even "rollen": snel wisselende getallen, steeds een beetje langzamer
for (int i = 0; i < 15; i++) {
toonGetal(random(1, 7), ring.Color(0, 80, 255));
delay(40 + i * 10);
}
int worp = random(1, 7); // Een getal van 1 tot en met 6
toonGetal(worp, ring.Color(0, 255, 60)); // Het echte getal in groen
delay(500);
}
}
🧠 Wat doet de code?
random(1, 7)kiest een willekeurig getal van 1 tot en met 6.- Eerst laten we snel wisselende getallen zien in het blauw. Zo lijkt het alsof de dobbelsteen rolt.
- Daarna laat
toonGetal()het echte getal zien in het groen.
🎯 Probeer eens…
- Geef elk getal een eigen kleur
- Laat een zoemer kort piepen als de dobbelsteen stilligt
- Maak er een dobbelsteen van 1 tot 8 van
🚀 Bouw dit project met Codey: open codey.online/nl/starter-kits/uno/projects/dice en klik op MAAK DIT. Dan staan de code en het aansluitschema meteen klaar.
Codey Online is een product van OTRONIC