Innholdsfortegnelse:
- Trinn 1: Krav
- Trinn 2: Programvareinstallasjon
- Trinn 3: Programvareinstallasjon - Pt.2
- Trinn 4: Kabling av maskinvare
- Trinn 5: GPIO Pins på Raspi
- Trinn 6: Testing
- Trinn 7: Feilsøking
- Trinn 8: Sluttinstallasjon
Video: Raspberry Pi Amateur Radio Digital Clock: 8 Steps (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Oversikt
Amatørradiooperatører (alias HAM Radio) bruker 24 timer UTC (Universal Coordinated Time) for mye av operasjonen. Jeg bestemte meg for å bygge en digital klokke ved hjelp av billige TM1637 4-sifrede skjermer og en Raspberry Pi Zero W i stedet for bare en GUI-klokke. (Maskinvare er gøy!)
Den TM1637 -drevne skjermen har fire lysdioder med 7 segmenter med et midtpunkt ":" mellom to sett med sifre. Det krever to ledninger for å drive displayet pluss 5V + og Ground for totalt 4 ledninger.
For dette prosjektet ønsket jeg at Raspi skulle få tiden sin fra NTP -servere (Network Time Protocol) via Internett. Jeg planlegger en annen versjon av denne klokken for å kjøre på en Arduino Uno og en sanntidsklokke-modul, for når ingen WiFi er tilgjengelig og for mer bærbar drift.
Jeg ville også at klokken skulle vise lokal tid i 12- og 24 -timersformater samt UTC i 12- og 24 -timersformater. Programvaren er designet for å la deg bare bruke UTC 24 timer (typiske skinker) eller forskjellige tider på opptil 4 forskjellige skjermer.
Du kan også angi TIDSZONE du vil bruke i stedet for standard lokal tid. Så hver av de fire skjermene kan vise en annen tidssone og i 12 -timers eller 24 -timers format.
Dette prosjektet krever loddingskontakter eller ledninger på Pi og/eller tm1637 -modulene.
Fullstendige instruksjoner er også tilgjengelig på GITHUB:
Trinn 1: Krav
• Raspberry Pi2, 3 eller Zero W. (dvs. hvilken som helst pi med 40 -pinners topptekst og Ethernet/Wifi)
• 4-TM1637 4-sifrede displaymoduler
Og/eller
MERK: du kan bruke større eller mindre, så lenge de er TM1637 -kompatible.
• Ledningsnett med 16 ledninger (hver TM1637 trenger 4 ledninger)
• Loddefritt brødbrett og ledninger Or
• Loddbart brødbrett og forskjellige pinnekontakter.
• 8 GB MicroSD eller større for Pi
• 5v strømforsyning for Pi.
Trinn 2: Programvareinstallasjon
Denne applikasjonen bruker det brukervennlige TM1637.py python -biblioteket skrevet av Tim Waizenegger. (Hvis du vil ha detaljer om biblioteket, sjekk ut:
Visste du?
Hvis du installerer Raspbian på et SD -kort ved hjelp av en PC, kan du opprette to filer på kortet for å konfigurere WiFi og SSH -tilgang før du starter det på et bringebær?
For dette, anta at SD -kortet ditt for øyeblikket er montert som K: på din PC:
1) Installer Raspbian Lite -bildet til SD -en.
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2) Med notisblokk, opprett en fil som bare heter “ssh” og bruk Lagre som “Alle filer” til K: / ssh
Filen kan inneholde alt. Det er filnavnet som er viktig. Må IKKE være “ssh.txt” !!!
3) Med notisblokk, opprett en andre fil kalt "wpa_supplicant.conf" med følgende:
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdevupdate_config = 1 nettverk = {ssid = "mySSID" psk = "mypassword" key_mgmt = WPA-PSK}
Bruk Lagre som "Alle filer" til K: / wpa_supplicant.conf
Igjen, ikke la Notisblokk endre det til “wpa_supplicant.conf.txt” !!
Når du starter Raspberry første gang, vil Raspbian se etter disse og koble til Wifi. Du må imidlertid se på ruteren din etter IP -adressen siden den er automatisk tildelt.
Trinn 3: Programvareinstallasjon - Pt.2
1. Hvis du ikke allerede har gjort det, må du installere Raspbian Lite -versjonen på et 8 GB eller større microSD -kort. Du trenger IKKE GUI -versjonen, ettersom dette prosjektet ikke bruker en skjerm eller et tastatur.
MERK !: Dette prosjektet krever Python2.7!
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2. Du må få tilgang til bringebæret eksternt via SSH. På Windows kan du bruke PUTTY SSH terminalprogram. På Mac, bare åpne et kommandoterminalvindu.
3. Sett inn microSD -kortet i Pi og koble til strømmen nå. Det vil ta noen minutter å starte opp.
4. For å logge på Raspberry Pi eksternt, må du finne IP -adressen. Du kan prøve: $ ssh [email protected] (Eller fra Putty, skriv inn vertsnavn [email protected] Ellers må du se om ruteren din vil vise IP -adressene til dine lokale enheter. Standard -ID/passwd er “pi /bringebær"
Når du er logget inn som pi -bruker:
5. Oppdater Raspbian: $ sudo apt oppdatering $ sudo apt oppgradering
6. Konfigurer bringebæret: $ sudo raspi-config a. Endre brukerpassord b. Lokaliseringsalternativer -> Endre tidssone Velg din lokale tidssone c. Tab for å fullføre
7. Installer RaspiDigiHamClock -programvaren: $ cd/home/pi $ sudo apt update $ sudo apt install git $ git clone
8. Slå av Pi -en din for å konfigurere maskinvaren $ shutdown nå Etter at LED -lampen slukker, koble fra strømmen
Trinn 4: Kabling av maskinvare
Du kan lodde kontakter på TM1637 -modulene og Raspberry Pi (hvis den ikke allerede har en kontakt). Før du begynner, bestem deg for hvordan du vil montere skjermene, og om du skal bruke et brødbrett eller loddetråder direkte på Pi- og displaymodulene.
TM1637 modulnål
Merknad om ledninger: Noen tm1637 -moduler snu +5v- og GND -pinnene! Så det ser kanskje ikke ut som bildene.
TM1637-modulen er en firesifret LED-skjermmodul som bruker TM1637-driverbrikken. Den trenger bare to tilkoblinger for å kontrollere det firesifrede 8-segmenters displayet. To andre ledninger mater 5+ volt strøm og jord.
PIN DESC CLK Klokke DIO Data I GND Ground 5V +5 volt
Noen tm1637 -moduler snu +5v- og GND -pinnene, så sjekk modulens markeringer
Test hver modul Jeg foreslår at du starter med en enkelt 4 -leder kvinnelig kontaktkabel med mannlige kontakter loddet til en av modulene og Pi. Koble deretter den første modulen midlertidig til pinnene vist nedenfor.
TEMPORÆR TEST EN MODULETM1637 Modul Pin Pin Fysisk Pin# 5V 2 GND 6 CLK 40 DIO 38 Se GPIO -diagrammene lenger ned for å finne pin -oppsettene.
Det andre bildet viser to skjermer som er midlertidig koblet til en Raspberry Pi 3 mens programvaren kjører.
1. Når du har en modul midlertidig koblet til og sjekket ledningene
2. Slå på Raspberry Pi. Den røde LED -en på modulen skal lyse, men det kommer INGEN DISPLAY ennå.
3. SSH inn i Pi igjen som tidligere.
$ cd RaspiDigiHamClock
$ python test.py
Du bør se visningssyklusen gjennom forskjellige korte meldinger. Hvis du ikke gjør det, må du først sjekke ledningene igjen! Det er enkelt å snu en ledning eller koble til feil GPIO -pin på Pi. Hvis du får en Python -feilmelding, må du bekrefte Python -versjonen din med:
$ python -V (stor "V")
Python 2.7. X
Jeg har ikke testet mot Python 3, så jeg er ikke sikker på om biblioteket er kompatibelt.
Kopier feilmeldingen (vanligvis den siste linjen i feilen) og Lim inn i Google -søk. Dette kan gi en pekepinn på hva som skjedde.
Hvis modulen din fungerer, gratulerer! Du vet at modulen og Pi fungerer. Gjenta nå for hver modul for å teste den. (Jeg foreslår at du slår av Pi og slår av FØR du kobler til/fra modulene !!)
$ sudo nedleggelse nå
Trinn 5: GPIO Pins på Raspi
Dette prosjektet bruker GPIO -fysiske BOARD -IDene for Pins.
Det er Pin 1 til Pin 40. Ikke "BCM" GPIO pin -nummerering. (Ja, litt forvirrende, men BOARD er bare talltallet fra øverst til venstre til nederst til høyre.)
Displaymodul TM1637 Modul Pin Pi Fysisk Pin#Power 5V 2 Ground 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
Merk: Du trenger ikke legge til alle 4 modulene hvis du ønsker det. Du kan ha mellom 1 og 4 moduler. (Ja, det er mulig å gå til flere moduler, men du må endre koden for å støtte mer.)
MEN, du MÅ koble til modulene sekvensielt fra modul nr. 1
Dette er fordi TM1637 -biblioteket forventer at en ACK fra modulen ser ut til å henge og vente ellers.
Eksempel på bilder av loddet brødbrett Du må følge ditt eget ledningsmønster for å matche GPIO -pinnene som er vist tidligere, siden kontaktene og modulene jeg brukte ikke stemmer overens med dine.
Trinn 6: Testing
Wow, det var litt ledninger! Nå er det tid for røykprøving …
Siden du allerede kjenner de enkelte modulene og Pi -arbeidet (testet du modulene som beskrevet tidligere?), Så er neste trinn å sette opp. INI -filen og kjøre klokkeprogrammet:
1. Rediger raspiclock.ini
$ cd/home/pi/RaspiDigiHamClock
$ nano raspiclock.ini
2. Endre num_modulene til hvor mange du har koblet til. Dette er viktig ettersom biblioteket henger og venter på en ACK hvis det ikke kan snakke med en modul. Sørg for å koble inn antall moduler, I BESTILLINGEN VISET i. INI Merk: Ekstra TZ og HR og GPIO PINS ignoreres hvis num_modules er mindre enn 4.
3. Legg til tidssoner for hver modul.
Dette er Linux TZ-navn, som 'America/New_York', EST5EDT, UTC eller 'Local' for din lokale tidssone som angitt via raspi-config. Standard er UTC
4. Angi om 12- eller 24 -timers modus skal vises for hver modul
[KLOKKE]; Antall TM1637 -moduler (mellom 1 og 4) num_modules = 2
; Tidssoner for hver modul
; Bruk raspi-config til å angi lokal tidssone; Standard er UTC; Format er Linux TZ -navn eller 'Local' for lokal tid; 'America/New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =
; 12/24 timer for hver modul
HR1 = 12 HR2 = 24 HR3 = 12 HR4 = 24
; LYSSTYRKE (område 1..7)
LUM = 1
5. Du bør ikke måtte redigere GPIO -pinnene med mindre du kobler dem til forskjellige PIN -koder på Pi.
6. Lagre endringene og kjør deretter klokken:
$ python raspiclock.py
Hvis alt er bra, skal alle skjermmodulene dine lyse opp med tiden som er angitt i. INI -filen.
Gratulerer! Hopp over feilsøkingen og gå til den siste installasjonen …
Trinn 7: Feilsøking
Du bør se noen enkle feilsøkingsmeldinger vises:
Initialiserer… Antall moduler = 4 Start klokkesløyfe… Modul#1 displayTM () Modul#2 displayTM () Modul#3 displayTM () Modul#4 displayTM () (gjentar…)
Hvis du testet modulene tidligere, og de alle fungerte, så vet du at modulene og bringebær er gode.
A) HANG - Hvis feilsøkingsmeldingene ser ut til å henge på ett sted, venter programmet på en ACK fra den modulen#.
Sjekk først ledningene dine! Det er enkelt å snu en ledning eller koble til feil GPIO -pin på Pi.
For det andre, bytt moduler for å se om en modul plutselig gikk dårlig.
For det tredje, sjekk raspiclock.ini -filen for feil. Slett om nødvendig hele katalogen og gjør en annen GIT -KLONE for å hente igjen.
For det fjerde, sjekk ledningene igjen!;-)
B) Hvis du får en Python -feilmelding, må du bekrefte Python -versjonen din med:
$ python -V (stor "V")
Python 2.7. X
Jeg har ikke testet mot Python 3, så jeg er ikke sikker på om biblioteket er kompatibelt. Kopier feilmeldingen (vanligvis den siste linjen i feilen) og Lim inn i Google -søk. Dette kan gi en pekepinn på hva som skjedde.
Trinn 8: Sluttinstallasjon
1. Rediger. INI -filen igjen og sett debug = 0. $ cd/home/pi/RaspiDigiHamClock
$ nano raspiclock.ini
2. Kontroller også at TZ -tidssonene og innstillingene for HR 12/24 timer er som du ønsker.
3. Still lysstyrken som ønsket mellom 1 og 7.
4. Kjør install.sh -skriptet for å legge til pi crontab for automatisk oppstart ved oppstart.
$ sh install.sh
5. Start på nytt
$ sudo omstart
6. Den skal starte på nytt og deretter starte.
FERDIG!
Anbefalt:
IEEE WORD CLOCK PROJECT: 12 Steps (med bilder)
IEEE WORD CLOCK PROJECT: Dette er et prosjekt for UNOs IEEE -klubb, det er en unik måte å representere hva klokken er. Word Clock beskriver tiden og med RGB -stripen kan du ha klokken i hvilken som helst farge du ønsker. Ved å bruke WiFi -mulighetene til ESP32, vil kl
Network Time Digital Clock Bruke ESP8266: 4 trinn (med bilder)
Network Time Digital Clock Bruke ESP8266: Vi lærer hvordan du bygger en søt liten digital klokke som kommuniserer med NTP -servere og viser nettverk eller internettid. Vi bruker WeMos D1 mini til å koble til et WiFi -nettverk, skaffe NTP -tiden og vise den på en OLED -modul. Videoen ovenfor
CLEPCIDRE: a Cider Bottles Digital Clock: 8 Steps (med bilder)
CLEPCIDRE: a Cider Bottles Digital Clock: Før jeg dykker ned i objektbeskrivelsen må jeg forklare konteksten den er designet og bygget i. Min kone er kunstner og jobber i utgangspunktet med leire, som keramiker, men også med andre materialer som tre, skifer eller glass. I de fleste av henne
Morphing Digital Clock: 14 trinn (med bilder)
Morphing Digital Clock: En rask video om dette prosjektet. Jeg har siden implementert en måte å angi tidssone på. Takket være arbeidet til Arduino og ESP8266 -samfunnet, er denne kule klokken overraskende enkel å bygge! Bare to hovedkomponenter: Display (åpenbart) og en WiFi
Raspberry Pi Oled Clock Watch It Hear It and Feel It: 5 Steps (med bilder)
Raspberry Pi Oled Clock Watch It Hear It and Feel It: Dette er en smart klokke som viser tid på en OLED -skjerm, og du kan også høre tid på forskjellige tidsintervaller som er fullstendig for blinde og det endrer også fargen på LED med tiden som lys i skumringen lys om kvelden går oransje til gult og liker t