Tabla de contenido:
- Paso 1: requisitos
- Paso 2: instalación del software
- Paso 3: Instalación del software - Pt.2
- Paso 4: cableado de hardware
- Paso 5: Pines GPIO en Raspi
- Paso 6: ¡Prueba
- Paso 7: solución de problemas
- Paso 8: instalación final
Video: Reloj digital de radio amateur Raspberry Pi: 8 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Visión general
Los operadores de radioaficionados (también conocidos como radio HAM) utilizan las 24 horas UTC (tiempo universal coordinado) para gran parte de sus operaciones. Decidí construir un reloj digital usando las pantallas de 4 dígitos TM1637 de bajo costo y una Raspberry Pi Zero W en lugar de solo un reloj GUI. (¡El hardware es divertido!)
La pantalla accionada por TM1637 tiene cuatro leds de 7 segmentos con dos puntos centrales “:” entre dos conjuntos de dígitos. Requiere dos cables para impulsar la pantalla más 5V + y tierra para un total de 4 cables.
Para este proyecto en particular, quería que Raspi obtuviera su tiempo de los servidores NTP (Network Time Protocol) a través de Internet. Estoy planeando otra versión de este reloj para que se ejecute en un módulo Arduino Uno y un reloj en tiempo real, para cuando no haya WiFi disponible y para un funcionamiento más portátil.
También quería que el reloj mostrara la hora local en formatos de 12 y 24 horas, así como UTC en formatos de 12 y 24 horas. El software está diseñado para permitirle usar solo 24 horas UTC (radioaficionados típicos) o diferentes horas en hasta 4 pantallas diferentes.
También puede configurar la ZONA HORARIA que le gustaría usar en lugar de la hora local predeterminada. Por lo tanto, cada una de las cuatro pantallas podría mostrar una zona horaria diferente y en formato de 12 o 24 horas.
Este proyecto requiere soldar conectores o cables en los módulos Pi y / o tm1637.
Las instrucciones completas también están disponibles en GITHUB:
Paso 1: requisitos
• Raspberry Pi2, 3 o Zero W. (es decir, cualquier pi con el encabezado de 40 pines y Ethernet / Wifi)
• 4 - Módulos de pantalla de 4 dígitos TM1637
Y / o
NOTA: puede utilizar más grandes o más pequeños, siempre que sean compatibles con TM1637.
• Mazo de cables con 16 cables (cada TM1637 necesita 4 cables)
• Protoboard y alambres sin soldadura O
• Placa de pruebas soldable y varios conectores de clavija.
• MicroSD de 8GB o más para Pi
• Fuente de alimentación de 5v para Pi.
Paso 2: instalación del software
Esta aplicación utiliza la biblioteca de python TM1637.py fácil de usar escrita por Tim Waizenegger. (Si desea detalles sobre la biblioteca, consulte:
¿Sabías?
Si instala Raspbian en una tarjeta SD usando una PC, puede crear dos archivos en la tarjeta para configurar el acceso WiFi y SSH antes de iniciarlo en una Raspberry.
Para esto, asuma que su tarjeta SD está actualmente montada como K: en su PC:
1) Instale la imagen de Raspbian Lite en la SD.
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2) Con el bloc de notas, cree un archivo llamado simplemente "ssh" y use Guardar como "Todos los archivos" en K: / ssh
El archivo puede contener cualquier cosa. Lo importante es el nombre del archivo. ¡¡¡NO debe ser "ssh.txt" !!!
3) Con el bloc de notas, cree un segundo archivo llamado "wpa_supplicant.conf" con lo siguiente:
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdevupdate_config = 1 network = {ssid = "mySSID" psk = "mypassword" key_mgmt = WPA-PSK}
Utilice Guardar como "Todos los archivos" en K: / wpa_supplicant.conf
Nuevamente, no permita que el Bloc de notas lo cambie a “wpa_supplicant.conf.txt” !!
Cuando inicie la Raspberry por primera vez, Raspbian las buscará y se conectará a su Wifi. Sin embargo, tendrá que buscar en su enrutador la dirección IP, ya que se asigna automáticamente.
Paso 3: Instalación del software - Pt.2
1. Si aún no lo ha hecho, instale la versión Raspbian Lite en una tarjeta microSD de 8 GB o más. NO necesita la versión GUI, ya que este proyecto no utiliza un monitor ni un teclado.
¡NOTA !: ¡Este proyecto requiere Python2.7!
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2. Deberá acceder a la Raspberry de forma remota a través de SSH. En Windows, puede utilizar el programa de terminal PUTTY SSH. En Mac, simplemente abra una ventana de terminal de comandos.
3. Inserte la tarjeta microSD en el Pi y conecte la alimentación ahora. Tardará unos minutos en arrancar.
4. Para iniciar sesión de forma remota en su Raspberry Pi, deberá encontrar su dirección IP. Puede probar: $ ssh [email protected] (O de Putty, ingrese el nombre de host [email protected] De lo contrario, deberá ver si su enrutador mostrará las direcciones IP de sus dispositivos locales. La identificación / contraseña predeterminada es “pi /frambuesa"
Una vez que haya iniciado sesión como usuario pi:
5. Actualice su Raspbian: $ sudo apt update $ sudo apt upgrade
6. Configure la frambuesa: $ sudo raspi-config a. Cambiar la contraseña de usuario b. Opciones de localización -> Cambiar zona horaria Seleccione su zona horaria local c. Tab para terminar
7. Instale el software RaspiDigiHamClock: $ cd / home / pi $ sudo apt update $ sudo apt install git $ git clone
8. Apague su Pi para configurar el hardware $ shutdown now Después de que el LED se apague, desconecte la alimentación
Paso 4: cableado de hardware
Puede soldar conectores en los módulos TM1637 y la Raspberry Pi (si aún no tiene un conector). Antes de comenzar, decida cómo desea montar las pantallas y si va a utilizar una placa de pruebas o soldar cables directamente en el Pi y los módulos de pantalla.
Pines del módulo TM1637
Nota de cableado: ¡Algunos módulos tm1637 invierten los pines + 5v y GND! Por lo tanto, puede que no parezca igual que las fotos.
El módulo TM1637 es un módulo de pantalla LED de 4 dígitos que utiliza el chip controlador TM1637. Solo necesita dos conexiones para controlar la pantalla de 8 segmentos de 4 dígitos. Otros dos cables alimentan energía de más de 5 voltios y tierra.
PIN DESC CLK Reloj DIO Datos en GND Tierra 5V +5 voltios
Algunos módulos tm1637 invierten los pines + 5v y GND, así que verifique las marcas de su módulo
Probar cada módulo Sugiero comenzar con un solo cable conector hembra de 4 hilos con conectores macho soldados a uno de los módulos y al Pi. Luego, conecte temporalmente el primer módulo a los pines que se muestran a continuación.
PRUEBA TEMPORAL A MODULETM1637 Módulo Pin Pi Pin Físico # 5V 2 GND 6 CLK 40 DIO 38 Vea los diagramas GPIO más abajo para encontrar la disposición de los pines.
La segunda foto muestra dos pantallas conectadas temporalmente a una Raspberry Pi 3 con el software en ejecución.
1. Una vez que haya cableado temporalmente un módulo y haya verificado su cableado
2. Encienda la Raspberry Pi. El LED rojo en el Módulo debería encenderse, pero NO HABRÁ PANTALLA todavía.
3. SSH en su Pi de nuevo como antes.
$ cd RaspiDigiHamClock
$ python test.py
Debería ver el ciclo de la pantalla a través de varios mensajes cortos. Si no es así, primero revise su cableado nuevamente. Es fácil girar un cable o enchufarlo en el pin GPIO incorrecto del Pi. Si recibe un mensaje de error de Python, verifique su versión de Python usando:
$ python -V ("V" mayúscula)
Python 2.7. X
No he probado con Python 3, así que no estoy seguro de si la biblioteca es compatible.
Copie el mensaje de error (generalmente la última línea del error) y péguelo en la búsqueda de Google. Esto puede dar una pista de lo que sucedió.
Si su módulo funciona, ¡enhorabuena! Sabes que el módulo y Pi están funcionando. Ahora repita para cada módulo para probarlo. (¡Sugiero apagar Pi y apagarlo ANTES de enchufar / desenchufar los módulos!)
$ sudo shutdown now
Paso 5: Pines GPIO en Raspi
Este proyecto utiliza los ID de la PLACA física GPIO para los Pines.
Ese es el Pin 1 al Pin 40. No la numeración de pin GPIO “BCM”. (Sí, un poco confuso, pero BOARD es solo el recuento de pines de arriba a la izquierda a abajo a la derecha).
Módulo de pantalla TM1637 Módulo Pin Pi Físico Pin # Alimentación 5V 2 Tierra GND 6
Módulo # 1 CLK 33
DIO 31
Módulo # 2 CLK 36
DIO 32
Módulo # 3 CLK 37
DIO 35
Módulo # 4 CLK 40
DIO 38
Nota: No es necesario que agregue los 4 módulos si lo desea. Puede tener entre 1 y 4 módulos. (Sí, es posible ir a más módulos, pero debe modificar el código para admitir más).
PERO, DEBE conectar los módulos secuencialmente comenzando en el Módulo # 1
Esto se debe a que la biblioteca TM1637 espera un ACK del módulo, por lo que parece que se cuelga esperando de lo contrario.
Fotos de muestra de la placa de pruebas soldada Debe seguir su propio patrón de cableado para que coincida con los pines GPIO que se muestran anteriormente, ya que los conectores y módulos que utilicé pueden no coincidir con los suyos.
Paso 6: ¡Prueba
¡Vaya, eso fue un poco de cableado! Ahora es el momento de las pruebas de humo …
Dado que ya conoce los módulos individuales y el trabajo de Pi (¿probó los módulos como se describió anteriormente?), Entonces el siguiente paso es configurar el archivo. INI y ejecutar el programa de reloj:
1. Edite el raspiclock.ini
$ cd / home / pi / RaspiDigiHamClock
$ nano raspiclock.ini
2. Cambie num_modules a cuántos ha conectado. Esto es importante ya que la biblioteca se colgará esperando un ACK si no puede comunicarse con un módulo. Asegúrese de conectar el número de módulos, EN EL ORDEN QUE SE MUESTRA en el. INI Nota: Los PIN adicionales de TZ y HR y GPIO se ignoran si num_modules es menor que 4.
3. Agregue zonas horarias para cada módulo.
Estos son los nombres TZ de Linux, como "America / New_York", EST5EDT, UTC o "Local" para su zona horaria local según lo establecido a través de raspi-config. El valor predeterminado es UTC
4. Configure si desea mostrar el modo de 12 horas o 24 horas para cada módulo
[RELOJ]; Número de módulos TM1637 (entre 1 y 4) num_modules = 2
; Zonas horarias para cada módulo
; Utilice raspi-config para establecer la zona horaria local; El valor predeterminado es UTC; El formato es nombres TZ de Linux o 'Local' para la hora local; 'América / New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =
; 12/24 horas para cada módulo
HR1 = 12 HR2 = 24 HR3 = 12 HR4 = 24
; BRILLO (rango 1..7)
LUM = 1
5. No debería tener que editar los pines GPIO a menos que los conecte a diferentes números de pines en el Pi.
6. Guarde los cambios y luego ejecute el reloj:
$ python raspiclock.py
Si todo está bien, todos sus módulos de visualización deberían iluminarse con los tiempos configurados en el archivo. INI.
¡Felicidades! Omita la solución de problemas y vaya a la instalación final …
Paso 7: solución de problemas
Debería ver aparecer algunos mensajes de depuración simples:
Inicializando… Número de módulos = 4 Bucle de reloj de inicio… Módulo # 1 displayTM () Módulo # 2 displayTM () Módulo # 3 displayTM () Módulo # 4 displayTM () (repitiendo…)
Si probó los módulos anteriormente y todos funcionaron, entonces sabrá que los módulos y Raspberry son buenos.
A) COLGAR: si los mensajes de depuración parecen colgarse en un punto, el programa está esperando un ACK de ese número de módulo.
¡Primero revise su cableado! Es fácil girar un cable o enchufar el pin GPIO incorrecto en el Pi.
En segundo lugar, intercambie módulos para ver si un módulo falló repentinamente.
En tercer lugar, compruebe si hay errores en el archivo raspiclock.ini. Si es necesario, elimine todo el directorio y haga otro GIT CLONE para recuperarlo nuevamente.
Cuarto, ¡revisa tu cableado nuevamente!;-)
B) Si recibe un mensaje de error de Python, verifique su versión de Python usando:
$ python -V ("V" mayúscula)
Python 2.7. X
No he probado con Python 3, por lo que no estoy seguro de si la biblioteca es compatible. Copie el mensaje de error (generalmente la última línea del error) y péguelo en la búsqueda de Google. Esto puede dar una pista de lo que sucedió.
Paso 8: instalación final
1. Edite el archivo. INI nuevamente y configure debug = 0. $ cd / home / pi / RaspiDigiHamClock
$ nano raspiclock.ini
2. También verifique que las zonas horarias TZ y los ajustes de HR 12/24 horas sean los que desee.
3. Configure el Brillo como desee entre 1 y 7.
4. Ejecute el script install.sh para agregarlo a pi crontab para el inicio automático en el arranque.
$ sh install.sh
5. Reiniciar
$ sudo reiniciar
6. Debería reiniciarse y luego empezar a funcionar.
¡FINALIZADO!
Recomendado:
Cómo hacer un reloj analógico y un reloj digital con una tira de LED usando Arduino: 3 pasos
Cómo hacer un reloj analógico y un reloj digital con una tira de LED usando Arduino: Hoy haremos un reloj analógico & Reloj digital con Led Strip y módulo MAX7219 Dot con Arduino, corregirá la hora con la zona horaria local. El reloj analógico puede usar una tira de LED más larga, por lo que se puede colgar en la pared para convertirse en una obra de arte
Reloj de jubilación / Cuenta ascendente / Reloj Dn: 4 pasos (con imágenes)
Reloj de jubilación / Count Up / Dn Clock: Tenía algunas de estas pantallas de matriz de puntos LED de 8x8 en el cajón y estaba pensando qué hacer con ellas. Inspirado por otros instructables, tuve la idea de construir una pantalla de cuenta regresiva / ascendente para contar regresivamente hasta una fecha / hora futura y si el tiempo objetivo p
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
Reloj Vortex: un reloj de pulsera con espejo infinito: 10 pasos (con imágenes)
Vortex Watch: un reloj de pulsera con espejo infinito: el objetivo de este proyecto era crear una versión portátil de un reloj con espejo infinito. Utiliza sus LED RGB para indicar el tiempo asignando horas, minutos y segundos a las luces roja, verde y azul respectivamente y superponiendo estos tonos t
Reloj de red ESP8266 sin ningún RTC - Reloj Nodemcu NTP Sin RTC - PROYECTO RELOJ DE INTERNET: 4 Pasos
Reloj de red ESP8266 sin ningún RTC | Reloj Nodemcu NTP Sin RTC | PROYECTO DE RELOJ DE INTERNET: En el proyecto se realizará un proyecto de reloj sin RTC, se tomará tiempo de Internet usando wifi y lo mostrará en la pantalla st7735