Tabla de contenido:

NO MÁS PRIMAVERA HACIA ADELANTE: 5 Pasos
NO MÁS PRIMAVERA HACIA ADELANTE: 5 Pasos

Video: NO MÁS PRIMAVERA HACIA ADELANTE: 5 Pasos

Video: NO MÁS PRIMAVERA HACIA ADELANTE: 5 Pasos
Video: Adela Borș - Mi Ritmo (Official Video) 2024, Noviembre
Anonim
NO MÁS PRIMAVERA ADELANTE
NO MÁS PRIMAVERA ADELANTE
NO MÁS PRIMAVERA HACIA ADELANTE
NO MÁS PRIMAVERA HACIA ADELANTE

Título alternativo: IP Time Clock part 3

Si te gusta, lo inscribo en el concurso Reloj.

¿Estás cansado de tener que saltar hacia adelante?

¿Estás cansado de tener que retroceder?

Bueno, yo soy. Tengo este reloj despertador antiguo que solucionó esto (por un tiempo) (Ver imagen) Se ajustaría automáticamente al horario de verano y (creo) tiene respaldo de batería en caso de que pierda energía. Desafortunadamente, hace varios años, EE. UU. Decidió cambiar los días para cambiar la hora. ¡Así que ahora este reloj debe cambiarse manualmente cuatro veces al año! Utilizo esto solo como respaldo.

Así que este Lazy Old Geek (LOG) quería el reloj perfecto. Todos somos diferentes y los tiempos cambian (¡Ja! ¡Ja!) Y los ideales cambian. Aquí está mi reloj de dormitorio ideal.

Siempre visible por la noche. AVISO: No hay segundos parpadeantes por la noche, eso distrae demasiado.

DST automático (horario de verano). Odio tener que cambiar la hora del reloj dos veces al año.

Muestra el día de la semana. Desde que soy VIEJO y no me acuerdo.

Así que me gustan los segundos en la mañana. El anuncio dice que haga gárgaras durante 30 segundos, así que me gusta un reloj que muestre los segundos.

Sin luz azul. Todos sabemos que la luz azul es mala para ti. No siempre es cierto, mira esto:

www.instructables.com/id/Blue-Light-Proje…

De acuerdo, eso es bastante simple. Muchos relojes son visibles de noche y muchos no son azules. Algunos son relojes "atómicos" que se ajustan al horario de verano. De hecho, algunos de mis relojes "atómicos" tengo que jugar con los cambios de horario de verano.

Ahora la situación de los segundos es más específica. De hecho, diseñé el mío para hacer eso en este Instructable (aunque noté que no lo expliqué muy bien):

www.instructables.com/id/IP-Time-Clock-Par…

Este reloj duró unos cuatro años, relativamente sin mantenimiento hasta hace un par de meses cuando dejó de funcionar.

Paso 1: reparación, primer paso

Arreglo, primer paso
Arreglo, primer paso
Arreglo, primer paso
Arreglo, primer paso
Arreglo, primer paso
Arreglo, primer paso

Pantalla azul de la muerte, reloj IP (en realidad es negro).

Technobabble:

Una breve descripción de IP Clock. Utiliza un microcontrolador ESP-03, este se conecta a internet con WiFi. Soldé dos tiras de cabezal macho de 2 mm en el ESP-03 para que se conecte a un enchufe en la PCB.

Utiliza dos pantallas de siete segmentos y 3 dígitos como: https://www.aliexpress.com/item/4000300425570.htm …

No recuerdo si estos eran cátodos o ánodos comunes.

Un Max7219 para controlar las pantallas y los LED individuales para los días de la semana.

Para obtener más detalles, consulte mi Instructable parte 2 del reloj IP.

Bueno, lo primero que intenté fue reprogramar el ESP-03 (microcontrolador), así que miré mi Instructable y lo intenté, pero no me dejaba programarlo.

HISTORIA IRRELEVANTE: Está bien, soy un hombre VIEJO, así que mi mente divaga. Una de las razones por las que entré en Instructables.com fue que tenía excelentes Instructables en Arduino. Fue una de las principales razones por las que entré en Arduinos y aprendí a usarlos. Los escritores instruibles tienen diferentes niveles y habilidades, pero a menudo puedo encontrar algunos que están en un nivel que puedo entender. Así que gracias Instructables por ayudarme a lo largo de los años.

Para devolver el favor, escribo Instructables que espero ayuden a otros.

Una segunda razón por la que escribo Instructables es para ayudarme a recordar cómo hice los proyectos. Mientras escribo Instructables, trato de proporcionar todos los detalles para hacer lo que hice. Me parece que no siempre hago un buen trabajo.

De acuerdo, puse el reloj IP en un segundo plano.

Mi teoría es que más luz azul me dio más energía (ver arriba blueproject Instructable) y me enfoqué para revisar este problema. Lo que finalmente descubrí fue que el método que estaba usando para programar el ESP-03 ya no funcionaba. Escribí esto en otro Instructable:

www.instructables.com/id/2020-ESP8266/

Problema 1 resuelto, ahora puedo programar ESP-03 con bocetos de Arduino.

Paso 2: solucionar el siguiente problema

Solucionar el siguiente problema
Solucionar el siguiente problema
Solucionar el siguiente problema
Solucionar el siguiente problema
Solucionar el siguiente problema
Solucionar el siguiente problema

Bueno, programé un ESP-03 con mi antiguo boceto de Arduino, lo puse en mi reloj IP, todavía no funcionó. Por cierto, escribí el boceto, no se mostró nada hasta que se realizó una conexión exitosa a Internet y al servidor NTP (proporciona la hora exacta en Internet), así que tuve una pantalla en blanco.

Usando el monitor serial Arduino, pude ver que no se estaba conectando al servidor NTP.

NOTA: El ESP-03 utiliza un microcontrolador ESP8266. Una de las cosas buenas del ESP8266 es que tiene WiFi integrado. En términos técnicos se puede conectar a un punto de acceso WiFi o enrutador WiFi que tienen muchos hogares, incluido el mío.

Volviéndose bastante técnico aquí, los nuevos enrutadores WiFi tienen dos anchos de banda, 2.4GHz y 5.0GHz. (Vea la imagen de mi enrutador) Me gusta pensar en ellos como la diferencia entre la radio AM y FM. (¿Recuerdas esos?)

Una limitación de ESP8266 es que solo usan un ancho de banda de 2.4GHz.

Más cosas técnicas, cuando te conectas a WiFi necesitas un identificador llamado SSID. Es como una estación de radio individual, K Earth 101. Y por razones de seguridad, también necesita una contraseña.

Bueno, muchos enrutadores WiFi de doble banda (2.4GHz y 5GHz) usan el mismo SSID para ambas bandas.

De todos modos, por alguna razón, no pude conectar un ESP-03 con mi enrutador. Me parece recordar que otras personas tienen problemas similares.

En pocas palabras: configuré otro enrutador que tenía SSID separados para la banda de 2,4 y 5 GHz, por ejemplo, "mtslink24" y "mtslink50" y pude hablar por Internet (ver imagen).

ADVERTENCIA: Si tiene un enrutador de doble banda con los mismos SSID en ambas bandas, es posible que no funcione con ESP8266.

Paso 3: solucionar el último problema

Solucionar el último problema
Solucionar el último problema

Lo que estaba viendo era que todavía no podía conectarme al servidor NTP. Encontré otro Sketch para ver si podía usar Internet y funcionó, así que el siguiente problema parecía ser la conexión al servidor NTP.

Bueno, en mi boceto original, usé una dirección IP para conectarme a un servidor NTP:

tf.nist.gov/tf-cgi/servers.cgi

Así que probé varias direcciones IP de Boulder y FT. Collins que están bastante más cerca de donde estoy. Ninguno de ellos funcionó. Hice algunos juegos y de hecho conseguí que un boceto global funcionara, pero solo se encerraría quizás una de cada cinco veces. Investigué un poco más y encontré algo llamado pool.ntp.org. Aparentemente, lo que hace es rotar a través de un montón de direcciones IP para que ninguna dirección esté sobrecargada y todas deberían estar activas.

Bueno, realmente no entiendo muy bien esta programación WiFi, pero logré encontrar un ejemplo que pude adaptar a mi boceto y lo hice funcionar. ¡Yippee!

Paso 4: Arduino Sketch

Bosquejo de Arduino
Bosquejo de Arduino

Adjunto está mi boceto de trabajo, Special.ino

Aquí hay algunos comentarios al respecto:

Aquí es donde pones tu propio SSID y contraseña. (Debe ser de 2,4 GHz).

char ssid = "YourSSID"; // SSID de red (nombre)

char pass = "Su contraseña SSID"; // contraseña de red

Usando la lista de servidores pool.ntp.org.

IPAddress timeServerIP; // time.nist.gov dirección del servidor NTP

const char * ntpServerName = "pool.ntp.org";

// obtener un servidor aleatorio del grupo WiFi.hostByName (ntpServerName, timeServerIP);

Dos funciones DST:

void findChangeDates (); // Buscar fechas de cambio de primavera / otoño

bool IsDST (); // Comprueba si es DST

findChangeDates (); toma el año actual y calcula qué días de marzo y noviembre son las fechas de cambio

bool IsDST (); determina si el día actual es DST o no

anular digitalClockDisplay ()

Bueno, desafortunadamente mi viejo cerebro ya no puede resolver esto. Lo que creo que hace es apagar la pantalla de segundos después de las 9 p.m. y los vuelve a encender alrededor de las 5 a.m. Me resulta muy molesto mirar un reloj cuando estoy en la cama y ver que pasan los segundos. Pero cuando me levanto por la mañana me gusta ver los segundos para poder "cronometrar" mis gárgaras.

Paso 5: Programación del ESP-03 y conclusiones

Programación del ESP-03 y conclusiones
Programación del ESP-03 y conclusiones

Actualmente estoy usando Arduino versión 1.8.12.

La forma más fácil para mí de instalar el ESP8266 es usando Board Manager usando este método:

github.com/esp8266/Arduino#installing-with…

Una vez instalado, al seleccionar Placa, selecciono “Módulo ESP8266 genérico”.

ADVERTENCIA: En mi PC hay dos versiones del “módulo ESP8266 genérico”. El de la categoría “tableros ESP8266” funciona, el de Sparkfun no.

Bueno, soy un vago. Lo que realmente hice fue tomar un ESP-03 y programarlo en mi adaptador ESP modificado desde:

www.instructables.com/id/2020-ESP8266/

Lo que pude haber hecho es modificar mi PCB IP Clock 2 de acuerdo con este esquema, simplemente agregando un par de puentes.

Además, modifiqué un adaptador USB CP2102 para tener RTS conectado al pin al lado de GND.

Con estas modificaciones, es como cargar un boceto de Arduino normal sin tener que presionar ningún botón.

CONCLUSIONES: Bueno, me gusta mi reloj IP. Cumple con todos mis criterios. A pesar de lo que muestra la imagen, los LED son rojos, no blancos, por lo que no son azules.

Recomendado: