Arduino controla amanecer despertador

esto es una actualización al microcontrolador para mi azul amanecer simulador alarma reloj LED.  Anteriormente, se utiliza un Atmel ATMEGA8-16PI que requiere un programador de Atmel.  Aquí, he actualizado para utilizar un Arduino Uno.  Desde la ONU se basa en un chip similar, pude reutilizar código para acceder a las interrupciones para un controlador PWM de 16 bits.  Incluso si usted no está interesado en la construcción de un simulador de amanecer, puede encontrar el código PWM de 16 bits útiles.

Ejecuta en sólo el Atmetl, que el simulador del amanecer comenzó a recibir errores intermitentes, que dio lugar a brillantes destellos de luz durante el ciclo de salida del sol en lugar de un aumento gradual.  Probablemente esto era de ruido adicional de la alarma de Soleil.  Ya no tenía fácil acceso a un programador de Atmel, así que decidi actualizar a un Arduino para facilitar cambios futuros.

El cableado es en gran parte lo mismo que antes, excepto la señal de la Soleil es leído por una entrada en lugar de una entrada digital analógica.  Decidí usar la entrada analógica haría el controlador más resistente al ruido que el mi anterior solución usando interrupciones.   Código de Arduino está abajo:


previousMillis largo = 0;        almacenará la última vez actualizó a LED
largo intervalo de tiempo = 1000;           intervalo en el que se actualiza (milisegundos)

void setup() {}
Inicializa el pin digital como salida.
pinMode (9, salida);

Apagar el LED de la placa Arduino
pinMode (13, salida);
digitalWrite (13, bajo);

Timer1 hace ~ 16-bit PWM
TCCR1A = _BV (COM1B1) | _BV (WGM11) | _BV (COM1A1);
TCCR1B = _BV (WGM13) | _BV (WGM12) | _BV (CS10);

ICR1 = 65535;
Iniciar el ciclo de trabajo PWM al 100%
OCR1A = 65535;

encender para la depuración
Serial.Begin(9600);

}

void loop() {}
unsigned currentMillis largo = millis();
y largo = 0;
tiempo de salida [100], u;
int i;

tomar lecturas de 1000 en la entrada analógica
para (i = 0; i < 1000; i ++) {}
y = y + analogRead(A0);
}

salida [0] = 65535 / (1 + exp(-1*0.00002275*(y-500000)));

promedio de la salida para no saltar por
para (i = 9; i > 0; i--) {}
salida [i] = salida a [i-1];
}
u = 0;
para (i = 0; i < 10; i ++) {}
u = u + salida [i];
}

Asegúrese de que el valor de salida no pasa por encima de 65535
Si (u/10 > 65535) u = 655350;
establecer el ciclo de trabajo PWM
OCR1A = u/10;

Si (currentMillis - previousMillis > intervalo) {}
excepto la última vez que la salida se imprime
previousMillis = currentMillis;
lo que está sucediendo para la depuración de salida
Serial.println(OCR1A);
Serial.println(y);
}
}
Determinar la función exponencial que coincidió con la salida de los LEDs para las luces incandescentes por el ojo y ensayo y error.  Se adjunta un gráfico que muestra el aumento exponencial en comparación con un aumento lineal.  

Artículos Relacionados

¿Arduino controla ATX fuente de alimentación

¿Arduino controla ATX fuente de alimentación

un microcontrolador controlar su propio poder?  Bueno casi!Una alimentación de ATX de la fuente, ya sea nueva o de una PC vieja, es una gran manera para alimentar el Arduino y otros proyectos de microcontrolador.  Que se cubre en varios ' ibles como
Arduino controla el temporizador de cocina

Arduino controla el temporizador de cocina

Todos ustedes deben han experimentado esto que tienes algo cocinan sobre su cocina por el otro lado conseguir ocupado viendo la televisión o conseguir una conversación profunda que te das cuenta en la detección de un olor que completamente fue estrop
Hackeado Hexbug araña Arduino Control

Hackeado Hexbug araña Arduino Control

Este proyecto tiene hexbug araña basada en Arduino robot comprobaré. El sistema de control completa nuestro proyecto proporcionando tanto por teléfono y la computadora.http://make.robimek.com/Arduino-control-Hexbug-Spider/Paso 1: materiales:Hexbug ar
La introducción de Climaduino - el termostato basado en Arduino controlas desde tu teléfono!

La introducción de Climaduino - el termostato basado en Arduino controlas desde tu teléfono!

Actualización:Hay una nueva versión de la Climaduino y el Climaduino con algunos cambios muy significativos.Soporta múltiples zonasUtiliza el Arduino YúnTrabaja con aire acondicionado CentralSe comunica mediante el protocolo MQTT (se puede integrar c
Arduino controla el faro

Arduino controla el faro

Resumen:A menudo he pensado que un faro de un gran proyecto para un Arduino, y decidí probar con uno de los faros locales aquí en Erie, Pennsylvania como inspiración. Elegí el Norte Pierhead Faro que custodia la entrada a la bahía de la isla de Presq
LED amanecer / amanecer despertador, luz nocturna y luz seguridad - compatible con Arduino

LED amanecer / amanecer despertador, luz nocturna y luz seguridad - compatible con Arduino

como las noches alargadas gradualmente en otoño 2011, descubrí los placeres del Arduino y pensó que sería una buena manera de implementar algo que he querido durante mucho tiempo - una manera suave para despertar en la mañana de un invierno.  Lamenta
Arduino controla colmena fumigador / ambientador de aire

Arduino controla colmena fumigador / ambientador de aire

Dentro del caos relativo de mi arreglos domésticos, tengo un pequeño oasis de orden perfecto. Una cosa que puedo llamar 'organizado' y totalmente funcional. Una cosa que puedo tocar y saber que es confiable y listo para la acción en un aviso de momen
Amanecer despertador

Amanecer despertador

Si eres el tipo de persona que le gusta despertarse tan pronto como sale el sol, o sólo cuando es lo bastante ligero como fuera, entonces este proyecto es adecuado hasta su callejón. La premisa es que es una alarma que se activa cuando existe un cier
Barato Arduino control tomas de luz - ingeniería RF inversa

Barato Arduino control tomas de luz - ingeniería RF inversa

Costo de bombillas Smart su primogénito Hijo. Que es una lástima, porque luces inteligentes abre un enorme potencial para domótica, ahorro de energíay todo tipo de proyectos interesantes.Si sólo había una manera de controlar sus luces sin romper el B
Arduino controla pequeña radio FM

Arduino controla pequeña radio FM

Hoy en día, gracias a la continuamente creciente nivel de integración del sistema de las fichas, la fabricación de dispositivos electrónicos de alta calidad, se convierte en fácil como juego de niños. Otro factor que ayuda a esto es la proliferación
Arduino controla Rotary Stewart Platform

Arduino controla Rotary Stewart Platform

Este instructable es sobre la construcción de un rotatorio Plataforma de Stewart. Permite posicionar su plataforma móvil en seis grados de libertad. Esta plataforma específica está diseñada para poder colocar una réflex digital o cualquier otra cámar
Arduino: Control de varios componentes con un botón

Arduino: Control de varios componentes con un botón

Este es un circuito que permite que alternar entre los tres componentes diferentes, en este caso LED, pulsando un botón. El ciclo avanza cada vez que pulse el botón: (1) se apaga todo, (2) vuelta rojo en (3) amarilla & roja apagado, (4) vuelta en ver
Arduino controla perro alimentos/dispensador

Arduino controla perro alimentos/dispensador

En este Instructables describe cómo construir un dispensador de tratar alimentos de perro automático utilizando un Arduino Duemilanove (el Uno es la versión más reciente de la misma Junta). El intervalo de temporizador se puede ajustar mediante un po
Poco golpes paso a paso: Arduino control de LEDs RGB de WS2812B, WS2811 y WS2812

Poco golpes paso a paso: Arduino control de LEDs RGB de WS2812B, WS2811 y WS2812

descargo de responsabilidad: durante el año pasado, unas bibliotecas diferentes se han escrito para controlar estos ubicuos LEDs RGB por otros fabricantes de Adafruit, PJRC y el proyecto de FastSPI.  Las bibliotecas de un gran trabajan, y les debemos