Tabla de contenido:
- Paso 1: reunir las piezas
- Paso 2: Montaje del circuito
- Paso 3: Configuración de la pantalla LCD y el reloj
- Paso 4: codificación
- Paso 5: ¡Hora de realizar la prueba
- Paso 6: configuración de la aplicación Bluetooth
- Paso 7: construcción del caso
- Paso 8: ¡Terminado
Video: Reloj despertador Sunrise con pantalla LCD y aplicación Bluetooth: 8 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
El invierno puede ser triste. Te despiertas, está oscuro y tienes que levantarte de la cama. Lo último que quieres escuchar es el molesto sonido de tu despertador. Si usted, como yo, tiene problemas para despertarse por la mañana, este reloj despertador es justo lo que necesita.
En este tutorial, vamos a construir un despertador de amanecer. Es un reloj despertador como cualquier otro en el que puede configurar la hora y los minutos en que desea despertarse, pero con el beneficio de usar la luz para iluminar su dormitorio durante un período de tiempo como un amanecer para despertarlo en lugar de un molesto. ¡zumbador!
También usaremos un módulo bluetooth para crear una aplicación que le permitirá configurar la alarma a través de su teléfono en el reloj. La pantalla LCD mostrará la hora, la fecha y el día de la semana. Existen lámparas de salida del sol en el mercado, pero pueden ser caras (una búsqueda rápida en Google devuelve productos en el rango de € 100), frágiles y de aspecto bastante clínico. Por eso decidí hacer el mío propio para mi proyecto escolar Arduino. Todas las piezas se enumerarán en el siguiente paso. El código se puede descargar desde mi repositorio Github sunrise-alarm-clock. Vamos a empezar:)
todo el código se puede encontrar en:
Paso 1: reunir las piezas
Usaremos un reloj como entrada y un LED ultrabrillante como salida para simular nuestro amanecer.
Para construir el circuito necesitaremos:
- Arduino Uno- módulo de reloj RTC DS3231 - un MOSFET para controlar el brillo de la luz - un LED superbrillante (compré 2, uno caliente y uno frío) - Batería de 9V para alimentar el LED - una placa de pruebas - una pantalla LCD (16: 2) - Adaptador Bluetooth hc-05 para que podamos usar una aplicación para configurar la alarma.
Todo lo que necesita se puede comprar en www.martoparts.nl
Paso 2: Montaje del circuito
Puede consultar el boceto de mi circuito, desafortunadamente no pude encontrar el RTC DS3231 en el programa, así que tuve que ver con este. Las conexiones son un poco diferentes en la realidad, aquí están las conexiones. (el módulo bluetooth no está en el boceto, pero explicaré cómo funciona a continuación porque es bastante complicado)
RTC DS3231GND va a GND en el arduino
VCC va al 5v
SDA va a arduino
SCL pasa a arduino No usaremos SQW y 32KMOSFET
El pin de la puerta va al pin ~ 9 en el Arduino Uno porque su PWM El pin de drenaje va al lado negativo del pin de la fuente del LED va a GND en el ArduinoLCD-DisplayGND va a GND en el arduino
VCC va a 5VSDA va a A4 en el arduinoSKL va a A5 en el arduinoLED- va a mosfet + va a la batería de 5v9v Puede comprar una batería de 9v en cualquier tienda local, conéctela al arduino con una tira de conexión.
El módulo Bluetooth hc-055V pasa a 5V desde el arduino
GND va a GND en el arduino
Ahora hay 2 entradas más, pero aquí viene la parte complicada, tenemos que conectar las entradas opuestas de esas 2 en el arduinoTX de hc-05 va a RX en arduinoRX de hc-05 va a TX en arduino
Importante: asegúrese de DESCONECTAR el TX & RX del HC-05 cuando esté cargando código en su arduino o obtendrá un error diciendo "algo salió mal al cargar el código" en el compilador.
Paso 3: Configuración de la pantalla LCD y el reloj
La biblioteca utilizada para la pantalla LCD es de cristal líquido y se puede encontrar en: https://github.com/fdebrabander/Arduino-LiquidCrys … Descargue el archivo zip, guárdelo y colóquelo en la carpeta / bibliotecas de Arduino.
La biblioteca que estoy usando para ejecutar el reloj se puede encontrar en Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 y asegúrese de estar en la página DS3231. Descarga el archivo zip, guárdalo y colócalo en la carpeta de bibliotecas de tu Arduino.
Tiempo
Incluya la biblioteca DS3231 o DS1307 en su código arduino
Descomente estas 3 líneas de código para establecer la hora:
// rtc.setDOW (LUNES); // Establecer el día de la semana en DOMINGO // rtc.setTime (23, 57, 0); // Establezca la hora en 12:00:00 (formato de 24 horas) // rtc.setDate (14, 1, 2019); // Establecer la fecha al 1 de enero de 2014
Pantalla LCD
Incluya la biblioteca liqduicrystal_i2c en su código arduino
Para imprimir en la pantalla LCD utilice
lcd.setCursor (col, row) // posición del texto impreso lcd.print (~) // texto impreso
Paso 4: codificación
Descarga el código en: github:
Descomente estas 3 líneas para configurar el reloj en su pantalla LCD:
// rtc.setDOW (LUNES); // Establecer el día de la semana en DOMINGO // rtc.setTime (23, 57, 0); // Establezca la hora en 12:00:00 (formato de 24 horas) // rtc.setDate (14, 1, 2019); // Establecer la fecha al 1 de enero de 2014
Utilice lcd.setCuros (columna, fila); para establecer la posición del texto en pantalla
lcd.setCursor (0, 2);
e imprimir () para imprimir algo en la pantalla
lcd.print (rtc.getDateStr ());
Cambie estas variables si lo desea
int fadeTime = 1; // Cuánto tiempo se desvanecerá la luz hasta maxint setHour = 02; // Establecer horas para despertar (hora militar) int setMin = 49; // Establecer minuto para despertar int uled = 9; // Establecer pinout con PWM
Código del módulo Bluetooth
Cadena firstHalf = getValue (input, ':', 0); // comprobar la primera entrada hasta ":"
String secondHalf = getValue (entrada, ':', 1); // verifica la segunda entrada después de ":"
// usa este código si no estás usando el módulo bluetooth
// // if (t.hour == setHour && t.min == setMin) // ¡Comprueba si es hora de despertar! // { // comienzo(); //}
// verifique las entradas de los 2 primeros dígitos, luego verifique los 2 dígitos de la entrada
if (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {start (); }}
// lógica para separar cadenas
String getValue (datos de cadena, separador de caracteres, índice int) {int encontrado = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1;
for (int i = 0; i <= maxIndex && encontrado <= índice; i ++) {if (data.charAt (i) == separador || i == maxIndex) {encontrado ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i + 1: i; }} retorno encontrado> índice? data.substring (strIndex [0], strIndex [1]): ""; }
Paso 5: ¡Hora de realizar la prueba
¡Compile su código y pruebe si los componentes funcionan!
Paso 6: configuración de la aplicación Bluetooth
Como me resultaba molesto profundizar en el código cada vez que quería configurar una alarma, quería crear una aplicación que estableciera la alarma, lo cual es mucho más fácil.
Vaya a https://ai2.appinventor.mit.edu, donde podemos crear una aplicación simple que nos permita configurar la alarma, he incluido la configuración de diseño simple (siempre puede modificar esto más tarde) y el código utilizado para el Conexión bluetooth. Luego puede publicar su aplicación y conectarse con ella en su teléfono usando un código QR o descargando directamente la aplicación en su computadora, luego transfiriéndola con un cable en su teléfono. (captura de pantalla)
Paso 7: construcción del caso
Siempre puedes construir una carcasa diferente alrededor de tu reloj arduino. Usé madera y plexiglás mate para construir mi propia caja de reloj despertador. Elegí plexiglás mate para que puedas ver la luz brillando claramente a través de la caja, pero no puedes ver el interior del reloj.
Paso 8: ¡Terminado
Ahora que ha subido el código a su arduino, construye la carcasa y verifica si ensambló correctamente su reloj, puede configurar una alarma en la aplicación bluetooth y comenzar a despertarse de forma más natural.:)
Recomendado:
Reloj despertador inteligente: un reloj despertador inteligente hecho con Raspberry Pi: 10 pasos (con imágenes)
Reloj despertador inteligente: un reloj despertador inteligente hecho con Raspberry Pi: ¿Alguna vez has querido un reloj inteligente? Si es así, ¡esta es la solución para usted! Hice Smart Alarm Clock, este es un reloj que puede cambiar la hora de la alarma de acuerdo con el sitio web. Cuando suene la alarma, habrá un sonido (zumbador) y 2 luces
Pantalla LCD I2C / IIC - Use una pantalla LCD SPI para la pantalla LCD I2C usando el módulo SPI a IIC con Arduino: 5 pasos
Pantalla LCD I2C / IIC | Use una pantalla LCD SPI para la pantalla LCD I2C usando el módulo SPI a IIC con Arduino: Hola a todos, ya que una pantalla LCD SPI 1602 normal tiene demasiados cables para conectar, por lo que es muy difícil conectarlo con arduino, pero hay un módulo disponible en el mercado que puede Convierta la pantalla SPI en la pantalla IIC, por lo que solo necesita conectar 4 cables
Pantalla LCD I2C / IIC - Convierta una pantalla LCD SPI en una pantalla LCD I2C: 5 pasos
Pantalla LCD I2C / IIC | Convierta una pantalla LCD SPI en la pantalla LCD I2C: el uso de la pantalla lcd spi necesita demasiadas conexiones, lo cual es realmente difícil de hacer, así que encontré un módulo que puede convertir la pantalla lcd i2c en la pantalla lcd spi, así que comencemos
Reloj despertador Sunrise con Arduino: 9 pasos (con imágenes)
Sunrise Alarm Clock con Arduino: El invierno puede ser triste. Te despiertas, está oscuro y tienes que levantarte de la cama. Lo último que quieres escuchar es el sonido estruendoso de tu despertador. Vivo en Londres y me cuesta despertarme por la mañana. Además, extraño despertarme a
Despertador LED Sunrise con alarma de canción personalizable: 7 pasos (con imágenes)
Despertador LED Sunrise con alarma de canción personalizable: mi motivación Este invierno mi novia tuvo muchos problemas para despertarse por la mañana y parecía estar sufriendo de SAD (trastorno afectivo estacional). Incluso me doy cuenta de lo difícil que es despertarse en invierno porque no ha salido el sol