Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Despertador que realmente te saca de la cama por la mañana

Componentes y suministros

Arduino Nano Every
Usaré el Nano Every para el ensamblaje final. Pero también puedes usar prácticamente cualquier otro Arduino (al principio, uso un Mega2560).
× 1
Módulo de reloj
× 1
HC-SR501
Este es el sensor de movimiento
× 1
Buzzer
× 1

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

Como a veces es muy difícil levantarse por la mañana, decidí hacer un despertador, que realmente te saca de la cama. La idea es usar un sensor de movimiento para que el despertador sepa si volviste a tu cama después de presionar el botón de repetición. Si ese es el caso, la alarma volverá a sonar. De lo contrario, si estuvo despierto el tiempo suficiente (por ejemplo, 2 minutos), el despertador ya no sonará. Durante este tiempo tienes que estar aproximadamente frente al sensor (a unos pocos metros) donde ya podrías comenzar tu rutina matutina.

Ensamblaje

Para este proyecto necesitamos un módulo de reloj, un sensor de movimiento, un zumbador, un botón pequeño y un Arduino.

Ahora todo debe estar conectado:

  • el pin negativo del zumbador -> GND
  • el pin del zumbador positivo -> D11
  • alfiler de botón -> GND
  • el otro pin de botón -> D9
  • sensor de movimiento VCC -> 5V
  • salida del sensor de movimiento -> D7
  • sensor de movimiento GND -> GND
  • módulo de reloj GND -> GND
  • módulo de reloj VCC -> 5V
  • módulo de reloj SDA -> SDA (pin 20 para Mega2560)
  • módulo de reloj SCL -> SCL (pin 21 para Mega2560)

Después de realizar el cableado como se muestra en los esquemas:

Código

Primero debe descargar el archivo ZIP de la sección de código. Esta es la biblioteca del módulo de reloj. Si tiene dificultades para agregar el archivo a su biblioteca, puede seguir las instrucciones que también se encuentran en la sección de código.

Ahora puede cargar el código desde la sección de software. Inmediatamente después de haber subido el código, debe comentar la línea:

  clock.setDateTime (__ DATE__, __TIME__);  

Esta línea está en la función de configuración.

Ahora debería volver a cargar el código directamente.

Si no lo comenta, la hora en el módulo de reloj se restablecerá a la última hora de carga cada vez que restablezca la placa.

Después de eso, puede establecer la hora a la que debe sonar la alarma. Puede configurar la hora del día y los minutos:

  // -------------------------------------- int set_hour =6; int set_minute =55; // --------------------------------------  

Ahora la alarma sonará todos los días a esta hora. También sería posible editar el código, de modo que pueda tener un horario diferente para el fin de semana u otros días.

Ahora, si enciende el despertador, esperará hasta la hora establecida. Entonces se ejecutará la función de alarma (). Al principio, comenzará a pitar hasta que presione el botón de repetición. Después de eso, el sensor de movimiento mira si hay una persona frente a él. Tienes que estar delante del sensor durante un período de tiempo determinado y también tienes que moverte un poco para que se active el sensor de movimiento. Si se mantiene dentro de la visión del sensor de movimiento durante el tiempo suficiente, habrá una señal de pitido breve que le indicará que la alarma ya está desactivada para el día y esperará hasta la mañana siguiente.

Sin embargo, si vuelve a la cama durante el tiempo posterior a haber presionado el botón, la alarma sonará y todo el procedimiento comenzará de nuevo. Así que este despertador se asegura de que no apagues la alarma y vuelvas a la cama. Con suerte, después del tiempo que estuviste frente al sensor, estarás lo suficientemente despierto como para no volver a irte a la cama.

En esta línea puedes ajustar el tiempo (en minutos) durante el cual debes estar frente al sensor:

  if (abs (dt.minute - minuto)> =1) {// establece el período de tiempo en el que debes // estar en  

Ajuste del sensor

El sensor de movimiento necesitará algunos ajustes para que funcione correctamente con este reloj despertador. Primero tenemos que colocar el puente de selección del disparador en el lugar correcto. ¡Debe estar en modo de disparo repetible!

Ahora también tienes que ajustar el tiempo de retardo y la sensibilidad. Para mí funcionó mejor cuando configuré la sensibilidad al máximo y el retardo de tiempo un poco por encima del mínimo. El retraso de tiempo determina cuánto tiempo después de la última detección de una persona la salida es alta. Si la demora es demasiado corta, es muy difícil evitar que la alarma vuelva a sonar porque el sensor no siempre lo detectará. Por otro lado, si la demora es demasiado larga, la alarma no se dará cuenta si vuelve a la cama.

Ahora lo hacemos compacto

Después de algunas pruebas, estamos listos para hacer que el despertador sea más compacto. Para eso, uso un Arduino Nano Every, pero también puedes usar casi cualquier otra placa Arduino para eso.

Comenzamos soldando todo junto de acuerdo con el segundo esquema (es básicamente lo mismo que antes solo que sin la placa).

Después de probar si todo sigue funcionando, podemos construir una carcasa para el despertador. Decidí hacer el estuche con madera de balsa de 3 mm porque es muy fácil de trabajar. Aquí hay algunas imágenes del proceso de construcción del caso. Las dimensiones de mi caja son 55 mm x 35 mm x 40 mm.

Hice un gran agujero para el sensor de movimiento y también una ranura para el cable micro USB y una abertura para el altavoz.

El despertador terminado:

Código

  • Despertador Código Arduino
  • Biblioteca de relojes
Despertador Código Arduino Arduino
 #include  #include  Reloj DS3231; RTCDateTime dt; int button =9; int pirPin =7; // Entrada para HC-S501int pirValue; // Lugar para almacenar valor PIR leído // -------------------------------------- int set_hour =7; int set_minute =0; // -------------------------------------- configuración vacía () {clock.begin (); pinMode (botón, INPUT_PULLUP); pinMode (LED_BUILTIN, SALIDA); //clock.setDateTime(__DATE__, __TIME__); // !! DESPUÉS DE LA PRIMERA CARGA TIENES QUE COMENTAR ESTA LÍNEA. ¡¡DE LO CONTRARIO, LE PASARÁ UN MOMENTO INCORRECTO !! pinMode (pirPin, INPUT);} anular alarma (int minuto) {bool button_pressed =false; bool despierto =falso; movimiento bool =falso; while (! button_pressed) {// la alarma está activada mientras no se presione el botón durante (int i =0; i <4; i ++) {tone (11, 523, 100); retraso (100); tono (11, 784, 50); for (int i =0; i <20; i ++) {if (digitalRead (button) ==LOW) {button_pressed =true; despierto =verdadero; dt =clock.getDateTime (); minuto =dt.minuto; } retraso (65); }}} dt =clock.getDateTime (); minuto =dt.minuto; while (despierto) {movimiento =falso; dt =clock.getDateTime (); for (int i =0; i <30; i ++) {if (digitalRead (pirPin)) {movimiento =verdadero;}} digitalWrite (LED_BUILTIN, movimiento); if (! pirValue) {retraso (5000); for (int i =0; i <40; i ++) {if (digitalRead (pirPin)) {movimiento =verdadero;}} if (! movimiento) {alarma (minuto); // si no se detecta movimiento durante demasiado tiempo, la alarma se reinicia}} if (abs (dt.minute - minuto)> =1) {// establece el período de tiempo en el que debes estar frente al tono del sensor (11, 698 , 50); retraso (100); tono (11, 698, 50); escritura digital (LED_BUILTIN, 0); despierto =falso; } retraso (100); }} bucle vacío () {dt =clock.getDateTime (); if (set_minute ==dt.minute &&set_hour ==dt.hour) {alarma (set_minute); } retraso (10000);} 
Biblioteca de relojes Arduino
Este es un archivo zip para la biblioteca DS3231. Tienes que descargarlo y agregarlo a tus bibliotecas de la siguiente manera:
abra Arduino -> vaya a "Sketch" -> "Incluir biblioteca" -> "Agregar biblioteca .ZIP" -> vaya al archivo zip y haga clic en Aceptar
 Sin vista previa (solo descarga). 

Esquemas

Olvidé dibujar una conexión a VCC y GND en el tablero. Entonces, solo necesita conectar 5V en el Arduino al riel positivo y GND en el Arduino al riel negativo.

Proceso de manufactura

  1. El sombrero de troll que cambiará tu forma de pensar sobre tu coche
  2. Reloj despertador simple con DS1302 RTC
  3. La formación sobre Industria 4.0 de SICK le ayudará a empezar con IO-Link en el PLC
  4. Factores que afectan el éxito y la seguridad del proceso de punzonado
  5. Factores clave que afectan los resultados del proceso de rectificado de superficies
  6. ¡Una máquina de torno CNC podría ser la única máquina que necesita!
  7. El equipo de mecanizado horizontal que puede necesitar
  8. ¿Quiere el mejor tipo de alimentador de barras cortas?
  9. Las principales razones por las que necesita un mecanizado aburrido
  10. Bomba de agua directa:que afectan el sistema de circulación
  11. Lo que necesita saber sobre la fresa de extremo de inserción