Ejemplo Ruleta Electronica v2.0

/************************************************************
*****       Ruleta Electronica     v2.0                    **  
***** imprime en pantala aletoriamente un nro del 0 al 36  **
***** indicando su color                                   **
*************************************************************/
//Definiciones
#define INTRO         0
#define PRESENTACION  1
#define ESPERA        2
#define RESULTADO     3
#define NEGRO         0
#define ROJO          1

//Setup inicial
void setup() 
{
  Serial.begin(9600);
}

/*************************************************************************
**************************************************************************
                      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;
                  break;

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

 }
  }
}

Mira también estos otros artículos

Deja un comentario

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

*