Ejemplo Ruleta Electronica v3.0



Una nueva modificacion de esta ruleta con algunos agregados para su uso stand alone
ruleta Epelbyte v3.0
/************************************************************
*****       Ruleta Electronica     v3.0                    **  
***** imprime en pantala aletoriamente un nro del 0 al 36  **
***** indicando su color                                   **
*************************************************************/
//esta nueva version agrega el uso de un display 16x2 y un pulsador
// para la activacion manual

//Librerias
#include <LiquidCrystal.h>
//Definiciones
#define INTRO         0
#define PRESENTACION  1
#define ESPERA        2
#define RESULTADO     3
#define NEGRO         0
#define ROJO          1
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);  
//Setup inicial
void setup() 
{
  Serial.begin(9600);
  lcd.begin(16,2);
}

/*************************************************************************
**************************************************************************
                      MAQUINA DE ESTADO
**************************************************************************
*************************************************************************/  
void loop ()
{
  //declaracion de variables locales
  unsigned char estado,n;
  unsigned char color[37]={0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,1,0,1,0,1,0,
  1,0,1,0,0,1,0,1,0,1,0,1}; //Tabla de colores
  estado=n=0; 
  estado=INTRO;
  while(1)
  {
  switch(estado)
 {
  case INTRO:
                  Serial.println("Ruleta electronica Epel");
                  estado=PRESENTACION;
                  lcd.setCursor(0,1);
                  lcd.print("Suerte!");
                  break;

   case PRESENTACION:
                  estado=ESPERA;
                  Serial.println("Presione cualquier tecla ");
                  break;
  case ESPERA:
                  lcd.setCursor(0, 0);
                  lcd.print("Ruleta EpelByte");
                  if (Serial.available()>0)
                  {
                   n=random(0,36);
                   if(n==0)
                   Serial.println ("Cero");
                   lcd.setCursor(0,1);
                   lcd.print("Cero");
                   if (color[n]==NEGRO)
                   {
                     Serial.print ("Negro el ");
                     Serial.println (n,DEC);
                     lcd.clear();
                     lcd.setCursor(0,1);
                     lcd.print("Negro el ");
                     lcd.print(n); 
                   }
                   if (color[n]==ROJO)
                   {
                     Serial.print ("Colorado el "); 
                     Serial.println (n,DEC);
                     lcd.clear();
                     lcd.setCursor(0,1);
                     lcd.print("Colorado el ");
                     lcd.print(n); 
                   }
                   Serial.read(); //vacio el buffer
                   estado=PRESENTACION;
                  }
                  break;

 }
  }
}

Mira también estos otros artículos

One Reply to “Ejemplo Ruleta Electronica v3.0”

  1. Pingback: Jugando con arduino + LCDEpelByte.com | EpelByte.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*