Tabla de contenido:

Reloj digital de radio amateur Raspberry Pi: 8 pasos (con imágenes)
Reloj digital de radio amateur Raspberry Pi: 8 pasos (con imágenes)

Video: Reloj digital de radio amateur Raspberry Pi: 8 pasos (con imágenes)

Video: Reloj digital de radio amateur Raspberry Pi: 8 pasos (con imágenes)
Video: TODO ESTO PUEDES HACER CON UNA RASPBERRY PI 😈💻 2024, Noviembre
Anonim
Reloj digital de radio aficionado Raspberry Pi
Reloj digital de radio aficionado Raspberry Pi

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

Requisitos
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

Cableado de hardware
Cableado de hardware
Cableado de hardware
Cableado de hardware
Cableado de hardware
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

Pines GPIO en Raspi
Pines GPIO en Raspi
Pines GPIO en Raspi
Pines GPIO en Raspi
Pines GPIO en Raspi
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

Instalación final
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: