Tabla de contenido:
- Paso 1: reparación, primer paso
- Paso 2: solucionar el siguiente problema
- Paso 3: solucionar el último problema
- Paso 4: Arduino Sketch
- Paso 5: Programación del ESP-03 y conclusiones
Video: NO MÁS PRIMAVERA HACIA ADELANTE: 5 Pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
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
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
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
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
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
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:
¡IPod de acero cepillado hacia atrás !: 6 pasos
¡IPod trasero de acero cepillado !: ¿Buscas un nuevo aspecto para tu iPod? ¿Cansado del respaldo cromado que se raya con solo mirarlo? Bueno, ahora puedes mejorar exponencialmente la apariencia general de tu iPod (en mi opinión) cepillándolo. Bueno, en realidad, vas a poner una l
MEROSS MSS620: un viaje hacia lo extraño: 3 pasos
MEROSS MSS620 - un viaje a lo extraño: una amiga mía necesitaba algunos enchufes controlados por wifi para su balcón, ya sabes, lo habitual: regar las plantas, encender las luces cuando oscurece. Entonces, después de navegar por la web, se me ocurrió el MEROSS MSS620: dos cortes de energía
Máquina de entrenamiento plegable hacia atrás: 4 pasos
Máquina de entrenamiento plegable: diseño este proyecto porque ahora en todas partes hay coronavirus y la gente se aburre de quedarse en casa sin hacer nada. Esta máquina puede entrenar tu cuerpo y tus habilidades de carrera. Esta máquina hace que las personas que aman pero no pueden salir a
RaspberryPi: Fade un LED hacia adentro y hacia afuera: 4 pasos (con imágenes)
RaspberryPi: Fade un LED hacia adentro y hacia afuera: Los siguientes pasos son experimentos para ilustrar cómo funcionan los LED. Muestran cómo atenuar un LED a un ritmo uniforme y cómo atenuarlo hacia adentro y hacia afuera. Necesitará: RaspberryPi (utilicé una Pi más antigua, mi Pi-3 está en uso, pero cualquier Pi funcionará)
Desvanecer un LED hacia adentro y hacia afuera: 3 pasos
Atenuar un LED hacia adentro y hacia afuera: Los siguientes pasos son experimentos para ilustrar cómo funcionan los LED. Ilustran cómo atenuar un LED a un ritmo uniforme y cómo atenuarlo hacia adentro y hacia afuera. Necesitará: Arduino (usé un dúo) Placa de pruebas LED roja de 5 mm 330 Ω Resistir