Automatismo de luz navideña…con PINGUINO – OPEN HARDWARE / SOFTWARE / MIND
Menú Close

Automatismo de luz navideña…con PINGUINO

Bueno siguiendo el tema de chorradas, y luego del burbujometro 🙂 se me ocurrió montar el belén navideño, pero al terminarlo lo vi medio fofo… y pensé que quedaria bonito si automatizamos un poco la cosa y ponemos alguna que otra luz.
El tema de tener que darle a un interruptor me molestaba, así que he realizado una especie de interruptor infrarrojo, para activar con solo pasar la mano delante de la estrella, y durante un tiempo de cerca de un minuto las luces y algunos cambios de color…
Espero os guste, es una tontería pero facil de hacer y de replicar.


Las lineas marcadas con //debug son para ir corrigiendo en tiempo real la respuesta del PINGUINO.

[sourcecode language=»py»]

/*
* Walii PINGUINO PIC
* http://pinguino.walii.es
*
*Español
* Un sensor para el BELEN, para que cuando pasas la mano por delante
* se enciendan las luces de decoración, durante un minuto aproximadamente
*English
* A sensor for BELEN, so that when you pass your hand in front of this
* the lights decoration ON, these for about a minute.
*/

int redPin = 2; // R petal on RGB LED module connected to digital pin 2
int greenPin = 1; // G petal on RGB LED module connected to digital pin 1
int bluePin = 0; // B petal on RGB LED module connected to digital pin 0
int valueir; //IR SENSOR
int i;
int timer=0;

void setup()
{
for (i=0;i<8;i++)
{
pinMode(i,OUTPUT); // Config all the port like OUTPUT
digitalWrite(i,LOW); // fixed all exit to LOW
}
Serial.begin(9600); //debug
}
void color (uchar red, uchar green, uchar blue) // the color generating function
{
digitalWrite(redPin,red);
digitalWrite(bluePin,blue);
digitalWrite(greenPin,green);
}

void loop() // run over and over again
{
valueir=analogRead(13); //Read analog port
//Serial.print("valor ir "); //debug
//Serial.print(valueir,DEC); //debug
//Serial.print("\n\r"); //debug
if (valueir<100) timer=50; //Control IR SENSOR
//Serial.print("valor timer "); //debug
//Serial.print(timer,DEC); //debug
//Serial.print("\n\r"); //debug

while (timer>1) //Make this only if timer is > 1
{
//Serial.print("valor timer "); //debug
//Serial.print(timer,DEC); //debug
//Serial.print("\n\r"); //debug
analogWrite(11,1000); // 99% pwm 11
color(HIGH, LOW, LOW); // turn the RGB LED red
delay(500); // delay for 1/2 second
analogWrite(11,500); // 50% pwm 11
color(LOW, HIGH, LOW); // turn the RGB LED green
delay(500); // delay for 1/2 second
analogWrite(11,1000); // 99% pwm 11
color(LOW, LOW, HIGH); // turn the RGB LED blue
delay(500); // delay for 1/2 second
analogWrite(11,800); // 80% pwm 11
timer–;
}
analogWrite(11,0); //Off the PWM pin
color(LOW, LOW, LOW); //Off all the ligths
delay(100); // Wait 100ms
}

[/sourcecode]

Related Posts

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.