Kazalo:

Amaterska radijska digitalna ura Raspberry Pi: 8 korakov (s slikami)
Amaterska radijska digitalna ura Raspberry Pi: 8 korakov (s slikami)

Video: Amaterska radijska digitalna ura Raspberry Pi: 8 korakov (s slikami)

Video: Amaterska radijska digitalna ura Raspberry Pi: 8 korakov (s slikami)
Video: Никто больше не заботится! ~ Заброшенный дом святого торговца антиквариатом 2024, November
Anonim
Amaterska radijska digitalna ura Raspberry Pi
Amaterska radijska digitalna ura Raspberry Pi

Pregled

Amaterski radijski operaterji (znan tudi kot HAM Radio) za večino svojega delovanja uporabljajo 24 -urni UTC (univerzalni koordinirani čas). Odločil sem se za izdelavo digitalne ure z uporabo poceni 4-mestnih zaslonov TM1637 in Raspberry Pi Zero W namesto le z uro z grafičnim vmesnikom. (Strojna oprema je zabavna!)

Zaslon s pogonom TM1637 ima štiri 7 -segmentne LED diode s sredinskim dvopičjem “:” med dvema nizoma števk. Za pogon zaslona potrebujete dve žici, plus 5V + in ozemljitev za skupaj 4 žice.

Za ta projekt sem želel, da Raspi dobi čas s strežnikov NTP (Network Time Protocol) prek interneta. Načrtujem, da bo druga različica te ure delovala na Arduino Uno in modulu ure v realnem času, za čas, ko ni na voljo WiFi, in za bolj prenosno delovanje.

Prav tako sem želel, da ura prikazuje lokalni čas v 12 -urnem in 24 -urnem formatu ter UTC v 12 -urnem in 24 -urnem formatu. Programska oprema je zasnovana tako, da lahko uporabljate samo UTC 24 ur (tipične šunke) ali različne ure na največ 4 različnih zaslonih.

Nastavite lahko tudi ČASNI ZON, ki ga želite uporabiti namesto privzetega lokalnega časa. Tako bi lahko vsak od štirih zaslonov prikazal drugačen časovni pas in v 12 -urni ali 24 -urni obliki.

Ta projekt zahteva spajkanje konektorjev ali žic na modulih Pi in/ali tm1637.

Celotna navodila so na voljo tudi na GITHUB:

1. korak: Zahteve

Zahteve
Zahteve

• Raspberry Pi2, 3 ali Zero W. (tj. Kateri koli pi s 40 -polno glavo in Ethernet/Wi -Fi)

• 4-TM1637 4-mestni prikazovalni moduli

In/ali

OPOMBA: Uporabite lahko večje ali manjše, če so združljivi s TM1637.

• Kabelski snop s 16 žicami (vsak TM1637 potrebuje 4 žice)

• Lemljena plošča in žice brez spajkanja Or

• Spajkalna plošča in različni pin konektorji.

• 8 GB MicroSD ali več za Pi

• 5v napajalnik za Pi.

2. korak: Namestitev programske opreme

Ta aplikacija uporablja knjižnico python, ki jo je enostavno uporabljati TM1637.py, ki jo je napisal Tim Waizenegger. (Če želite podrobnosti o knjižnici, si oglejte:

Ali si vedel?

Če Raspbian namestite na kartico SD z osebnim računalnikom, lahko na kartici ustvarite dve datoteki za konfiguriranje dostopa WiFi in SSH, preden jo zaženete na Raspberry?

V ta namen predpostavimo, da je vaša kartica SD trenutno nameščena kot K: na vašem računalniku:

1) Namestite sliko Raspbian Lite na SD.

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

2) Z beležnico ustvarite datoteko, imenovano samo »ssh«, in uporabite Shrani kot »Vse datoteke« v K: / ssh

Datoteka lahko vsebuje karkoli. Pomembno je ime datoteke. NE sme biti "ssh.txt" !!!

3) Z beležnico ustvarite drugo datoteko z imenom »wpa_supplicant.conf« z naslednjim:

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

Uporabite Shrani kot »Vse datoteke« v K: / wpa_supplicant.conf

Ponovno ne dovolite, da ga Notepad spremeni v “wpa_supplicant.conf.txt” !!

Ko prvič zaženete Raspberry, jih bo Raspbian poiskal in se povezal z vašim Wifi. Na usmerjevalniku boste morali poiskati naslov IP, saj je samodejno dodeljen.

3. korak: Namestitev programske opreme - Pt.2

1. Če še niste, namestite različico Raspbian Lite na kartico microSD 8 GB ali več. Ne potrebujete različice grafičnega vmesnika, saj ta projekt ne uporablja monitorja ali tipkovnice.

OPOMBA !: Za ta projekt je potreben Python2.7!

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

2. Do Raspberryja boste morali dostopati na daljavo prek SSH. V sistemu Windows lahko uporabite terminalski program PUTTY SSH. V Macu samo odprite okno ukaznega terminala.

3. Vstavite kartico microSD v Pi in priključite napajanje. Za zagon bo trajalo nekaj minut.

4. Če se želite na daljavo prijaviti v svoj Raspberry Pi, boste morali poiskati njegov naslov IP. Poskusite lahko: $ ssh [email protected] (Ali pa iz Puttyja vnesite ime gostitelja [email protected] V nasprotnem primeru boste morali preveriti, ali bo vaš usmerjevalnik prikazal naslove IP vaših lokalnih naprav. Privzeti id/passwd je „pi /malina"

Ko ste prijavljeni kot uporabnik pi:

5. Posodobite Raspbian: $ sudo apt update $ sudo apt upgrade

6. Konfigurirajte malino: $ sudo raspi-config a. Spremeni uporabniško geslo b. Možnosti lokalizacije -> Spremeni časovni pas Izberite svoj lokalni časovni pas c. Tab do konca

7. Namestite programsko opremo RaspiDigiHamClock: $ cd/home/pi $ sudo apt update $ sudo apt install git $ git clone

8. Izklopite svoj Pi za nastavitev strojne nastavitve $ shutdown zdaj Ko LED ugasne, odklopite napajanje

4. korak: Ožičenje strojne opreme

Ožičenje strojne opreme
Ožičenje strojne opreme
Ožičenje strojne opreme
Ožičenje strojne opreme
Ožičenje strojne opreme
Ožičenje strojne opreme

Konektorje lahko spajkate na module TM1637 in Raspberry Pi (če še nima priključka). Preden začnete, se odločite, kako želite montirati zaslone in ali boste uporabili ploščo ali spajkali žice neposredno na Pi in prikazovalne module.

Zatiči modula TM1637

Opomba ožičenja: Nekateri moduli tm1637 obrnejo zatiče +5v in GND! Tako morda ne bodo videti enako kot fotografije.

Modul TM1637 je 4-mestni LED prikazovalni modul, ki uporablja gonilniški čip TM1637. Za upravljanje 4-mestnega 8-segmentnega zaslona potrebujete le dve povezavi. Dve drugi žici napajata moč 5+ voltov in ozemljita.

PIN DESC CLK Ura DIO Podatki v ozemljitvi GND 5V +5 voltov

Nekateri moduli tm1637 obrnejo zatiče +5v in GND, zato preverite oznake svojega modula

Preizkusite vsak modul Predlagam, da začnete z enim 4 -žilnim ženskim priključnim kablom z moškimi konektorji, spajkanimi na enega od modulov in na Pi. Nato prvi modul začasno priključite na spodaj prikazane nožice.

ZAČASNI TEST A MODULETM1637 Modul Pin Pi Fizični pin# 5V 2 GND 6 CLK 40 DIO 38 Glej diagrame GPIO spodaj, da poiščeš razporeditve pinov.

Na drugi fotografiji sta prikazana dva zaslona, ki sta začasno povezana z Raspberry Pi 3 s programsko opremo.

1. Ko imate modul začasno ožičen in preverite ožičenje

2. Vklopite Raspberry Pi. Rdeča LED na modulu bi morala zasvetiti, vendar prikaza še ne bo.

3. Znova vstavite SSH v svoj Pi kot prej.

$ cd RaspiDigiHamClock

$ python test.py

Cikel prikaza bi morali videti skozi različna kratka sporočila. Če tega ne storite, najprej ponovno preverite ožičenje! Preprosto je obrniti žico ali priključiti napačen pin GPIO na Pi. Če dobite sporočilo o napaki Python, preverite svojo različico Pythona z:

$ python -V (velika črka "V")

Python 2.7. X

Nisem testiral proti Pythonu 3, zato nisem prepričan, ali je knjižnica združljiva.

Kopirajte sporočilo o napaki (običajno zadnjo vrstico napake) in prilepite v iskanje Google. To lahko da namig o tem, kaj se je zgodilo.

Če vaš modul deluje, čestitamo! Veš, da modul in Pi delujeta. Zdaj ponovite za vsak modul, da ga preizkusite. (Predlagam, da izklopite Pi in izklopite PRED priključitvijo/odklopom modulov !!)

$ sudo zaustavitev zdaj

5. korak: Zatiči GPIO na Raspiju

Zatiči GPIO na Raspiju
Zatiči GPIO na Raspiju
Zatiči GPIO na Raspiju
Zatiči GPIO na Raspiju
Zatiči GPIO na Raspiju
Zatiči GPIO na Raspiju

Ta projekt uporablja ID -je fizične plošče GPIO za nožice.

To je Pin 1 do Pin 40. Ne oštevilčenje pin "GPM" GPIO. (Da, nekoliko zmedeno, toda BOARD je le število zatičev od zgoraj levo navzdol desno.)

Zaslonski modul TM1637 Modul Pin Pi Fizični pin#Napajanje 5V 2 Ozemljitev 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

Opomba: Če želite, vam ni treba dodati vseh 4 modulov. Lahko imate med 1 in 4 moduli. (Da, možno je iti na več modulov, vendar morate spremeniti kodo, da bo več podprta.)

Vendar morate module zaporedno priključiti, začenši pri modulu #1

To je zato, ker knjižnica TM1637 pričakuje ACK od modula, zato se zdi, da drugače čaka.

Vzorčne fotografije spajkane plošče Morate slediti lastnemu vzorcu ožičenja, da se ujema s prej prikazanimi zatiči GPIO, saj se priključki in moduli, ki sem jih uporabil, morda ne ujemajo z vašimi.

6. korak: Testiranje

Vau, to je bilo malo ožičenje! Zdaj je čas za testiranje dima …

Ker že poznate posamezne module in delovanje Pi (ste preizkusili module, kot je opisano prej?), Je naslednji korak nastavitev datoteke. INI in zagon programa ure:

1. Uredite datoteko raspiclock.ini

$ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Spremenite num_modules na število, ki ste ga povezali. To je pomembno, saj bo knjižnica čakala na ACK, če se ne more pogovarjati z modulom. Ne pozabite vnesti števila modulov, V REDU, KI JE POKAZEN v. INI Opomba: Dodatni TZ ter HR in GPIO PINS se ne upoštevajo, če je num_modules manj kot 4.

3. Dodajte časovne pasove za vsak modul.

To so imena TZ za Linux, na primer 'America/New_York', EST5EDT, UTC ali 'Local' za vaš lokalni časovni pas, nastavljen prek raspi-config. Privzeto je UTC

4. Nastavite, ali naj se za vsak modul prikaže način 12 ur ali 24 ur

[URA]; Število modulov TM1637 (med 1 in 4) num_modules = 2

; Časovni pasovi za vsak modul

; Uporabite raspi-config za nastavitev lokalnega časovnega pasu; Privzeto je UTC; Oblika je imena Linux TZ ali 'Local' za lokalni čas; 'America/New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =

; 12/24 ur za vsak modul

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

; SVETLOST (razpon 1..7)

LUM = 1

5. Zatičev GPIO vam ne bi bilo treba urejati, razen če jih priključite na različne nožice #na Pi.

6. Shranite spremembe in nato zaženite uro:

$ python raspiclock.py

Če je vse v redu, bi morali vsi vaši prikazovalni moduli zasvečati s časom, nastavljenim v datoteki. INI.

Čestitamo! Preskočite odpravljanje težav in pojdite na Končno namestitev …

7. korak: Odpravljanje težav

Videti bi morali nekaj preprostih sporočil za odpravljanje napak:

Inicializiranje … Število modulov = 4 Zagon zanke ure … Modul#1 displayTM () Modul#2 displayTM () Modul#3 displayTM () Modul#4 displayTM () (ponavljanje …)

Če ste module že preizkusili in so vsi delovali, potem veste, da so moduli in malina dobri.

A) HANG - Če se zdi, da sporočila za odpravljanje napak visijo na enem mestu, program čaka na ACK iz tega modula#.

Najprej preverite ožičenje! Preprosto je obrniti žico ali priključiti napačen pin GPIO na Pi.

Drugič, zamenjajte module, da preverite, ali se je modul nenadoma pokvaril.

Tretjič, v datoteki raspiclock.ini preverite napake. Po potrebi izbrišite celoten imenik in znova pridobite GIT CLONE.

Četrtič, ponovno preverite ožičenje!;-)

B) Če se prikaže sporočilo o napaki Python, preverite svojo različico Pythona z:

$ python -V (velika črka "V")

Python 2.7. X

Nisem testiral proti Pythonu 3, zato nisem prepričan, ali je knjižnica združljiva. Kopirajte sporočilo o napaki (običajno zadnjo vrstico napake) in prilepite v iskanje Google. To lahko da namig o tem, kaj se je zgodilo.

8. korak: Končna namestitev

Končna namestitev
Končna namestitev

1. Ponovno uredite datoteko. INI in nastavite debug = 0. $ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Preverite tudi časovne pasove TZ in nastavitve HR 12/24 ur, kot želite.

3. Nastavite svetlost med 1 in 7.

4. Zaženite skript install.sh, da dodate pi crontab za samodejni zagon ob zagonu.

$ sh install.sh

5. Znova zaženite

$ sudo ponovni zagon

6. Moral bi se znova zagnati in nato zagnati.

DOKONČANO!

Priporočena: