Sommario:
- Passaggio 1: requisiti
- Passaggio 2: installazione del software
- Passaggio 3: installazione del software - Pt.2
- Passaggio 4: cablaggio hardware
- Passaggio 5: pin GPIO su Raspi
- Passaggio 6: test
- Passaggio 7: risoluzione dei problemi
- Passaggio 8: installazione finale
Video: Orologio digitale per radioamatori Raspberry Pi: 8 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
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
• 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
È 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
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
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:
Come creare un orologio analogico e un orologio digitale con una striscia LED usando Arduino: 3 passaggi
Come creare un orologio analogico e un orologio digitale con una striscia LED usando Arduino: oggi realizzeremo un orologio analogico e un orologio Orologio digitale con Led Strip e modulo MAX7219 Dot con Arduino. Correggerà l'ora con il fuso orario locale. L'orologio analogico può utilizzare una striscia LED più lunga, quindi può essere appeso al muro per diventare un'opera d'arte
Orologio per il pensionamento / Orologio con conteggio su/giù: 4 passaggi (con immagini)
Orologio per la pensione / Orologio per conteggio su/giro: avevo alcuni di questi display a matrice di punti a LED 8x8 nel cassetto e stavo pensando a cosa farne. Ispirato da altre istruzioni, ho avuto l'idea di costruire un display per il conto alla rovescia per il conto alla rovescia per una data/ora futura e se il tempo target p
Costruisci un ricevitore per radioamatori da componenti elettronici: Salda un kit FM Ramsey FR146 da 2 metri: 27 passaggi (con immagini)
Costruire un ricevitore Ham da componenti elettronici: saldare un kit FM da 2 metri Ramsey FR146: assemblare un kit radio, dal disimballaggio al funzionamento. La build prevede la saldatura di componenti elettronici di base, inclusi circuiti integrati e transistor, e la messa a punto dell'oscillatore locale. Sono inclusi molti suggerimenti e suggerimenti, oltre a un semplice ali
Microdot - Orologio da polso con motivo a LED Orologio: 7 passaggi (con immagini)
Microdot - Orologio da polso con motivo a LED: un'altra produzione RGB Sunset Productions! funzioni più applicabili a un dispositivo portatile. UN
Costruisci un vero orologio che suona la campana per il tuo PC e un orologio che suona l'estintore.: 3 passaggi (con immagini)
Costruisci un vero orologio che suona la campana per il tuo PC e un orologio che suona l'estintore.: Una campana di ottone, un piccolo relè alcune altre cose e una vera campana possono battere le ore sul tuo desktop. Anche se questo progetto funziona su Windows e Mac Inoltre OS X, ho deciso di installare Ubuntu Linux su un PC che ho trovato nel cestino e lavorarci sopra: non avevo mai