Arduino Digital Dice
Komponenten und Verbrauchsmaterialien
| | × | 1 | |
| | × | 1 | |
| Adafruit Standard LCD - 16x2 Weiß auf Blau | | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| Drehpotentiometer (allgemein) | | × | 1 | |
| SparkFun Drucktastenschalter 12 mm | | × | 1 | |
Über dieses Projekt
Idee
Dieses Projekt basierte auf der Idee, dass ich von meinen normalen Standardspielwürfeln gelangweilt war. Um meine Langeweile zu beheben, entschied ich mich, mein Arduino-LCD und den Standard-Druckknopf (mit einer Breakout-Platine) zu verwenden, und ich ließ den Arduino den Zustand des Signalstifts auf der Knopfplatine auf hoch oder niedrig ablesen (hoch, wenn der Knopf nicht gedrückt wurde). ) (niedrig, wenn nicht). Je nach Zustand bleibt es entweder auf dem Hauptbildschirm oder zeigt an, dass die Würfel rollen und dann zwei Zufallszahlen von 1-6 ausdrucken (wie ein Würfel).
Code
Der CodeArduino
#include long randNumber;int Led =13; // LED-Portint definieren Shock =2; // Definiere Shock Portint val; // Definiere digitale Variable val // Initialisiere die Bibliothek mit den Nummern der SchnittstellenpinsLiquidCrystal lcd(7, 8, 9, 10, 11, 12 );byte customChar[] ={ B00000, B00000, B11111, B11001, B10101, B10011, B11111, B00000}; Einrichtung ungültig () {lcd.begin (16, 2); lcd.createChar(0, customChar); lcd.home(); pinMode (LED, AUSGANG); // LED als Ausgangsport definieren RandomSeed (analogRead (0)); pinMode (Schock, EINGANG); // Stoßsensor als Ausgangsport definieren lcd.write (byte (0)); lcd.print("Digitaler Würfel"); lcd.write (byte (0)); Verzögerung (1000);} ungültige Schleife () {val =digitalRead (Shock); // Lesen Sie den Wert der digitalen Schnittstelle 3, die val zugewiesen ist, wenn (val ==LOW) // Wenn der Stoßsensor ein Signal hat, gehen Sie wie folgt vor { lcd.clear (); lcd.print("Würfel rollen..."); Verzögerung (4000); lcd.clear(); lcd.setCursor(0, 0); RandNumber =Random(1,7); lcd.print("Würfel 1 ="); lcd.print (randNumber); lcd.setCursor(0, 1); RandNumber =Random(1,7); lcd.print("Würfel 2 ="); lcd.print (randNumber); } Verzögerung(150);}
Schaltpläne