Dés numériques Arduino
Composants et fournitures
 | Planche à pain (générique) | | × | 1 | |
 | Câbles de raccordement (générique) | | × | 1 | |
 | Adafruit Standard LCD - 16x2 Blanc sur Bleu | | × | 1 | |
 | | × | 1 | |
 | | × | 1 | |
 | Potentiomètre rotatif (générique) | | × | 1 | |
 | Interrupteur à bouton-poussoir SparkFun 12mm | | × | 1 | |
À propos de ce projet
Idéation
Ce projet était basé sur l'idée que je m'ennuyais de mes dés de jeu standard normaux. Donc, pour réparer mon ennui, j'ai décidé d'utiliser mon écran LCD Arduino et mon bouton poussoir standard (avec une carte de dérivation) et j'ai demandé à l'Arduino de lire l'état de la broche de signal sur la carte du bouton en haut ou en bas (haut si le bouton n'est pas enfoncé ) (faible sinon). Selon l'état, il resterait sur l'écran principal ou montrerait que les dés roulent, puis imprimerait deux nombres aléatoires de 1 à 6 (comme un dé).
Code
Le codeArduino
#include long randNumber;int Led =13; //définir le portint LED Shock =2; //définir shock portint val;//define digital variable val// initialiser la librairie avec les numéros des pins de l'interfaceLiquidCrystal lcd(7, 8, 9, 10, 11, 12 );byte customChar[] ={ B00000, B00000, B11111, B11001, B10101, B10011, B11111, B00000} ;configuration vide (){ lcd.begin (16, 2); lcd.createChar(0, customChar); lcd.home(); pinMode (DEL, SORTIE); //définir la LED comme port de sortie randomSeed(analogRead(0)); pinMode (choc, ENTREE); //définir le capteur de choc comme port de sortie lcd.write(byte( 0)); lcd.print("Dés numériques"); lcd.write(octet( 0)); delay(1000);}boucle vide(){ val =digitalRead(Shock); //lire la valeur de l'interface numérique 3 affectée à val if (val ==LOW) //lorsque le capteur de choc a un signal faire ce qui suit { lcd.clear(); lcd.print("Dés lancés..."); retard (4000); lcd.clear(); lcd.setCursor(0, 0); randNumber =aléatoire(1,7); lcd.print("Dé 1 ="); lcd.print(randNumber); lcd.setCursor(0, 1); randNumber =aléatoire(1,7); lcd.print("Dé 2 ="); lcd.print(randNumber); } retard(150);}
Schémas