Sommario:

Orologio digitale per radioamatori Raspberry Pi: 8 passaggi (con immagini)
Orologio digitale per radioamatori Raspberry Pi: 8 passaggi (con immagini)

Video: Orologio digitale per radioamatori Raspberry Pi: 8 passaggi (con immagini)

Video: Orologio digitale per radioamatori Raspberry Pi: 8 passaggi (con immagini)
Video: Ham Radio Raspberry Pi 2024, Novembre
Anonim
Orologio digitale per radioamatori Raspberry Pi
Orologio digitale per radioamatori Raspberry Pi

Panoramica

I radioamatori (noti anche come radioamatori) utilizzano l'UTC (Universal Coordinated Time) 24 ore su 24 per gran parte delle loro operazioni. Ho deciso di costruire un orologio digitale utilizzando i display a 4 cifre TM1637 a basso costo e un Raspberry Pi Zero W invece di un semplice orologio GUI. (L'hardware è divertente!)

Il display pilotato dal TM1637 ha quattro led a 7 segmenti con due punti centrali “:” tra due serie di cifre. Richiede due fili per pilotare il display più 5V+ e Ground per un totale di 4 fili.

Per questo particolare progetto, volevo che il Raspi ricevesse il suo tempo dai server NTP (Network Time Protocol) via Internet. Sto progettando un'altra versione di questo orologio per funzionare su un Arduino Uno e un modulo Real-Time Clock, per quando non è disponibile il WiFi e per operazioni più portatili.

Volevo anche che l'orologio mostrasse l'ora locale nei formati 12 e 24 ore e UTC nei formati 12 e 24 ore. Il software è progettato per consentirti di utilizzare solo UTC 24 ore su 24 (prosciutti tipici) o orari diversi su un massimo di 4 display diversi.

Puoi anche impostare il FUSO ORARIO che desideri utilizzare al posto dell'ora locale predefinita. Quindi ciascuno dei quattro display potrebbe mostrare un fuso orario diverso e nel formato 12 o 24 ore.

Questo progetto richiede la saldatura di connettori o fili sui moduli Pi e/o tm1637.

Le istruzioni complete sono disponibili anche su GITHUB:

Passaggio 1: requisiti

Requisiti
Requisiti

• Raspberry Pi2, 3 o Zero W. (ovvero qualsiasi pi con header a 40 pin ed Ethernet/Wifi)

• 4 - TM1637 Moduli display a 4 cifre

E/o

NOTA: è possibile utilizzare quelli più grandi o più piccoli, purché siano compatibili con TM1637.

• Cablaggio con 16 fili (ogni TM1637 necessita di 4 fili)

• Tagliere e fili senza saldatura O

• Breadboard saldabile e vari connettori pin.

• MicroSD da 8 GB o superiore per Pi

• Alimentazione 5v per Pi.

Passaggio 2: installazione del software

Questa applicazione utilizza la libreria Python facile da usareTM1637.py scritta da Tim Waizenegger. (Se vuoi dettagli sulla libreria, controlla:

Lo sapevate?

Se installi Raspbian su una scheda SD utilizzando un PC, puoi creare due file sulla scheda per configurare l'accesso WiFi e SSH prima di avviarlo su un Raspberry?

Per questo, supponi che la tua scheda SD sia attualmente montata come K: sul tuo PC:

1) Installa l'immagine Raspbian Lite sulla SD.

www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit

2) Con il blocco note, crea un file chiamato semplicemente "ssh" e usa Salva come "Tutti i file" in K:\ssh

Il file può contenere qualsiasi cosa. È il nome del file che è importante. NON deve essere "ssh.txt"!!!

3) Con il blocco note, creare un secondo file chiamato "wpa_supplicant.conf" con quanto segue:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1 rete={ ssid="mySSID" psk="mypassword" key_mgmt=WPA-PSK }

Usa Salva come "Tutti i file" in K:\wpa_supplicant.conf

Ancora una volta, non lasciare che Blocco note lo cambi in "wpa_supplicant.conf.txt"!!

Quando avvii il Raspberry per la prima volta, Raspbian li cercherà e si connetterà al tuo Wifi. Dovrai cercare sul tuo router l'indirizzo IP, tuttavia, poiché è stato assegnato automaticamente.

Passaggio 3: installazione del software - Pt.2

1. Se non l'hai già fatto, installa la versione Raspbian Lite su una scheda microSD da 8 GB o più grande. NON è necessaria la versione GUI, poiché questo progetto non utilizza un monitor o una tastiera.

NOTA!: Questo progetto richiede Python2.7!

www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit

2. Dovrai accedere al Raspberry in remoto tramite SSH. Su Windows, puoi usare il programma terminale PUTTY SSH. Su Mac, apri semplicemente una finestra del terminale di comando.

3. Inserisci la scheda microSD nel Pi e collega l'alimentazione ora. Ci vorranno alcuni minuti per l'avvio.

4. Per accedere in remoto al tuo Raspberry Pi, dovrai trovare il suo indirizzo IP. Puoi provare: $ ssh [email protected] (oppure da Putty, inserisci hostname [email protected] Altrimenti, dovrai vedere se il tuo router mostrerà gli indirizzi IP dei tuoi dispositivi locali. L'id/passwd predefinito è "pi /lampone"

Una volta effettuato l'accesso come utente pi:

5. Aggiorna il tuo Raspbian: $ sudo apt update $ sudo apt upgrade

6. Configura il Raspberry: $ sudo raspi-config a. Modifica password utente b. Opzioni di localizzazione -> Cambia fuso orario Seleziona il tuo fuso orario locale c. Tab per finire

7. Installa il software RaspiDigiHamClock: $ cd /home/pi $ sudo apt update $ sudo apt install git $ git clone

8. Spegni il tuo Pi per configurare lo spegnimento dell'hardware $ ora Dopo che il LED si spegne, scollegare l'alimentazione

Passaggio 4: cablaggio hardware

Cablaggio hardware
Cablaggio hardware
Cablaggio hardware
Cablaggio hardware
Cablaggio hardware
Cablaggio hardware

È possibile saldare i connettori sui moduli TM1637 e sul Raspberry Pi (se non dispone già di un connettore). Prima di iniziare, decidi come vuoi montare i display e se utilizzerai una breadboard o fili di saldatura direttamente sul Pi e sui moduli display.

Pin del modulo TM1637

Nota sul cablaggio: alcuni moduli tm1637 capovolgono i pin +5v e GND! Quindi potrebbe non apparire uguale alle foto.

Il modulo TM1637 è un modulo display a led a 4 cifre che utilizza il chip driver TM1637. Sono necessarie solo due connessioni per controllare il display a 8 segmenti a 4 cifre. Altri due fili alimentano l'alimentazione a 5+ volt e la messa a terra.

PIN DESC CLK Orologio DIO Dati In GND Massa 5V +5 volt

Alcuni moduli tm1637 capovolgono i pin +5v e GND, quindi controlla i contrassegni del tuo modulo

Testare ogni moduloSuggerisco di iniziare con un cavo connettore femmina a 4 fili singolo con connettori maschio saldati a uno dei moduli e al Pi. Quindi collegare temporaneamente il primo modulo fino ai pin mostrati di seguito.

TEST TEMPORANEO A MODULETM1637 Modulo Pin Pi Pin fisico 5V 2 GND 6 CLK 40 DIO 38 Vedere i diagrammi GPIO più in basso per trovare la disposizione dei pin.

La seconda foto mostra due display temporaneamente collegati a un Raspberry Pi 3 con il software in esecuzione.

1. Dopo aver cablato temporaneamente un modulo e verificato il cablaggio

2. Accendi il Raspberry Pi. Il LED rosso sul modulo dovrebbe accendersi, ma non ci sarà ancora NESSUN DISPLAY.

3. SSH di nuovo nel tuo Pi come in precedenza.

$ cd RaspiDigiHamClock

$ python test.py

Dovresti vedere il display scorrere attraverso vari brevi messaggi. Se non lo fai, prima controlla di nuovo il cablaggio! È facile capovolgere un cavo o collegarlo al pin GPIO sbagliato sul Pi. Se ricevi un messaggio di errore Python, verifica la tua versione di Python usando:

$ pitone -V (V maiuscola)

Python 2.7. X

Non ho testato contro Python 3, quindi non sono sicuro che la libreria sia compatibile.

Copia il messaggio di errore (di solito l'ultima riga dell'errore) e incolla nella ricerca di Google. Questo può dare un indizio su quello che è successo.

Se il tuo modulo funziona, congratulazioni! Sai che il modulo e Pi stanno funzionando. Ora ripeti per ogni modulo per testarlo. (Suggerisco di spegnere Pi e spegnere PRIMA di collegare/scollegare i moduli!!)

$ sudo spegnimento ora

Passaggio 5: pin GPIO su Raspi

Pin GPIO su Raspi
Pin GPIO su Raspi
Pin GPIO su Raspi
Pin GPIO su Raspi
Pin GPIO su Raspi
Pin GPIO su Raspi

Questo progetto utilizza gli ID BOARD fisici GPIO per i Pin.

Questo è il pin 1 al pin 40. Non la numerazione dei pin GPIO "BCM". (Sì, un po' di confusione, ma BOARD è solo il conteggio dei pin da in alto a sinistra a in basso a destra.)

Modulo display TM1637 Modulo Pin Pi Pin fisico#Power 5V 2 Ground GND 6

Modulo #1 CLK 33

DIO 31

Modulo #2 CLK 36

DIO 32

Modulo #3 CLK 37

DIO 35

Modulo #4 CLK 40

DIO 38

Nota: non è necessario aggiungere tutti e 4 i moduli se lo si desidera. Puoi avere da 1 a 4 moduli. (Sì, è possibile passare a più moduli, ma è necessario modificare il codice per supportarne di più.)

MA, DEVI collegare i moduli in sequenza a partire dal Modulo #1

Questo perché la libreria TM1637 si aspetta un ACK dal modulo, quindi sembra bloccarsi in attesa del contrario.

Foto di esempio di breadboard saldato Devi seguire il tuo schema di cablaggio per abbinare i pin GPIO mostrati in precedenza, poiché i connettori e i moduli che ho usato potrebbero non corrispondere ai tuoi.

Passaggio 6: test

Wow, era un po' di cablaggio! Ora è il momento del test del fumo…

Poiché conosci già i singoli moduli e il funzionamento di Pi (hai testato i moduli come descritto in precedenza?), Il passaggio successivo consiste nell'impostare il file. INI ed eseguire il programma orologio:

1. Modifica il file raspiclock.ini

$ cd /home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Cambia i num_modules in quanti ne hai cablati. Questo è importante in quanto la libreria si bloccherà in attesa di un ACK se non può parlare con un modulo. Assicurati di collegare il numero di moduli, NELL'ORDINE MOSTRATO nel file. INI Nota: i PIN extra TZ e HR e GPIO vengono ignorati se num_modules è inferiore a 4.

3. Aggiungi fusi orari per ogni modulo.

Questo è Linux TZ Names, come "America/New_York", EST5EDT, UTC o "Local" per il tuo fuso orario locale come impostato tramite raspi-config. L'impostazione predefinita è UTC

4. Impostare se visualizzare la modalità 12 ore o 24 ore per ciascun modulo

[OROLOGIO]; Numero di moduli TM1637 (tra 1 e 4) num_modules = 2

; Fusi orari per ogni modulo

; Usa raspi-config per impostare il fuso orario locale; L'impostazione predefinita è UTC; Il formato è Linux TZ Names o 'Local' per l'ora locale; 'America/New_York', EST5EDT, UTC, 'Locale' TZ1 = Locale TZ2 = UTC TZ3 = TZ4 =

; 12/24 ore per ogni modulo

HR1 = 12 HR2 = 24 HR3 = 12 HR4 = 24

; LUMINOSITÀ (intervallo 1..7)

LUM = 1

5. Non dovresti dover modificare i pin GPIO a meno che non li colleghi a pin # diversi sul Pi.

6. Salvare le modifiche e quindi eseguire l'orologio:

$ python raspiclock.py

Se tutto va bene, tutti i moduli di visualizzazione dovrebbero illuminarsi con gli orari impostati nel file. INI.

Congratulazioni! Salta la risoluzione dei problemi e vai all'installazione finale…

Passaggio 7: risoluzione dei problemi

Dovresti vedere alcuni semplici messaggi di debug:

Inizializzazione…Numero di moduli = 4 Avvio ciclo di clock… Modulo#1 displayTM() Modulo#2 displayTM() Modulo#3 displayTM() Modulo#4 displayTM() (ripetuto…)

Se hai testato i moduli in precedenza e hanno funzionato tutti, allora sai che i moduli e Raspberry sono buoni.

A) HANG – Se i messaggi di debug sembrano bloccarsi in un punto, il programma è in attesa di un ACK da quel module#.

Prima controlla il cablaggio! È facile capovolgere un cavo o collegarlo al pin GPIO sbagliato sul Pi.

In secondo luogo, scambiare i moduli per vedere se un modulo è andato improvvisamente male.

Terzo, controlla la presenza di errori nel file raspiclock.ini. Se necessario, elimina l'intera directory ed esegui un altro GIT CLONE per recuperarla di nuovo.

Quarto, controlla di nuovo il cablaggio!;-)

B) Se ricevi un messaggio di errore Python, verifica la tua versione di Python usando:

$ pitone -V (V maiuscola)

Python 2.7. X

Non ho testato contro Python 3, quindi non sono sicuro che la libreria sia compatibile. Copia il messaggio di errore (di solito l'ultima riga dell'errore) e incolla nella ricerca di Google. Questo può dare un indizio su quello che è successo.

Passaggio 8: installazione finale

Installazione finale
Installazione finale

1. Modifica nuovamente il file. INI e imposta debug = 0.$ cd /home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Verificare anche che i fusi orari TZ e le impostazioni HR 12/24 ore siano come si desidera.

3. Impostare la Luminosità come desiderato tra 1 e 7.

4. Eseguire lo script install.sh da aggiungere a pi crontab per l'avvio automatico all'avvio.

$ sh install.sh

5. Riavvia

$ sudo reboot

6. Dovrebbe riavviarsi e poi tornare in esecuzione.

FINITO!

Consigliato: