Casa del árbol litera (5 / 5 paso)

Paso 5: El electonics

No pude resistirme a añadir un poco de tecnología a la cama, así que instalé unas tiras del RGB de led y un twinking estrellas campo/glow-worms en la parte inferior de la litera.

Las tiras de led fueron fáciles. Opté por un regulador fijo fuera de ebay, como se muestra en la foto, como yo sabía que un control remoto desaparecen después de algunos días. He puesto una tira en la litera de arriba y otra debajo para la lectura.

El techo llevó un poco de esfuerzo... Adaptado este código (http://playground.arduino.cc/Main/AnalogAndDigital...) para utilizar las 6 salidas pwm de un arduino mini. Mi código está por debajo (siente libre de dejarme saber que si usted tiene alguna sugerencia, todavía estoy aprendiendo arduino).

He añadido un interruptor y un potenciómetro para ajustar el brillo del LED en una pequeña caja de control bajo la litera. Conectado junto a grupos de 6 LEDs a cada salida PWM del arduino y añade una resistencia de ohm k 1 a cada uno llevó para mantener la corriente abajo (no tienen que ser tan brillante) y todos los leds no sobrecargue el arduino. Escondí el desordenado cableado estirando una hoja de poliéster negro en la parte inferior de la litera y asegurándolo con los pedazos finos de moldura de pino. El brillo del LED muy bien a través de la tela, tipo de se puede ver en las fotos adjuntas.

#define MAX_FIREFLIES_ON 6
int PotPin = A0; ** analógico conectado al pote int fade = 0;

Cambiar estos valores para determinar cuánto el LED permanece apagado y cuánto tiempo permanecerá ON para las luciérnagas analógicas. Estos valores son en milisegundos 10 (es decir, 27 = 270 milisegundos). #define ANALOG_MIN_OFF 41 #define #define ANALOG_MAX_OFF 300 ANALOG_MIN_ON 50 #define ANALOG_MAX_ON 200

Cambiar estos valores para determinar cuánto el LED permanece apagado y cuánto tiempo permanecerá ON para las luciérnagas Digital. Estos valores son en milisegundos. #define DIGITAL_MAX_OFF 30000 de #define DIGITAL_MIN_OFF 4410 #define #define DIGITAL_MIN_ON 210 DIGITAL_MAX_ON 2100

El número de niveles de transición antes de que el LED está apagado con un PWM digital. Mejor no cambiar estos #define DIGITAL_FADE_INTERVAL 20 #define DIGITAL_FADE_WAIT 20

Utiliza para indicar los 4 Estados podemos ser pulg typedef enum {FADEUP, ON, FADEDOWN, OFF} FireflyState;

typedef struct FireFlyStruct {pin bytes; //PWM pines de salida son 3,5,6,9,10 y 11 FireflyState; //used para determinar qué estado el LED es, desvaneciéndose hasta abajo o en/valor largo sin firmar; //used como valor actual de LED

Duración de int de valores analógico; especifica cuánto tiempo el led estará encendido

Valores sin firmar largo tiempo digital; Utilizado para los cálculos de tiempo para ver si es tiempo de cambiar palanca boolean estado; Utilizado para cambiar el LED en/apagado con PWM sin firmar largo fundido; para calcular cuánto tiempo el led estará encendido para PWM durante una transición subida-bajada fadeWait largo sin firmar; utilizado para aumentar el tiempo que tarda en desaparecer por lo que sólo dura un poco más. } Firefly;

UNO R3 - 14 pins int analogPins [] = {3, 5, 6, 9, 10, 11}; int allPins [] = {3, 5, 6, 9, 10, 11};

Luciérnaga fireflies[sizeof(allPins)/sizeof(*allPins)];

Utilizado para determinar si el pin actual es un análogo o un Pin Digital. Boolean isAnalog (int pin) {int longitud = sizeof(analogPins)/sizeof(*analogPins); para (int i = 0; i

Al final de esta función, todas las luciérnagas será configuración //with los datos que necesitan para funcionar correctamente. También encendemos luciérnagas MAX_FIREFLIES_ON para empezar nosotros. ¿anular initialize() {para (int i = 0; i < (sizeof(fireflies)/sizeof(Firefly)); i ++) {//Why estoy usando esta notación puntero de tomar la dirección de la //and objeto entonces eliminar la referencia lo? Fue mostrar a alguien cómo hacerlo. Si te molesta, reemplace cada aparición de "ff ->" con "luciérnagas [i]." y //it ejecutará el mismo. Firefly * ff = & luciérnagas [i]; FF -> pin = allPins [i]; Si (i < MAX_FIREFLIES_ON) ff -> Estado = ON; otro ff -> Estado = OFF; FF -> valor = 0;

Ff de valores analógico -> duración = 0;

Digital valores ff -> tiempo = 0; FF -> toggle = true; FF -> fade = 0; FF -> fadeWait = 0;

Si (< MAX_FIREFLIES_ON) {si (isAnalog (ff -> pin) == true) ff -> duración = random (ANALOG_MIN_ON, ANALOG_MAX_ON); otro ff -> valor = millis() + random (DIGITAL_MIN_ON, DIGITAL_MAX_ON);} else {si (isAnalog (ff -> pin) == true) ff -> duración = random (ANALOG_MIN_OFF, ANALOG_MAX_OFF); otro ff -> valor = ff -> tiempo + random (DIGITAL_MIN_OFF DIGITAL_MAX_OFF); } } }

Determinar son cuantos LED actualmente en y si es igual a MAX_FIREFLIES_ON, devuelva true. Boolean isMaxFireflies() {boolean retValue = false; int cnt = 0; para (int i = 0; me < (sizeof(fireflies)/sizeof(Firefly)); i ++) {Firefly * ff = & luciérnagas [i]; si (ff -> Estado! = OFF) cnt ++;} si (cnt > = MAX_FIREFLIES_ON) {retValue = true;} volver retValue;}

Utilizado para nuestro retardo de 10 ms para analógico. analogDelayTime largo sin signo = 0;

/ * Nota de LUCIÉRNAGAS analógica: (hay un retardo de 10ms en todas luciérnagas analógicos).

Hay 4 Estados que las luciérnagas pueden. EN = mantiene el LED de encendido hasta que el contador llegue a la duración en. OFF = mantiene el LED apagado hasta que el contador llegue a la duración en. FADEUP = a lo largo de 500ms, cambio el LED brillo sobre 51 veces FADEDOWN = en el transcurso de 500ms, cambio el LED brillo unos 51 veces

Una vez terminada la luciérnaga es FADEUP determinará una duración aleatoria durante cuánto tiempo mantener el LED. Asimismo, FADEDOWN determina una duración aleatoria durante cuánto tiempo mantener el LED.

Si un LED está listo para activarse (FADEUP) comprobamos si hemos llegado a MAX_FIREFLIES_ON. Si tenemos, entonces fijamos ese LED al estado OFF y Dile que espere otra vez sin encender. * / void analogFireflies() {}

Poner un retardo de 10 ms en todas las cosas análogas. Si (millis ()-< 50 analogDelayTime) volver; analogDelayTime = millis();

Iterar a través de todas las luciérnagas analógicas para (int i = 0; i < (sizeof(fireflies)/sizeof(Firefly)); i ++) {Firefly * ff = & luciérnagas [i];

Si (isAnalog (ff -> pin) == false) continuar;

Si (ff -> Estado == ON) {/ / Pin en analogWrite (ff -> pin, fade);

FF -> valor += 1; Si (ff -> valor == ff -> duración) {ff -> Estado = FADEDOWN; ff -> valor = descolórese;}} else if (ff -> Estado == OFF) {/ / Pin Off analogWrite (ff -> pin, 0);

FF -> valor += 1; Si (ff -> valor == ff -> duración) {si (isMaxFireflies()) {ff -> valor = 0; ff -> Estado = OFF; ff -> duración = random (ANALOG_MIN_OFF, ANALOG_MAX_OFF);} else {ff -> Estado = FADEUP; ff -> valor = 0;}}} else if (ff -> Estado == FADEUP) {/ / se descolora de Pin Up ff -> valor += 1; //previously 5 analogWrite (ff -> pin, ff -> valor);

Si (ff -> valor == se descolora) {ff -> valor = 0; ff -> Estado = ON; ff -> duración = random (ANALOG_MIN_ON, ANALOG_MAX_ON);}} else if (ff -> Estado == FADEDOWN) {/ / se descolora abajo de Pin ff -> valor-=1; //previously 5 analogWrite (ff -> pin, ff -> valor);

Si (ff -> valor == 0) {ff -> valor = 0; ff -> Estado = OFF; ff -> duración = random (ANALOG_MIN_OFF, ANALOG_MAX_OFF);}} } }

//----------------------------------------------------------------------------------------------------

void turnLedOn (int pin) {}

Si (isAnalog(pin) == true) analogWrite (pin, 255); } void turnLedOff (int pin) {}

Si (isAnalog(pin) == true) analogWrite (pin, 0); }

Recorre en iteración todas las clavijas (digitales y analógicas) y enciende (hasta MAX_FIREFLIES_ON). Nos permite una oportunidad para asegurarse de que todos los LED están conectados y trabajo antes del comienzo del programa //and cuando en el arduino. void caterpillar() {int allcount = (sizeof(allPins)/sizeof(*allPins));

para (int i = allcount-1; i > = 0; i--) {si (i < allcount-MAX_FIREFLIES_ON) turnLedOff(allPins[MAX_FIREFLIES_ON+i]); turnLedOn(allPins[i]); delay(250);}

para (int i = MAX_FIREFLIES_ON-1; i > = 0; i--) {turnLedOff(allPins[i]); delay(250);}}

void setup() {//Set todos los pines digitales para salida pinMode (PotPin, entrada); Serial.Begin(9600); para (int i = 0; i < (sizeof(allPins)/sizeof(*allPins)); i ++) {/ / si (isAnalog(i) == false) / / pinMode (i, salida); / /}

Caterpillar(); Initialize(); }

void loop() {fade = map(analogRead(PotPin), 0, 1023, 1, 255); / / fade = 255; Serial.println(fade); analogFireflies(); }

Artículos Relacionados

Recuperación de una casa del árbol

Recuperación de una casa del árbol

Este instructable le mostrará cómo recuperar una casa de árbol en la estantería de servicio pesado y un banco de trabajo/toolstands. Esta compilación fue motivada por la necesidad de quitar el árbol de mi infancia como se había convertido en peligros
Mi casa del árbol

Mi casa del árbol

um. OK instructables no me deja entrar en mi presentación en este concurso así que hice un instructable. En cuenta no se trata de instrucciones sobre cómo construir una casa de árbol. Si alguien sin embargo quiere saber cómo hacer uno, soy seguro que
Casa del árbol impresionante

Casa del árbol impresionante

esta casa del árbol es una gran manera de pasar tiempo con la gente que te gustapero ahora para las cosas seriasNOTA: ES MUY DURO INSTRUCTABLE Y TOMARÁ TIEMPO CONSTRUIRPaso 1: Lo que usted necesita un montón de madera finamontón de madera gruesatuerc
Cómo planificar una casa del árbol

Cómo planificar una casa del árbol

casas en los árboles son uno de los símbolos de la infancia idílica. Un lugar especial, lejos de los padres y la escuela, eso es solo tuyo. No es difícil ver por qué es una idea que ha persistido durante generaciones. Pero realmente construir la casa
Puerta de la casa del árbol dragón

Puerta de la casa del árbol dragón

bricolaje puerta de la casa del árbolPaso 1: Reunir piezas Para este paso tenemos varios tamaños de pino 1 xPaso 2: Teñir la maderaAquí hemos manchado solo el marco exterior de la puerta. utilizamos pino 1 x 2 para el marcoPaso 3: avellanado Hundido
La casa del árbol de cartón

La casa del árbol de cartón

muchos niños juegan con muñecos, muñecas, o gente de lego, y en lugar de comprar un lugar para vivir (una casa de muñecas), por qué no haces tu propio árbol de cartón completan con puertas y tableros deslizantes de nivel a nivel.  Este árbol puede pr
Cama de la casa del árbol

Cama de la casa del árbol

los niños les encanta una cama fría.  Un lugar para dormir no sólo, sino también jugar.  Muchos de las camas "cool" en el mercado ya sea camas básicas con personajes de dibujos animados en los lados, o cerrados fuertes que son difíciles para la
Casa del árbol Jungle

Casa del árbol Jungle

Hola, hoy voy a mostrar cómo construir una casa de árbol de la selva.Paso 1: materialesSe necesita:Tablones de madera de abetoVidrioAntorchas(Opcional)CamasHornosCercasAlfombrasPinturasEscaleras de robletrampillasPaso 2: Encontrar un árbol Para encon
Casa del árbol de metro

Casa del árbol de metro

Paso 1: Use wool around itPaso 2: Hacer un interiorPaso 3: Hacer un porche de tu color favorito para demostrar es tuyo y es tu casa del árbol
Mermelada de cereza casera: Del árbol al bote

Mermelada de cereza casera: Del árbol al bote

Una de las ventajas del verano es las frutas y verduras y todos los alimentos sabrosos que se pueden hacer de ellos. Mis amigos tienen un cerezo gigante alrededor de su casa y este año que decidimos utilizar las cerezas para hacer deliciosa confitura
"El salón de la casa del árbol" de la barra de mis materiales reclamados

"El salón de la casa del árbol" de la barra de mis materiales reclamados

El salón de Theehouse fue creado con materiales en su mayoría rescatados y recuperados. Hay algunos soportes, madera contrachapada y 2x4s para estructura. Pero se hizo un poco de lo de granero y valla de madera. El Bar está ubicado en el oeste de Sea
Casa del árbol

Casa del árbol

un tocón grande viejo redwood tenía escalinatas labradas en él cuando compramos el lugar. Visiones de la cubierta de un fabuloso árbol bailaban en la cabeza...Paso 1: Construir el marco Utilizamos los árboles alrededor del tocón (el anillo de hadas)
Casa del árbol de Minecraft

Casa del árbol de Minecraft

Paso 1: materiales Estos son los materiales que necesitaráPaso 2: Con madera de roble se acumulan 5Paso 3: Construir sátiras, pero asegúrese de que se envuelva alrededor del troncoPaso 4: Construir un cuadro de 10 x 11 alrededor de las sátirasPaso 5:
Escalera de casa del árbol de hadas miniatura

Escalera de casa del árbol de hadas miniatura

https://www.youtube.com/watch?v=X-ks8AXVlTk