#include "WProgram.h" void setup (); void wiiconnect(void); void blanco(void); void amarillo(void); void rojo(void); void magenta(void); void azul(void); void verde(void); void off(void); int ledRead(void); void codigoRGB(void); void loop (); int led1 = 2; int led2 = 3; int led3 = 4; int led4 = 5; int onoff = 6; int green = 9; int red = 10; int blue = 11; int time = 0; int i=0; void setup () { pinMode(led1, INPUT); pinMode(led2, INPUT); pinMode(led3, INPUT); pinMode(led4, INPUT); pinMode(onoff, OUTPUT); pinMode(red, OUTPUT); pinMode(green, OUTPUT); pinMode(blue, OUTPUT); blanco(); delay(1000); amarillo(); delay(1000); rojo(); delay(1000); magenta(); delay(1000); azul(); delay(1000); verde(); delay(1000); off(); wiiconnect(); } void wiiconnect(void) { digitalWrite(onoff, HIGH); // wii connect delay(100); digitalWrite(onoff, LOW); } void blanco(void) { analogWrite(red, 0xFF); analogWrite(green, 0xFF); analogWrite(blue, 0xFF); } void amarillo(void) { analogWrite(red, 0xFF); analogWrite(green, 0xFF); analogWrite(blue, 0x00); } void rojo(void) { analogWrite(red, 0xFF); analogWrite(green, 0x00); analogWrite(blue, 0x00); } void magenta(void) { analogWrite(red, 0xF7); analogWrite(green, 0x1C); analogWrite(blue, 0xB6); } void azul(void) { analogWrite(red, 0x00); analogWrite(green, 0x32); analogWrite(blue, 0xFF); } void verde(void) { //analogWrite(red, 0x1F); analogWrite(red, 0x00); analogWrite(green, 0xFF); analogWrite(blue, 0x00); } void off(void) { analogWrite(red, 0x00); analogWrite(green, 0x00); analogWrite(blue, 0x00); } int ledRead(void) { int l1; int l2; int l3; int l4; int codigo = 0; l1 = !digitalRead(led1); l2 = !digitalRead(led2); l3 = !digitalRead(led3); l4 = !digitalRead(led4); codigo = l1 + 2*l2 + 4*l3 + 8*l4; return(codigo); } // 0000 = 0 = 000000 (OFF) // 0001 = 1 = FAFF00 (amarillo) // 0010 = 2 = F41B00 (rojo) // 0011 = 3 = F71CB6 (magenta) // 0100 = 4 = 1732FF (azul) // 0101 = 5 = 33FC00 (verde) // 1111 = 15 = FFFFFF (blanco) void codigoRGB(void) { int codigo = ledRead(); if(codigo == 0) { off(); } else if(codigo == 1) { amarillo(); } else if(codigo == 2) { rojo(); } else if(codigo == 3) { magenta(); } else if(codigo == 4) { azul(); } else if(codigo == 5) { verde(); } else if(codigo == 15) { blanco(); } } void loop () { codigoRGB(); delay(10); } int main(void) { init(); setup(); for (;;) loop(); return 0; }