Innehållsförteckning:
- Steg 1: Krav
- Steg 2: Programvaruinstallation
- Steg 3: Programvaruinstallation - Pt.2
- Steg 4: Hårdvarukablar
- Steg 5: GPIO -pins på Raspi
- Steg 6: Testa
- Steg 7: Felsökning
- Steg 8: Slutinstallation
Video: Raspberry Pi Amateur Radio Digital Clock: 8 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Översikt
Amatörradiooperatörer (aka HAM Radio) använder 24 -timmars UTC (Universal Coordinated Time) för mycket av sin verksamhet. Jag bestämde mig för att bygga en digital klocka med hjälp av billiga TM1637 fyrsiffriga skärmar och en Raspberry Pi Zero W istället för bara en GUI-klocka. (Hårdvara är kul!)
Den TM1637 -drivna displayen har fyra lysdioder med 7 segment med mittkolon”:” mellan två uppsättningar siffror. Det kräver två ledningar för att driva displayen plus 5V + och Ground för totalt 4 ledningar.
För detta projekt ville jag att Raspi skulle få sin tid från NTP -servrar (Network Time Protocol) via Internet. Jag planerar en annan version av den här klockan för att köra på en Arduino Uno och en Real-Time Clock-modul, för när ingen WiFi är tillgänglig och för mer bärbar drift.
Jag ville också att klockan skulle visa lokal tid i 12- och 24 -timmarsformat samt UTC i 12- och 24 -timmarsformat. Programvaran är utformad så att du bara kan använda UTC 24 timmar (typiska skinkor) eller olika tider på upp till 4 olika skärmar.
Du kan också ställa in TIDSZONEN som du vill använda istället för standard lokal tid. Så var och en av de fyra skärmarna kan visa en annan tidszon och i 12- eller 24 -timmarsformat.
Detta projekt kräver lödkontakter eller ledningar på Pi och/eller tm1637 -modulerna.
Fullständiga instruktioner finns också på GITHUB:
Steg 1: Krav
• Raspberry Pi2, 3 eller Zero W. (dvs valfri pi med 40 -stifts rubrik och Ethernet/Wifi)
• 4-TM1637 4-siffriga displaymoduler
Och/eller
OBS: du kan använda större eller mindre, så länge de är TM1637 -kompatibla.
• Ledningsnät med 16 trådar (varje TM1637 behöver 4 trådar)
• Lödfritt brödbräda och trådar Or
• Lödbar brödbräda och olika stiftkontakter.
• 8 GB MicroSD eller större för Pi
• 5v strömförsörjning för Pi.
Steg 2: Programvaruinstallation
Denna applikation använder det lättanvända TM1637.py python -biblioteket skrivet av Tim Waizenegger. (Om du vill ha information om biblioteket, kolla in:
Visste du?
Om du installerar Raspbian på ett SD -kort med en dator kan du skapa två filer på kortet för att konfigurera WiFi och SSH -åtkomst innan du startar det på ett hallon?
För detta, anta att ditt SD -kort för närvarande är monterat som K: på din dator:
1) Installera Raspbian Lite -bilden till SD: n.
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2) Med anteckningsblock skapar du en fil som bara heter "ssh" och använder Spara som "Alla filer" till K: / ssh
Filen kan innehålla vad som helst. Det är filnamnet som är viktigt. Får INTE vara “ssh.txt” !!!
3) Med anteckningsblock skapar du en andra fil som heter “wpa_supplicant.conf” med följande:
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdevupdate_config = 1 nätverk = {ssid = "mySSID" psk = "mypassword" key_mgmt = WPA-PSK}
Använd Spara som "Alla filer" till K: / wpa_supplicant.conf
Återigen, låt inte Anteckningar ändra det till “wpa_supplicant.conf.txt” !!
När du startar Raspberry första gången kommer Raspbian att leta efter dessa och ansluta till din Wifi. Du måste dock leta efter din IP -adress på din router eftersom den har tilldelats automatiskt.
Steg 3: Programvaruinstallation - Pt.2
1. Om du inte redan har gjort det, installera Raspbian Lite -versionen på ett 8 GB eller större microSD -kort. Du behöver INTE GUI -versionen, eftersom detta projekt inte använder en bildskärm eller ett tangentbord.
OBS !: Detta projekt kräver Python2.7!
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2. Du måste fjärråtkomst till hallon via SSH. I Windows kan du använda PUTTY SSH -terminalprogram. På Mac tar du bara upp ett kommandoterminalfönster.
3. Sätt i microSD -kortet i Pi och anslut strömmen nu. Det tar några minuter att starta.
4. För att fjärransluta till din Raspberry Pi måste du hitta dess IP -adress. Du kan prova: $ ssh [email protected] (Eller från Putty, ange värdnamn [email protected] Annars måste du se om din router visar IP -adresserna för dina lokala enheter. Standard -id/passwd är "pi /hallon"
En gång inloggad som pi -användare:
5. Uppdatera din Raspbian: $ sudo apt update $ sudo apt upgrade
6. Konfigurera hallon: $ sudo raspi-config a. Ändra användarlösenord b. Lokaliseringsalternativ -> Ändra tidszon Välj din lokala tidszon c. Flik för att slutföra
7. Installera programvaran RaspiDigiHamClock: $ cd/home/pi $ sudo apt update $ sudo apt install git $ git klon
8. Stäng av din Pi för att ställa in maskinvaran $ avstängning nu När lysdioden slocknar kopplar du bort strömmen
Steg 4: Hårdvarukablar
Du kan lödkontakter på TM1637 -modulerna och Raspberry Pi (om den inte redan har en kontakt). Innan du börjar, bestäm hur du vill montera skärmarna och om du ska använda en brödbräda eller lödkablar direkt på Pi- och displaymodulerna.
TM1637 modulstift
Kabelanslutning: Vissa tm1637 -moduler vänder +5v- och GND -stiften! Så kanske inte ser ut som bilderna.
TM1637-modulen är en fyrsiffrig LED-displaymodul som använder TM1637-drivrutinschipet. Den behöver bara två anslutningar för att styra den 4-siffriga 8-segmentiga displayen. Två andra ledningar matar 5+ volt och jord.
PIN DESC CLK Klocka DIO Data I GND Ground 5V +5 volt
Vissa tm1637 -moduler vänder +5v- och GND -stiften, så kolla modulens markeringar
Testa varje modul Jag föreslår att du börjar med en enda 4 -trådig honkontaktkabel med hankontakter lödda på en av modulerna och Pi. Anslut sedan den första modulen tillfälligt till stiften som visas nedan.
TEMPORÄR TEST A MODULETM1637 Modul Pin Pi Physical Pin# 5V 2 GND 6 CLK 40 DIO 38 Se GPIO -diagrammen längre ner för att hitta stiftlayouterna.
Det andra fotot visar två skärmar som är tillfälligt anslutna till en Raspberry Pi 3 med programvaran igång.
1. När du väl har en modul tillfälligt ansluten och kontrollerat din ledning
2. Sätt på Raspberry Pi. Den röda lysdioden på modulen ska lysa, men det kommer INGEN SKÄRM att visas ännu.
3. SSH i din Pi igen som tidigare.
$ cd RaspiDigiHamClock
$ python test.py
Du bör se displaycykeln genom olika korta meddelanden. Om du inte gör det, kontrollera först din ledning igen! Det är lätt att vända en kabel eller ansluta till fel GPIO -stift på Pi. Om du får ett Python -felmeddelande, verifiera din Python -version med:
$ python -V (stort "V")
Python 2.7. X
Jag har inte testat mot Python 3, så jag är inte säker på om biblioteket är kompatibelt.
Kopiera felmeddelandet (vanligtvis den sista raden i felet) och klistra in i Google -sökning. Detta kan ge en aning om vad som hände.
Om din modul fungerar, grattis! Du vet att modulen och Pi fungerar. Upprepa nu för varje modul för att testa den. (Jag föreslår att du stänger av Pi och stänger av INNAN du ansluter/kopplar ur modulerna !!)
$ sudo avstängning nu
Steg 5: GPIO -pins på Raspi
Detta projekt använder GPIO fysiska BOARD -id: er för stiften.
Det är Pin 1 till Pin 40. Inte "BCM" GPIO -numret. (Ja, lite förvirrande, men BOARD är bara stifträkningen uppifrån till vänster till höger.)
Displaymodul TM1637 Modulstift Pi Fysisk stift#Effekt 5V 2 Jord GND 6
Modul #1 CLK 33
DIO 31
Modul #2 CLK 36
DIO 32
Modul #3 CLK 37
DIO 35
Modul #4 CLK 40
DIO 38
Obs! Du behöver inte lägga till alla fyra moduler om så önskas. Du kan ha mellan 1 och 4 moduler. (Ja, det är möjligt att gå till fler moduler, men du måste ändra koden för att stödja mer.)
MEN, du MÅSTE ansluta modulerna sekventiellt från och med modul #1
Detta beror på att TM1637 -biblioteket förväntar sig en ACK från modulen så verkar hänga i väntan annars.
Exempel på foton av lödda brödbrädor Du måste följa ditt eget ledningsmönster för att matcha GPIO -stiften som visas tidigare, eftersom kontakterna och modulerna jag använde kanske inte matchar dina.
Steg 6: Testa
Wow, det var lite ledningar! Nu är det dags för rökprovning …
Eftersom du redan känner till de enskilda modulerna och Pi -arbetet (testade du modulerna som beskrivits tidigare?), Är nästa steg att konfigurera. INI -filen och köra klockprogrammet:
1. Redigera raspiclock.ini
$ cd/home/pi/RaspiDigiHamClock
$ nano raspiclock.ini
2. Ändra num_modulerna till hur många du har anslutit. Detta är viktigt eftersom biblioteket väntar på en ACK om det inte kan prata med en modul. Var noga med att koppla in antalet moduler, I BESTÄLLNINGEN VISAD i. INI Obs: Extra TZ och HR och GPIO PINS ignoreras om num_modules är mindre än 4.
3. Lägg till tidszoner för varje modul.
Detta är Linux TZ-namn, som "America/New_York", EST5EDT, UTC eller "Local" för din lokala tidszon enligt raspi-config. Standard är UTC
4. Ställ in om 12- eller 24 -timmarsvisning ska visas för varje modul
[KLOCKA]; Antal TM1637 -moduler (mellan 1 och 4) num_modules = 2
; Tidszoner för varje modul
; Använd raspi-config för att ställa in lokal tidszon; Standard är UTC; Format är Linux TZ -namn eller "Local" för lokal tid; 'America/New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =
; 12/24 timmar för varje modul
HR1 = 12 HR2 = 24 HR3 = 12 HR4 = 24
; LJUSSTYRKA (intervall 1..7)
LUM = 1
5. Du ska inte behöva redigera GPIO -stiften om du inte ansluter dem till olika stiftnummer på Pi.
6. Spara ändringarna och kör sedan klockan:
$ python raspiclock.py
Om allt är bra bör alla dina bildskärmsmoduler lysa med tiden som anges i. INI -filen.
Grattis! Hoppa över felsökningen och gå till den slutliga installationen …
Steg 7: Felsökning
Du bör se några enkla felsökningsmeddelanden visas:
Initierar … Antal moduler = 4 Startklockslinga … Modul#1 displayTM () Modul#2 displayTM () Modul#3 displayTM () Modul#4 displayTM () (upprepas …)
Om du testade modulerna tidigare och alla fungerade, vet du att modulerna och hallon är bra.
A) HANG - Om felsökningsmeddelanden verkar hänga på en plats väntar programmet på en ACK från den modulen#.
Kontrollera först din ledning! Det är lätt att vända en kabel eller ansluta till fel GPIO -stift på Pi.
För det andra, byt moduler för att se om en modul plötsligt gick dåligt.
För det tredje, kontrollera filen raspiclock.ini för fel. Om det behövs, ta bort hela katalogen och gör en annan GIT -KLON för att hämta igen.
För det fjärde, kontrollera din ledning igen!;-)
B) Om du får ett Python -felmeddelande, verifiera din Python -version med:
$ python -V (stort "V")
Python 2.7. X
Jag har inte testat mot Python 3, så jag är inte säker på om biblioteket är kompatibelt. Kopiera felmeddelandet (vanligtvis den sista raden i felet) och klistra in i Google -sökning. Detta kan ge en aning om vad som hände.
Steg 8: Slutinstallation
1. Redigera. INI -filen igen och ställ in debug = 0. $ cd/home/pi/RaspiDigiHamClock
$ nano raspiclock.ini
2. Kontrollera också att TZ -tidszonerna och HR 12/24 timmars inställningar är som du önskar.
3. Ställ in önskad ljusstyrka mellan 1 och 7.
4. Kör install.sh -skriptet för att lägga till pi crontab för automatisk start vid start.
$ sh install.sh
5. Starta om
$ sudo starta om
6. Det bör starta om och sedan komma igång.
FÄRDIGA!
Rekommenderad:
'Weasley' Location Clock med 4 händer: 11 steg (med bilder)
"Weasley" Location Clock With 4 Hands: Så, med en Raspberry Pi som hade sparkat runt ett tag, ville jag hitta ett trevligt projekt som skulle tillåta mig att utnyttja det på bästa sätt. Jag stötte på denna fantastiska instruerbara Build Your Own Weasley Location Clock av ppeters0502 och tänkte att
Network Time Digital Clock Användning av ESP8266: 4 steg (med bilder)
Network Time Digital Clock Användning av ESP8266: Vi lär oss hur man bygger en söt liten digital klocka som kommunicerar med NTP -servrar och visar nätverk eller internettid. Vi använder WeMos D1 mini för att ansluta till ett WiFi -nätverk, hämta NTP -tiden och visa den på en OLED -modul. Videon ovan
DIY Smart Scale With Alarm Clock (med Wi-Fi, ESP8266, Arduino IDE och Adafruit.io): 10 steg (med bilder)
DIY Smart Scale With Alarm Clock (med Wi-Fi, ESP8266, Arduino IDE och Adafruit.io): I mitt tidigare projekt utvecklade jag en smart badrumsvåg med Wi-Fi. Den kan mäta användarens vikt, visa den lokalt och skicka den till molnet. Du kan få mer information om detta på länken nedan: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Rainbow Word Clock med en fullständig Rainbow -effekt och mer: 13 steg (med bilder)
Rainbow Word Clock Med Full Rainbow Effect och mer: Mål1) Simple2) Inte dyrt3) Så energieffektivt som möjligt Rainbow Word Clock med full regnbågeffekt.En Smiley på Word Clock.Enkel IR-fjärrkontroll Uppdatera 03-nov-18 LDR för ljusstyrkekontrollen för neopixlarna Uppdatera 01-jan-
Morphing Digital Clock: 14 steg (med bilder)
Morphing Digital Clock: En snabb video om detta projekt. Jag har sedan implementerat ett sätt att ställa in tidszon. Tack vare Arduino- och ESP8266 -samhällets arbete är den här coola klockan överraskande lätt att bygga! Bara två huvudkomponenter: Display (uppenbarligen) och en WiFi