Obsah:

Digitálne hodiny amatérskeho rádia Raspberry Pi: 8 krokov (s obrázkami)
Digitálne hodiny amatérskeho rádia Raspberry Pi: 8 krokov (s obrázkami)

Video: Digitálne hodiny amatérskeho rádia Raspberry Pi: 8 krokov (s obrázkami)

Video: Digitálne hodiny amatérskeho rádia Raspberry Pi: 8 krokov (s obrázkami)
Video: CS50 2014 – 7-я неделя 2024, November
Anonim
Rádioamatérové digitálne hodiny Raspberry Pi
Rádioamatérové digitálne hodiny Raspberry Pi

Prehľad

Amatérski rozhlasoví operátori (alias rádio HAM) používajú na veľkú časť svojej činnosti 24 -hodinový UTC (univerzálny koordinovaný čas). Rozhodol som sa postaviť digitálne hodiny pomocou lacných 4-miestnych displejov TM1637 a Raspberry Pi Zero W namiesto hodín s GUI. (Hardvér je zábava!)

Displej poháňaný TM1637 má štyri 7 segmentové LED diódy so strednou dvojbodkou „:“medzi dvoma sadami číslic. Na ovládanie displeja sú potrebné dva vodiče plus 5 V + a uzemnenie, celkovo teda 4 vodiče.

V tomto konkrétnom projekte som chcel, aby Raspi získaval čas zo serverov NTP (Network Time Protocol) cez internet. Plánujem, aby ďalšia verzia týchto hodín bežala na module Arduino Uno a hodinách v reálnom čase, keď nie je k dispozícii žiadne Wi-Fi a prenosnejšia prevádzka.

Tiež som chcel, aby hodiny ukazovali miestny čas vo formáte 12 hodín a 24 hodín, ako aj UTC vo formáte 12 hodín a 24 hodín. Tento softvér je navrhnutý tak, aby vám umožnil používať iba 24 hodín UTC (typické šunky) alebo rôzne časy až na 4 rôznych displejoch.

Môžete tiež nastaviť ČASOVÚ ZÓNU, ktorú chcete použiť namiesto predvoleného miestneho času. Každý zo štyroch displejov teda mohol zobrazovať iné časové pásmo a vo formáte 12 hodín alebo 24 hodín.

Tento projekt vyžaduje spájkovanie konektorov alebo vodičov na moduly Pi a/alebo tm1637.

Úplné pokyny sú k dispozícii aj na GITHUBe:

Krok 1: Požiadavky

Požiadavky
Požiadavky

• Raspberry Pi2, 3 alebo Zero W. (t. J. Akékoľvek pi so 40 -pinovou hlavičkou a ethernetom/Wifi)

• 4-TM1637 4-miestny zobrazovací modul

A/alebo

POZNÁMKA: Môžete použiť väčšie alebo menšie, pokiaľ sú kompatibilné s TM1637.

• Káblový zväzok so 16 vodičmi (každý TM1637 potrebuje 4 vodiče)

• Nepájkovateľná doska a drôty Or

• Breadboard, ktorý je možné spájkovať, a rôzne kolíkové konektory.

• 8 GB MicroSD alebo väčšia pre Pi

• Napájanie 5 V pre Pi.

Krok 2: Inštalácia softvéru

Táto aplikácia používa ľahko použiteľnú knižnicu pythonTM1637.py napísanú Timom Waizeneggerom. (Ak chcete informácie o knižnici, navštívte stránku:

Vedel si?

Ak nainštalujete Raspbian na kartu SD pomocou počítača, môžete na ňom pred spustením systému Raspberry vytvoriť dva súbory na konfiguráciu prístupu WiFi a SSH?

Za týmto účelom predpokladajte, že vaša karta SD je v počítači aktuálne nainštalovaná ako K:

1) Nainštalujte obrázok Raspbian Lite na SD.

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

2) V programe Poznámkový blok vytvorte súbor s názvom „ssh“a pomocou príkazu Uložiť ako „Všetky súbory“ho uložte do K: / ssh

Súbor môže obsahovať čokoľvek. Dôležitý je názov súboru. Nesmie byť „ssh.txt“!!!

3) V programe Poznámkový blok vytvorte druhý súbor s názvom „wpa_supplicant.conf“takto:

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

Použite Uložiť ako „Všetky súbory“do K: / wpa_supplicant.conf

Opäť nenechajte program Poznámkový blok zmeniť na „wpa_supplicant.conf.txt“!!

Pri prvom spustení Raspberry Raspbian ich vyhľadá a pripojí sa k vašej sieti Wi -Fi. IP adresu však budete musieť vyhľadať na smerovači, pretože je priradený automaticky.

Krok 3: Inštalácia softvéru - Pt.2

1. Ak ste to ešte neurobili, nainštalujte si verziu Raspbian Lite na kartu microSD s kapacitou 8 GB alebo viac. Verziu GUI nepotrebujete, pretože tento projekt nepoužíva monitor ani klávesnicu.

POZNÁMKA !: Tento projekt vyžaduje Python2.7!

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

2. K Raspberry budete potrebovať vzdialený prístup prostredníctvom SSH. V systéme Windows môžete použiť terminálový program PUTTY SSH. Na počítačoch Mac stačí otvoriť okno príkazového terminálu.

3. Vložte kartu microSD do zariadenia Pi a zapojte napájanie. Zavedenie bude trvať niekoľko minút.

4. Na vzdialené prihlásenie do vášho Raspberry Pi budete potrebovať jeho IP adresu. Môžete to skúsiť: $ ssh [email protected] (Alebo z Putty zadajte názov hostiteľa [email protected] V opačnom prípade budete musieť zistiť, či váš smerovač zobrazuje adresy IP vašich miestnych zariadení. Predvolené ID/heslo je „pi /malina “

Po prihlásení ako používateľ pí:

5. Aktualizujte svoj Raspbian: $ sudo apt update $ sudo apt upgrade

6. Konfigurujte malinu: $ sudo raspi-config a. Zmeniť heslo používateľa b. Možnosti lokalizácie -> Zmeniť časové pásmo Vyberte svoje miestne časové pásmo c. Kartu dokončite

7. Nainštalujte softvér RaspiDigiHamClock: $ cd/home/pi $ sudo apt update $ sudo apt install git $ git clone

8. Vypnite počítač Pi, aby ste mohli nastaviť hardvér $ Vypnúť ihneď Po zhasnutí diódy LED odpojte napájanie

Krok 4: Hardvérové zapojenie

Hardvérové zapojenie
Hardvérové zapojenie
Hardvérové zapojenie
Hardvérové zapojenie
Hardvérové zapojenie
Hardvérové zapojenie

Konektory môžete spájkovať s modulmi TM1637 a Raspberry Pi (ak ešte konektor nemá). Skôr ako začnete, rozhodnite sa, ako chcete monitory pripevniť a či použijete nepájivú dosku alebo spájkovacie vodiče priamo na moduly Pi a displeje.

Modulové kolíky TM1637

Poznámka k zapojeniu: Niektoré moduly tm1637 preklápajú piny +5V a GND! Nemusí to teda vyzerať rovnako ako na fotografiách.

Modul TM1637 je 4-miestny zobrazovací modul s LED diódami, ktorý používa čip vodiča TM1637. Na ovládanie 4-miestneho 8-segmentového displeja mu stačia iba dve pripojenia. Dva ďalšie vodiče napájajú napätie 5+ voltov a uzemnenie.

PIN DESC CLK Hodiny DIO dáta v uzemnení GND 5V +5 voltov

Niektoré moduly tm1637 preklápajú piny +5v a GND, preto skontrolujte označenie vášho modulu

Otestujte každý modul. Odporúčame začať s jedným 4 -žilovým káblovým konektorom s konektormi spájkovanými k jednému z modulov a k Pi. Potom dočasne pripojte prvý modul k pinom zobrazeným nižšie.

DOČASNÝ TEST MODULETM1637 Modul Pin Pi Fyzický pin# 5V 2 GND 6 CLK 40 DIO 38 Rozloženie pinov nájdete nižšie v diagramoch.

Druhá fotografia zobrazuje dva displeje dočasne zapojené do Raspberry Pi 3 so spusteným softvérom.

1. Akonáhle budete mať modul dočasne zapojený a skontrolujete svoje zapojenie

2. Zapnite Raspberry Pi. Červená dióda LED na module by mala svietiť, ale zatiaľ sa nezobrazí ŽIADNY DISPLEJ.

3. SSH do svojho Pi znova ako predtým.

$ cd RaspiDigiHamClock

$ python test.py

Cyklus zobrazenia by ste mali vidieť prostredníctvom rôznych krátkych správ. Ak to neurobíte, najskôr znova skontrolujte zapojenie! Je ľahké prevrátiť drôt alebo zapojiť nesprávny kolík GPIO na Pi. Ak sa zobrazí chybové hlásenie Pythonu, overte svoju verziu Pythonu pomocou:

$ python -V (veľké „V“)

Python 2.7. X

Netestoval som proti Pythonu 3, takže si nie som istý, či je knižnica kompatibilná.

Skopírujte chybové hlásenie (zvyčajne posledný riadok chyby) a prilepte ho do vyhľadávania Google. To môže poskytnúť vodítko k tomu, čo sa stalo.

Ak váš modul funguje, gratulujeme! Viete, že modul a Pi fungujú. Teraz zopakujte test pre každý modul. (Odporúčam vypnúť Pi a vypnúť PRED zapojením/odpojením modulov !!)

$ sudo teraz vypnuté

Krok 5: GPIO piny na Raspi

GPIO piny na Raspi
GPIO piny na Raspi
GPIO piny na Raspi
GPIO piny na Raspi
GPIO piny na Raspi
GPIO piny na Raspi

Tento projekt používa pre Piny identifikátory fyzickej dosky GPIO.

To je pin 1 až pin 40. Nie je to číslovanie pinov GPIO „BCM“. (Áno, trochu mätúce, ale BOARD je iba počet pinov zľava hore dole vpravo.)

Modul displeja TM1637 Modul Pin Pi fyzický kolík#napájanie 5V 2 uzemnenie 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

Poznámka: V prípade potreby nie je potrebné pridať všetky 4 moduly. Môžete mať 1 až 4 moduly. (Áno, je možné prejsť na viac modulov, ale musíte kód zmeniť, aby podporoval viac.)

ALE MUSÍTE zapojiť moduly postupne od modulu č. 1

Je to preto, že knižnica TM1637 očakáva, že modul ACK bude ACK, takže sa zdá, že inak čaká.

Ukážkové fotografie spájkovanej dosky: Musíte dodržať svoj vlastný vzor zapojenia, aby zodpovedal pinom GPIO zobrazeným vyššie, pretože konektory a moduly, ktoré som použil, sa nemusia zhodovať s vašimi.

Krok 6: Testovanie

Wow, to bolo trochu zapojenia! Teraz je čas na testovanie dymu …

Pretože už poznáte jednotlivé moduly a prácu Pi (testovali ste moduly tak, ako bolo popísané vyššie?), Ďalším krokom je nastavenie súboru. INI a spustenie hodinového programu:

1. Upravte súbor raspiclock.ini

$ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Zmeňte počet_modulov na počet zapojených káblov. Je to dôležité, pretože knižnica bude čakať na ACK, ak nemôže hovoriť s modulom. Uistite sa, že zapojíte počet modulov, V OBJEDNÁVKE UVEDENEJ v. INI Poznámka: Extra TZ a HR a GPIO PINS budú ignorované, ak je num_modules menší ako 4.

3. Pridajte časové pásma pre každý modul.

Toto sú názvy Linux TZ, napríklad „America/New_York“, EST5EDT, UTC alebo „Local“pre vaše miestne časové pásmo nastavené pomocou raspi-config. Predvolená hodnota je UTC

4. Nastavte, či sa má pre každý modul zobrazovať režim 12 hodín alebo 24 hodín

[HODINY]; Počet modulov TM1637 (medzi 1 a 4) num_modules = 2

; Časové zóny pre každý modul

; Na nastavenie miestneho časového pásma použite raspi-config; Predvolené je UTC; Formát je názov Linux TZ alebo „Local“pre miestny čas; „Amerika/New_York“, EST5EDT, UTC, „miestny“TZ1 = miestny TZ2 = UTC TZ3 = TZ4 =

; 12/24 hodín pre každý modul

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

; JAS (rozsah 1..7)

LUM = 1

5. Piny GPIO by ste nemali upravovať, pokiaľ ich nezapojíte do rôznych pinov #na Pi.

6. Uložte zmeny a potom spustite hodiny:

$ python raspiclock.py

Ak je všetko v poriadku, všetky vaše moduly displeja by sa mali rozsvietiť s časmi nastavenými v súbore. INI.

Gratulujem Preskočte riešenie problémov a prejdite na Konečnú inštaláciu …

Krok 7: Riešenie problémov

Mali by ste vidieť niekoľko jednoduchých správ o ladení:

Inicializuje sa… Počet modulov = 4 Spúšťa sa hodinová slučka… Modul č. 1 displayTM () Modul#2 displayTM () Modul#3 displayTM () Modul#4 displayTM () (opakuje sa …)

Ak ste moduly predtým testovali a všetky fungovali, potom viete, že moduly a Raspberry sú dobré.

A) HANG - Ak sa zdá, že ladiace správy visia na jednom mieste, program čaká na ACK z tohto modulu#.

Najprv skontrolujte zapojenie! Je ľahké prevrátiť drôt alebo zapojiť nesprávny kolík GPIO na Pi.

Za druhé, vymeňte moduly, aby ste zistili, či sa modul zrazu pokazil.

Po tretie, skontrolujte súbor raspiclock.ini, či neobsahuje chyby. Ak je to potrebné, vymažte celý adresár a urobte to znova pomocou GIT CLONE.

Po štvrté, znova skontrolujte zapojenie!;-)

B) Ak sa zobrazí chybové hlásenie Pythonu, overte svoju verziu Pythonu pomocou:

$ python -V (veľké „V“)

Python 2.7. X

Netestoval som proti Pythonu 3, takže si nie som istý, či je knižnica kompatibilná. Skopírujte chybové hlásenie (zvyčajne posledný riadok chyby) a prilepte ho do vyhľadávania Google. To môže poskytnúť vodítko k tomu, čo sa stalo.

Krok 8: Finálna inštalácia

Konečná inštalácia
Konečná inštalácia

1. Znova upravte súbor. INI a nastavte ladenie = 0. $ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Tiež si overte, či sú časové pásma TZ a nastavenia HR 12/24 hodín podľa vašich predstáv.

3. Nastavte požadovaný jas medzi 1 a 7.

4. Spustite skript install.sh a pridajte ho do pi crontab pre automatické spustenie pri štarte.

$ sh install.sh

5. Reštartujte počítač

$ sudo reštart

6. Mal by sa reštartovať a potom sa spustiť.

DOKONČENÉ!

Odporúča: