Paso 1: Dado electrónico
Este programa utiliza al serial monitor para mostrar el rodillo de dos dados. Copiar/pegar el programa en el IDE de Arduino y abra al monitor serie. Ingresar cualquier carácter para tirar los dados. El carácter que entras no utiliza para nada. La primera vez por el lazo de semillas el generador de números aleatorios utilizando millis().
/******************************************************* * Filename: ArdDice.ino * * An electronic dice roller. Open the serial monitor, * enter any character and press Enter to roll the dice. * *******************************************************/ int firsttime = 1; // Set first time flag void setup() { Serial.begin(9600); } void loop() { Serial.println("Enter any character and press Enter"); char choice = ' '; // Unused character. while(Serial.available() == 0); choice = Serial.read(); // Get character. if(firsttime==1) // If first time through loop, { randomSeed(millis()); // seed random number generator, firsttime=0; // and clear first time flag. } Serial.println(" "); Serial.println(" "); dice(); // Roll and print first die. dice(); // Roll and print second die. } /*********************************************** * dice() - Function to roll and print one die. ***********************************************/ void dice() { int rnd=random(1,7); switch(rnd) { case 1: Serial.println(" "); Serial.println(" * "); Serial.println(" "); Serial.println(" "); Serial.println(" "); break; case 2: Serial.println(" * "); Serial.println(" "); Serial.println(" *"); Serial.println(" "); Serial.println(" "); break; case 3: Serial.println(" * "); Serial.println(" * "); Serial.println(" *"); Serial.println(" "); Serial.println(" "); break; case 4: Serial.println(" * *"); Serial.println(" "); Serial.println(" * *"); Serial.println(" "); Serial.println(" "); break; case 5: Serial.println(" * *"); Serial.println(" *"); Serial.println(" * *"); Serial.println(" "); Serial.println(" "); break; case 6: Serial.println(" * *"); Serial.println(" * *"); Serial.println(" * *"); Serial.println(" "); Serial.println(" "); break; } }