Arduino Digitaler Würfel: LCD-Würfel mit Zufallszahlen (1–6)
Komponenten
- 1× Arduino UNO
- 1× LCD 16×2 (HD44780, z. B. Adafruit Standard, weiß auf blau)
- 1× Taster (12 mm, mit Breakout)
- 1× Potentiometer 10 kΩ (Kontrast)
- Breadboard, Jumper-Kabel, USB-Kabel
Idee
Ein digitaler Würfel: Beim Drücken des Tasters zeigt das LCD „Rolling dice…“, wartet 4 Sekunden und würfelt dann zwei Augenzahlen (1–6). Ideal als Einsteigerprojekt für Zufallszahlen & LCD-Ansteuerung.
Schaltung
- LCD: RS→7, EN→8, D4→9, D5→10, D6→11, D7→12 (4-Bit-Modus)
- Potentiometer: Mitte an LCD-VO (Pin 3), Außen an 5 V & GND (Kontrast)
- Taster: Signal-Pin → Pin 2 (Digital), andere Seite → GND (interner Pull-Up genutzt)
- LED (Pin 13) als Heartbeat (optional)
Code
#include <LiquidCrystal.h>
long randNumber;
int ledPin = 13;
int shockPin = 2; // Taster
int val;
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
// Eigenes Zeichen (Würfel-Symbol)
byte diceChar[8] = {
B00000, B00000, B11111, B11001,
B10101, B10011, B11111, B00000
};
void setup() {
lcd.begin(16, 2);
lcd.createChar(0, diceChar);
lcd.home();
lcd.write(byte(0));
lcd.print("Digital dice");
lcd.write(byte(0));
delay(1000);
pinMode(ledPin, OUTPUT);
pinMode(shockPin, INPUT_PULLUP); // Interner Pull-Up
randomSeed(analogRead(0)); // Rauschen als Seed
}
void loop() {
val = digitalRead(shockPin);
if (val == LOW) { // Taster gedrückt (Pull-Up → LOW)
lcd.clear();
lcd.print("Rolling dice...");
delay(4000);
lcd.clear();
lcd.setCursor(0, 0);
randNumber = random(1, 7);
lcd.print("Dice 1 = "); lcd.print(randNumber);
lcd.setCursor(0, 1);
randNumber = random(1, 7);
lcd.print("Dice 2 = "); lcd.print(randNumber);
}
delay(150); // Entprellung
}
Erweiterungen
- Mehr Würfel (z. B. 5 für Kniffel).
- Animation während des „Rollens“ (laufende Zahlen).
- Piezo-Summer für Wurf-Sound.
- OLED-Display statt LCD (größere Schrift, Grafiken).
Herstellungsprozess
- TinyML Spracherkennung mit Edge Impulse auf Arduino Nano 33 BLE Sense
- Echtzeit-Gyroskop-Spiel mit Arduino Nano & MPU-6050
- Arduino Iron Man bauen: Komponenten, Sensoren & Schritt-für-Schritt-Anleitung
- Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth
- DIY Arduino Luftbefeuchter-Steuerung mit Relais – Sichere Hochspannungs-Installation
- Echtzeit-Entfernungsmessung mit Arduino Sonar & Processing-Visualisierung
- Audio-reaktive Schreibtischlampe mit Arduino Nano bauen
- NeoPixel-Matrix Pong auf Arduino Nano: Neon-Pong selbst bauen
- DIY Arduino Lenkrad / Joystick für Rennspiele – USB-HID-Umbau
- Arduino 101: Schrittzähler (Pedometer) mit DHT11 & LCD-Display