Una nueva modificacion de esta ruleta con algunos agregados para su uso stand alone
/************************************************************
***** 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
Pingback: Jugando con arduino + LCDEpelByte.com | EpelByte.com