^Volver Arriba
Get Adobe Flash player

Cheats del día

Team Speak 3

Cod2

Contador de visítas

832353
Hoy
Ayer
Esta semana
Semana pasada
Este mes
Mes pasado
En total
416
410
1503
828854
11222
12962
832353

Tu IP: 54.197.64.207
Server Time: 2024-03-28 14:27:30

No a los Cheats

 

Formulario de acceso

Pino de Navidad Arduino

This text will be replaced

Código

/*
Programa para controlar un LED RGB con arduino.
Usando las salidas PWM se puede controlar la intensidad de cada color para hacer las mezclas.
Se hacen dos funciones:
rgbon(): Muestra los 3 colores principales uno despues de otro (rojo, verde y azul)
colors(): Permite elegir entre tres colores (amarillo (y), naranja (o) o rosado (p))
usando sus siglas en ingles

Materiales:
1 Arduino pro mini
6 LED RGB de 4 patas catodo comun
cables de conexion

*/

/*-----Declaracion de variables para cada color R G B-----*/
int rled = 13; // Pin PWN 13 para led rojo
int bled = 12; // Pin PWM 12 para led azul
int gled = 11; // Pin PWM 11 para led verde
int rled2 = 9; // Pin PWN 9 para led rojo
int bled2 = 8; // Pin PWM 8 para led azul
int gled2 = 7; // Pin PWM 7 para led verde
int rled3 = 6; // Pin PWN 6 para led rojo
int bled3 = 5; // Pin PWM 5 para led azul
int gled3 = 4; // Pin PWM 4 para led verde

/*----Declaracion de variables auxiliares-----*/
int i; // Variable para ciclos repetitivos
int repeat = 3; // Variables para cantidad limite de repeticiones


void setup() {
/*----- Se inicializan pines PWM como salida*/
pinMode(rled, OUTPUT);
pinMode(bled, OUTPUT);
pinMode(gled, OUTPUT);
pinMode(rled2, OUTPUT);
pinMode(bled2, OUTPUT);
pinMode(gled2, OUTPUT);
pinMode(rled3, OUTPUT);
pinMode(bled3, OUTPUT);
pinMode(gled3, OUTPUT);
}

void loop() {

for(i=0; i<repeat; i++) //Se repite la ejecucion de la funcion rgbon() "repeat" veces
rgbon();
delay(1000); //Se espera 1 segundo
colors('y'); //Se enciende el LED en color amarillo (y de yellow)
delay(1000);
colors('o'); //Se enciende el LED en color naranko (o de orange)
delay(1000);
colors('p'); //Se enciende el LED en color rosado (p de pink)
delay(1000);
}

/*-----Funcion para mostrar colores principales cada 500 ms-----*/
void rgbon(){
analogWrite(rled,255); // Se enciende color rojo
delay(500); // Se esperan 500 ms
analogWrite(rled,0); // Se apaga color rojo
analogWrite(bled,255); // Se enciende color azul
delay(500); // Se esperan 500 ms
analogWrite(bled,0); // Se apaga color azul
analogWrite(gled,255); // Se enciende color verde
delay(500); // Se esperan 500 ms
analogWrite(gled,0); // Se apaga colo verde
analogWrite(rled2,255); // Se enciende color rojo
delay(500); // Se esperan 500 ms
analogWrite(rled2,0); // Se apaga color rojo
analogWrite(bled2,255); // Se enciende color azul
delay(500); // Se esperan 500 ms
analogWrite(bled2,0); // Se apaga color azul
analogWrite(gled2,255); // Se enciende color verde
delay(500); // Se esperan 500 ms
analogWrite(gled2,0); // Se apaga colo verde
analogWrite(rled3,255); // Se enciende color rojo
delay(500); // Se esperan 500 ms
analogWrite(rled3,0); // Se apaga color rojo
analogWrite(bled3,255); // Se enciende color azul
delay(500); // Se esperan 500 ms
analogWrite(bled3,0); // Se apaga color azul
analogWrite(gled3,255); // Se enciende color verde
delay(500); // Se esperan 500 ms
analogWrite(gled3,0); // Se apaga colo verde
}

/*-----Funcion que permite escoger entre color amarillo, naranjo o rosado-----*/
void colors(char color){ //La funcion recibe un parametro que se guarda en variable color

switch(color){ //Se compara variable color con dato guardado
case 'y': analogWrite(rled,255); // Si color == 'y' se enciende color amarillo
analogWrite(gled,255); // Mezclando r = 255 / g = 255 / b = 0
analogWrite(bled,0);
analogWrite(rled2,255); // Si color == 'y' se enciende color amarillo
analogWrite(gled2,255); // Mezclando r = 255 / g = 255 / b = 0
analogWrite(bled2,0);
analogWrite(rled3,255); // Si color == 'y' se enciende color amarillo
analogWrite(gled3,255); // Mezclando r = 255 / g = 255 / b = 0
analogWrite(bled3,0);
break;
case 'o': analogWrite(rled,255); // Si color == 'o' se enciende color naranja
analogWrite(gled,180); // Mezclando r = 255 / g = 180 / b = 0
analogWrite(bled,0);
analogWrite(rled2,255); // Si color == 'o' se enciende color naranjo
analogWrite(gled2,180); // Mezclando r = 255 / g = 180 / b = 0
analogWrite(bled2,0);
analogWrite(rled3,255); // Si color == 'o' se enciende color naranjo
analogWrite(gled3,180); // Mezclando r = 255 / g = 180 / b = 0
analogWrite(bled3,0);
break;
case 'p': analogWrite(rled,255); // Si color == 'p' se enciende color rosado
analogWrite(gled,0); // Mezclando r = 255 / g = 0 / b = 255
analogWrite(bled,255);
analogWrite(rled2,255); // Si color == 'p' se enciende color rosado
analogWrite(gled2,0); // Mezclando r = 255 / g = 0 / b = 255
analogWrite(bled2,255);
analogWrite(rled3,255); // Si color == 'p' se enciende color rosado
analogWrite(gled3,0); // Mezclando r = 255 / g = 0 / b = 255
analogWrite(bled3,255);
break;
}
}