Tabla de contenido:

Reloj de pronóstico del tiempo con alarma antigua y Arduino: 13 pasos (con imágenes)
Reloj de pronóstico del tiempo con alarma antigua y Arduino: 13 pasos (con imágenes)

Video: Reloj de pronóstico del tiempo con alarma antigua y Arduino: 13 pasos (con imágenes)

Video: Reloj de pronóstico del tiempo con alarma antigua y Arduino: 13 pasos (con imágenes)
Video: La primer humanoide robot del mundo 🤖😳😱 #robot #robotics #robots #robotandroide #androide #humanoide 2024, Junio
Anonim
Reloj de pronóstico del tiempo con alarma antigua y Arduino
Reloj de pronóstico del tiempo con alarma antigua y Arduino
Reloj de pronóstico del tiempo con alarma antigua y Arduino
Reloj de pronóstico del tiempo con alarma antigua y Arduino

Tenía un reloj despertador roto y se me ocurrió una idea para convertirlo en reloj y estación de pronóstico del tiempo.

Para este proyecto necesitará:

  • Antiguo reloj de alarma circular
  • Arduino Nano
  • Módulo sensor BME280 (temperatura, humedad, presión)
  • Módulo de pantalla LCD de Nokia 5110
  • Reloj RTC DS1307
  • Cargador de batería de litio TP4056
  • Batería de iones de litio vieja rescatada de un teléfono móvil
  • Pequeño módulo de refuerzo de 3.7v a 5v
  • Resistencia dependiente de la luz (LDR - fotómetro)
  • Buzzer (usado recuperado de una PC antigua)
  • 3 pulsadores
  • Un montón de resistencias (2x10k, 270 ohmios) y un transistor (2N2222A o similar)
  • Algún tubo retráctil ancho
  • PCB de desecho para usar como decoración de la placa frontal
  • Cable de extensión micro-USB (tanto el lado hembra como el macho son Micro-USB)
  • Placa prototipo de 2x8cm y algunos cables.

Paso 1: desmonte todo

Desmontar todo
Desmontar todo

Primero desmonté el viejo reloj. Campanas, motor, mecanismo de reloj roto …

Paso 2: botones para la configuración digital

Botones para configuración digital
Botones para configuración digital
Botones para configuración digital
Botones para configuración digital
Botones para configuración digital
Botones para configuración digital
Botones para configuración digital
Botones para configuración digital

Dado que el nuevo reloj será completamente digital con una mini computadora en el interior, agregué 3 botones simples y agradables en el costado.

Usando un trozo de aluminio, corté la superposición para crear una etiqueta. Las letras de las etiquetas se crearon utilizando los tacos de letras y un marcador negro.

Paso 3: condensador para el motor

Condensador para el motor
Condensador para el motor

Conservaré las viejas campanas para accionar la alarma con el motor. El viejo mecanismo de reloj roto tenía un capacitor cerámico con la etiqueta 104. Lo quité de la placa de circuito y lo soldé directamente al motor; esto ayudará a evitar picos de energía al encender el motor durante la alarma. También es importante tener en cuenta que el motor se controlará a través de un transistor, pero más sobre esto más adelante.

Paso 4: nueva cara para el reloj

Nuevo rostro para el reloj
Nuevo rostro para el reloj
Nuevo rostro para el reloj
Nuevo rostro para el reloj

Desde que decidí hacer una nueva cara para el reloj, tomé una placa de circuito de mi pila de basura y usé una pistola de calor de construcción para quitar rápidamente todos los componentes. El agujero en el medio está hecho para la pantalla digital del nuevo reloj.

Paso 5: Pantalla digital del teléfono móvil antiguo

Pantalla digital del teléfono móvil antiguo
Pantalla digital del teléfono móvil antiguo
Pantalla digital del teléfono móvil antiguo
Pantalla digital del teléfono móvil antiguo

Para este proyecto, decidí utilizar una pantalla LCD del antiguo teléfono móvil Nokia 5110. Estas pantallas están ampliamente disponibles para la venta como un módulo, consumen muy poca energía y hay buenas bibliotecas para Arduino. Si está comprando un nuevo módulo con pantalla 5110, ¡está salvando el planeta porque todos los módulos nuevos se crean a partir de teléfonos 5110, 3110 y 3210 recuperados!

Paso 6: Conexión de los circuitos

Conectando los circuitos
Conectando los circuitos
Conectando los circuitos
Conectando los circuitos
Conectando los circuitos
Conectando los circuitos

Es posible que ya haya adivinado que estaba planeando usar la placa Arduino para controlar este reloj. El proyecto se puede repetir fácilmente incluso para los fanáticos principiantes de Arduino porque no creé mis propias placas de circuito. Es una placa Arduino Nano con módulos conectados: sensor de temperatura, presión y humedad BME280, reloj DS1307 RTC, cargador de batería de litio TP4056, módulo de refuerzo pequeño de 3.7v a 5v, resistencia dependiente de la luz (LDR - medidor de luz) y un zumbador (tomado de la vieja PC).

Eche un vistazo también a los bocetos: muestran todas las conexiones. Creo que todo es muy fácil de leer y entender, pero si tiene alguna pregunta, simplemente pregunte en los comentarios a continuación.

Algunas notas sobre la configuración:

  • El motor está conectado directamente desde la batería a través del transistor. Arduino controla el transistor a través de la resistencia y el pin D5 de PWM.
  • Los pines D7-12 se utilizan para el conector LCD. Tierra y VCC están conectados al riel en la placa de conexiones.
  • Se instaló LDR en la esfera del reloj y la resistencia + 3 cables salientes se soldaron justo en la parte posterior de la esfera del reloj.
  • Para la conexión del botón, utilicé la función PULLUP interna dentro de Arduino. El botón Menú está adjunto a la interrupción y solo más tarde me di cuenta de que también puede usar PULLUP interno para la interrupción. La interrupción del botón Menú es necesaria para que el código no escanee el estado de los botones todo el tiempo.
  • El reloj monitoreará y mostrará también el estado de la batería, por lo que la batería está conectada directamente al pin A0. El voltaje de la batería nunca supera los 4,2 V, por lo que es seguro conectar la batería directamente al pin analógico Arduino.
  • El zumbador está conectado directamente al pin D6 de PWM. Aunque esta no es una buena práctica, me salí con la mía porque Arduino Nano podría manejar especificaciones más altas que las indicadas y también porque el zumbador no funcionará continuamente. La misma configuración fácilmente quemaría los pines en las placas ESP, por lo que en esos casos recomiendo usar el control de transistor.
  • El reloj ya tenía un interruptor, así que decidí usarlo. Se ve natural en la espalda.

Paso 7: tablero de conexiones para conexiones fáciles

Tablero de conexiones para conexiones fáciles
Tablero de conexiones para conexiones fáciles
Tablero de conexiones para conexiones fáciles
Tablero de conexiones para conexiones fáciles

Todos los módulos requieren conexiones positivas y de tierra, así que decidí usar una placa prototipo de 2x8cm y soldarle rieles de tierra y 5V. También hice un pequeño riel I2C allí, ya que tenía varios módulos que usaban la interfaz I2C.

En el otro lado, soldé pines estándar para poder conectar y desconectar los módulos cuando fuera necesario.

Algunos de los componentes adicionales también se soldaron allí, como el transistor y la resistencia para el control del motor y una resistencia para el botón Menú que usa Interrupción. Mostré los esquemas en la sección anterior.

por cierto ¿Puedes ver el sensor LDR ya instalado en la esfera del reloj en la primera imagen?

Paso 8: Configuración de la energía

Configuración de la energía
Configuración de la energía

Usé una vieja batería de iones de litio de mi teléfono celular para alimentar este reloj. Por lo general, las baterías de los teléfonos móviles que se reemplazan todavía tienen una buena capacidad (al menos la mitad de lo que tenían cuando eran nuevas). Su ventaja es que tienen un circuito de protección de descarga incorporado y también son muy delgados, por lo que se pueden usar en escenarios de espacios reducidos.

Para conectar la batería, simplemente suelde los cables a los pines + y - de la batería. No se preocupe, no dañará la celda porque hay un controlador y un espacio vacío entre los pines y los productos químicos de la celda.

En esta imagen puede ver la batería y también el controlador de carga TP4056, así como el amplificador de 5V conectados entre sí y a la batería. Usé algunos tubos de plástico retráctil para hacer que todo estuviera aislado y compacto.

Paso 9: Micro USB para cargar y actualizar el firmware

Micro USB para cargar y actualizar el firmware
Micro USB para cargar y actualizar el firmware

Una vez que hube soldado todo, pegué el timbre y el sensor de temperatura / presión / humedad en el panel trasero. Todos encajaron muy bien en las ranuras existentes de los viejos controles de reloj.

Ahora era el momento de instalar el puerto Micro USB en la parte posterior. ¿Por qué Micro USB si Nano usa Mini USB? Simplemente porque en el hogar, la mayoría de los cables USB son de teléfonos celulares y sería conveniente que el reloj también pudiera tomar eso.

Como quería usarlo para cargar y actualizar el reloj y las funciones de la estación meteorológica, quité el cable USB, enrute los cables de alimentación a través del cargador TP4056 y los cables Data + / Data- directamente a la toma USB de Arduino Nano. Puede ver esto en el esquema que mostré en las secciones anteriores.

Paso 10: Montaje final

Montaje final
Montaje final
Montaje final
Montaje final
Montaje final
Montaje final

Ahora era el momento de volver a guardar todo en el reloj original. Usé tubo retráctil para aislar componentes y módulos. Incluso el Arduino estaba envuelto en un tubo retráctil.

Coloca el cursor sobre la primera foto para ver dónde se colocó cada componente.

Paso 11: el código

Como puede ver, el reloj está completamente empaquetado en su interior. Esto permitió crear algo más sofisticado que el antiguo reloj que tenía, dado que, por supuesto, hay algunas habilidades de programación. Escribí el código inicial, pero le pedí a mi amigo que interviniera y me ayudara.

Hasta ahora, además del reloj en sí, estas son las funciones que ya está soportando este proyecto:

  • Visualización de hora y fecha (así como hora y activación de alarma en la misma pantalla)
  • La pantalla se ilumina en condiciones de oscuridad o cuando se detecta movimiento (según los cambios de luz)
  • Previsión meteorológica (soleado, nublado, lluvioso)
  • Visualización de temperatura, presión y humedad (para la humedad indicará si está demasiado seco)
  • Menú de configuración: alarma, cambio de hora, habilitar / deshabilitar la visualización de la fecha, habilitar / deshabilitar las notificaciones de sonido de cambio de clima y cambiar entre unidades imperiales y métricas
  • Configuración de alarma: encendido / apagado, configuración de la hora, configuración de la melodía y / o campanas para notificaciones

Código más reciente:

El código se actualizará en el futuro con nuevas funciones, así que asegúrese de volver a consultar las actualizaciones de firmware:-)

Si eres nuevo en el mundo de Arduino, estos son los pasos que recomendaría seguir:

  • Instale el controlador USB para su placa (por ejemplo, CH340)
  • Instalar Arduino IDE
  • Instale las bibliotecas utilizadas en este proyecto
  • Descargue de GitHub y cargue el último código del proyecto en el reloj usando un cable Micro USB (puede usar uno desde el teléfono móvil)

El algoritmo de pronóstico es el siguiente:

Arduino Nano obtiene nuevos datos del sensor BME280 cada 12 minutos. El ciclo de medición es de 3 horas. Después de 3 horas, el rango de monitoreo de presión (valor máximo y mínimo durante 3 horas) cambia con respecto a los valores promedio durante el rango actual y el valor de presión actual. Cada hora se guarda la dirección del cambio de presión con el valor de presión actual. Las unidades de kPa se utilizan para el cálculo del pronóstico.

Debido a las limitaciones de memoria de Nano, el algoritmo de pronóstico tuvo que simplificarse. Pero a pesar de las simplificaciones, puede pronosticar la precipitación en las próximas 12-24 horas, aunque el pronóstico ahora es más pesimista: el valor predeterminado es "Clima nublado".

"Tiempo soleado": el valor actual de la presión es superior a la norma en 7 puntos, la presión no desciende y la diferencia entre los valores mínimo y máximo durante las últimas 3 horas no supera los 2 puntos.

Posible precipitación "Tiempo lluvioso" - la presión actual es 15 puntos más baja que la norma y la diferencia entre los valores mínimo y máximo es de más de 2 puntos O La presión está cayendo y la diferencia entre el valor actual y la norma es de 3 a 30 puntos.

Para mejorar la calidad del pronóstico, se recomienda cambiar su "altitud" en el archivo de código principal. Puede obtener su altitud, por ejemplo, aquí:

Paso 12: Video paso a paso

Image
Image

Si fue difícil seguir lo que hice anteriormente, aquí también hay una versión en video con todos los pasos que se muestran.

Paso 13: Palabras finales

En general, desde mi punto de vista, el nivel de dificultad de este proyecto no es alto y cualquiera podría hacerlo. Si no tienes un reloj viejo, puedes encontrar uno barato en un mercadillo local.

Todos los componentes son de bajo precio y están disponibles en Sparkfun / Aliexpress / eBay / Amazon.

Espero que este tutorial te haya resultado interesante y te agradecería que apoyaras mi primer concurso Instructable in the Clock.

Concurso de relojes
Concurso de relojes
Concurso de relojes
Concurso de relojes

Finalista en el Concurso de Relojes

Recomendado: