Paso 7: Código de Arduino
------------------------------------------------------------------------
const int rojo = 9;
const int verde = 10;
const int azul = 11;
const unsigned tenMinutes largo = 600000; DIEZ MINUTOS EN MILISEGUNDOS
int incomingByte; BYTE RECIBIDO DE PUERTO SERIE
void setup() {}
SERIAL DE INSTALACIÓN
pinMode(0,INPUT); SERIE DE ENTRADA EN EL PIN 0 (RX)
pinMode(1,OUTPUT); SERIE DE SALIDA EN EL PIN 1 (TX)
Serial.Begin(9600);
SISTEMA ARDUINO R, G, B PINES PARA SALIDA
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BLUE,OUTPUT);
HACER UNA PEQUEÑA DEMOSTRACIÓN DE LA LUZ CUANDO A PARTIR
CrossFade(000,000,000,000,000,255,5000); A LA AZUL
LightShow(4000); UNA VEZ LENTO
LightShow(2000); UNA VEZ MEDIO
LightShow(1000); UNA VEZ RÁPIDO
LightShow(1000); SEGUNDA VEZ RÁPIDO
CrossFade(000,000,255,000,000,000,1000); AZUL APAGADO
}
void loop() {}
/*************************************************************
* B - edificio
* S - construir éxito - futuro S [, nombre de archivo de mp3]
* F - compilación fallido - futuro F [, nombre de archivo de mp3]
* C, RRR, GGG, BBB - pantalla a Color
* O - Off
* P, nombre de archivo mp3 - reproducir mp3 (futuro)
* X RRR GGG, BBB, RRR, GGG, BBB, tttt - cross fade color a color
* L - show de luces
*************************************************************/
Si (Serial.available() > 0) {}
incomingByte = Serial.read();
interruptor (char(incomingByte)) {}
caso 'B': //BUILDING
Building(Millis() + tenMinutes);
rotura;
de caso ': //SUCCESSFUL construir
SuccessfulBuild(millis() + tenMinutes);
rotura;
'F' del caso: //FAILED construir
FailedBuild(millis() + tenMinutes);
rotura;
caso 'C': //DISPLAY un COLOR
Delay(50); RETARDO PARA PERMITIR EL ENVÍO DE LOS DATOS
SetColor(GetNumberFromSerial(3),GetNumberFromSerial(3),GetNumberFromSerial(3));
rotura;
caso ' o ': //ORB OFF
SetColor(0,0,0);
Serial.Flush();
rotura;
caso 'P': //PLAY MP3
Delay(50); RETARDO PARA PERMITIR EL ENVÍO DE LOS DATOS
PlayMP3();
rotura;
caso 'X': //CROSS se descolora
Delay(50); RETARDO PARA PERMITIR EL ENVÍO DE LOS DATOS
CrossFade(GetNumberFromSerial(3),GetNumberFromSerial(3),GetNumberFromSerial(3),GetNumberFromSerial(3),GetNumberFromSerial(3),GetNumberFromSerial(3),GetNumberFromSerial(4));
rotura;
caso 'L': //LIGHT SHOW
CrossFade(000,000,000,000,000,255,5000); A LA AZUL
LightShow(5000);
CrossFade(000,000,255,000,000,000,5000); AZUL APAGADO
rotura;
por defecto: //UNHANDLED
Serial.Flush();
}
}
}