Broche Luciérnaga
Broche luciérnaga
Idea desarrollada para los talleres de Womenteck.Proyecto de un broche con forma de luciérnaga.
Consiste en cuando hay luz la luciérnaga tiene una luz fija y cuando se hace oscuro la luz cambia aleatoria mente de color.
Usando neopixel RGB y un sensor de luz.
Ademas de la placa de lilypad y un porta pilas CR-2032.
Para empezar dibujaremos nuestro broche sobre la felpa.
Recortaremos las distintas partes.
Yo he usado un redondo blanco de base. Otro redondo blanco para separar la placa lilypad y el porta pilas.( para evitar futuros cortocircuitos)
Después en felpa rojo hice el cuerpo y las alas en felpa negro para que destaquen.
Con un rotulador blanco definí algunos detalles de mi luciérnaga.
En la cabeza y en el culo le hice unos pequeños agujeros para poder sacar el sensor de luz y el led.
Una vez tengo todas las partes, me planteo como voy a colocar el circuito electrónico evitando hacer cortocircuitos al coser.
Cosemos todo tal cual el esquema.
Y cargamos el código de ejemplo.
Por ultimo una vez programado y desenchufado le ponemos la pila y comprobamos su funcionamiento.
Observaciones: NUNCA CARGAR EL PROGRAMA CON ALIMENTACIÓN EXTERNA.
Material usado:
x1 placa lilypad usb
x1 sensor de luz
x1 neopixel RGB
x1 porta pilas CR-2032 + pila CR-2032
x1 hilo conductor + hilo normal
x3 colores de felpa
Conexiones:
Código:
//sensor luz ambiente
const int darkLevel = 50;//nivel oscuro
int lightValue;//nivel luz
int sensorPin = A3;
//led culo
int greenPin=9;
int bluePin=10;
int redPin=11;
void setup() {
pinMode(sensorPin, INPUT);
pinMode(A5, OUTPUT);
digitalWrite(A5, HIGH);
pinMode(redPin,OUTPUT); //color rojo salida
pinMode(bluePin,OUTPUT); //color azul salida
pinMode(greenPin,OUTPUT); //color verde salida
}
long valoraleatorio; // variable tipo long para crear valor aleatorio
void loop() {
lightValue = analogRead(sensorPin);
if (lightValue <=50){ // mayor que....> menor que.....<
valoraleatorio=random((3)); // '3' tres valores aleatorios 0-1-2
if(valoraleatorio==0){
analogWrite(redPin,255);//color ROJO OFF
delay(200);
analogWrite(redPin,0);// color ROJO FULL
delay(500);
analogWrite(redPin,255);//color ROJO OFF
}
if (valoraleatorio==1){
analogWrite(greenPin,255);// color VERDE OFF
delay(200);
analogWrite(bluePin,0);// color ROJO FULL
delay(500);
analogWrite(greenPin,255);// color VERDE OFF
}
if (valoraleatorio==2){
analogWrite(bluePin,255);// color AZUL OFF
delay(200);
analogWrite(greenPin,0);// color ROJO FULL
delay(500);
analogWrite(bluePin,255);// color AZUL OFF
}
}
if (lightValue >=50){
analogWrite(redPin,125);//color ROJO OFF
}
}//cierre loop
Video:
Circuito electrónico
Señales del sensor de luz con osciloscopio







Comentarios
Publicar un comentario