Raspberry Pi Amateur Radio Digital Clock: 8 Hakbang (na may Mga Larawan)
Raspberry Pi Amateur Radio Digital Clock: 8 Hakbang (na may Mga Larawan)

Video: Raspberry Pi Amateur Radio Digital Clock: 8 Hakbang (na may Mga Larawan)

Video: Raspberry Pi Amateur Radio Digital Clock: 8 Hakbang (na may Mga Larawan)
Video: ALL NIGHT WITH THE POLTERGEIST IN THE APARTMENT BUILDING, I filmed the creepy activity. 2025, Enero
Anonim
Raspberry Pi Amateur Radio Digital Clock
Raspberry Pi Amateur Radio Digital Clock

Pangkalahatang-ideya

Ang mga Amateur Radio Operator (aka HAM Radio) ay gumagamit ng 24 na oras na UTC (Universal Coordinated Time) para sa karamihan ng kanilang operasyon. Nagpasya akong magtayo ng isang digital na orasan gamit ang murang mga pagpapakita ng TM1637 4 na digit at isang Raspberry Pi Zero W sa halip na isang GUI na orasan lamang. (Nakakatuwa ang hardware!)

Ang pinalabas na display ng TM1637 ay may apat na 7 segment na leds na may gitnang colon na ":" sa pagitan ng dalawang hanay ng mga digit. Nangangailangan ito ng dalawang wires upang himukin ang display plus 5V + at Ground para sa isang kabuuang 4 na mga wire.

Para sa partikular na proyekto, nais kong makuha ng Raspi ang oras nito mula sa mga server ng NTP (Network Time Protocol) sa pamamagitan ng Internet. Nagpaplano ako ng isa pang bersyon ng orasan na ito upang tumakbo sa isang Arduino Uno at isang module ng Real-Time Clock, para kapag walang WiFi na magagamit at para sa mas maraming portable na operasyon.

Nais ko ring ipakita ang orasan ang Lokal na Oras sa 12hr at 24hr na format pati na rin ang UTC sa 12hr at 24hr na format. Ang software ay idinisenyo upang payagan kang gumamit lamang ng UTC 24hr (karaniwang hams) o iba't ibang oras hanggang sa 4 na magkakaibang pagpapakita.

Maaari mo ring itakda ang TIME ZONE na nais mong gamitin sa halip na default na Lokal na oras. Kaya't ang bawat isa sa apat na pagpapakita ay maaaring magpakita ng ibang time zone at sa 12hr o 24hr format.

Ang proyektong ito ay nangangailangan ng mga koneksyon o paghihinang o mga wire papunta sa Pi at / o sa mga modyul na tm1637.

Magagamit din ang mga buong tagubilin sa GITHUB:

Hakbang 1: Mga Kinakailangan

Mga Kinakailangan
Mga Kinakailangan

• Raspberry Pi2, 3, o Zero W. (ibig sabihin, anumang pi na may 40 pin header at Ethernet / Wifi)

• 4 - TM1637 4 na digit na Mga module ng pagpapakita

At / o

TANDAAN: maaari kang gumamit ng mas malaki o mas maliliit, hangga't tugma ang TM1637.

• Wire harness na may 16 na mga wire (ang bawat TM1637 ay nangangailangan ng 4 na mga wire)

• Solderless Breadboard at mga wire O

• Magagawa ng Breadboard na may kakayahang maghinang at iba't ibang mga konektor ng pin.

• 8GB MicroSD o mas malaki para sa Pi

• 5v power supply para sa Pi.

Hakbang 2: Pag-install ng Software

Gumagamit ang application na ito ng madaling gamitinTM1637.py python library na isinulat ni Tim Waizenegger. (Kung nais mo ang mga detalye tungkol sa library, tingnan ang:

Alam mo ba?

Kung na-install mo ang Raspbian sa isang SD card gamit ang isang PC, maaari kang lumikha ng dalawang mga file sa card upang mai-configure ang access sa WiFi at SSH bago mo ito boot sa isang Raspberry?

Para sa mga ito, ipalagay na ang iyong SD card ay kasalukuyang naka-mount bilang K: sa iyong PC:

1) I-install ang Raspbian Lite na imahe sa SD.

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

2) Gamit ang notepad, lumikha ng isang file na tinatawag lamang na "ssh" at gamitin ang I-save Bilang "Lahat ng mga file" sa K: / ssh

Maaaring maglaman ang file ng anuman. Ito ang filename na mahalaga. Dapat HINDI maging "ssh.txt" !!!

3) Sa notepad, lumikha ng isang pangalawang file na tinatawag na "wpa_supplicant.conf" na may sumusunod:

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

Gamitin ang I-save Bilang "Lahat ng mga file" sa K: / wpa_supplicant.conf

Muli, huwag hayaan ang Notepad na baguhin ito sa "wpa_supplicant.conf.txt" !!

Kapag na-boot mo ang Raspberry sa unang pagkakataon, hahanapin ito ng Raspbian at kumonekta sa iyong Wifi. Kakailanganin mong tingnan ang iyong Router para sa IP address, bagaman, mula nang itinalaga ang awto nito.

Hakbang 3: Pag-install ng Software - Pt.2

1. Kung hindi mo pa nagagawa, i-install ang bersyon ng Raspbian Lite sa isang 8GB o mas malaking microSD card. HINDI mo kailangan ang bersyon ng GUI, dahil ang proyektong ito ay hindi gumagamit ng isang monitor o keyboard.

TANDAAN !: Ang proyektong ito ay nangangailangan ng Python2.7!

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

2. Kakailanganin mong i-access ang Raspberry nang malayuan sa pamamagitan ng SSH. Sa Windows, maaari mong gamitin ang PUTTY SSH terminal program. Sa Mac, ilabas lamang ang isang window ng command terminal.

3. Ipasok ang microSD card sa Pi at isaksak ang kuryente ngayon. Aabutin ng ilang minuto upang mag-boot.

4. Upang malayuan mag-log in sa iyong Raspberry Pi, kakailanganin mong hanapin ang IP address nito. Maaari mong subukan: $ ssh [email protected] (O mula sa Putty, ipasok ang hostname [email protected] Kung hindi man, kakailanganin mong makita kung ipapakita ng iyong Router ang mga IP address ng iyong mga lokal na aparato. Ang default na id / passwd ay “pi / raspberry”

Sa sandaling naka-log in bilang pi gumagamit:

5. I-update ang iyong Raspbian: $ sudo apt update $ sudo apt upgrade

6. I-configure ang Raspberry: $ sudo raspi-config a. Palitan ang Password ng Gumagamit b. Mga Pagpipilian sa Lokalisasyon -> Baguhin ang Timezone Piliin ang iyong Lokal na Timezone c. Tab upang Tapusin

7. I-install ang software ng RaspiDigiHamClock: $ cd / home / pi $ sudo apt update $ sudo apt install git $ git clone

8. I-power down ang iyong Pi para sa pag-set up ng pag-shutdown ng $ hardware ngayon Pagkatapos ng LED na patayin i-unplug ang kuryente

Hakbang 4: Mga Kable sa Hardware

Mga Kable ng Hardware
Mga Kable ng Hardware
Mga Kable ng Hardware
Mga Kable ng Hardware
Mga Kable ng Hardware
Mga Kable ng Hardware

Maaari kang maghinang ng mga konektor sa mga module ng TM1637 at sa Raspberry Pi (kung wala pa itong isang konektor). Bago magsimula, magpasya kung paano mo nais na mai-mount ang mga ipinapakita at kung gagamit ka ng isang breadboard o mga wire ng solder nang direkta papunta sa mga module ng Pi at display.

Mga Pins ng TM1637 Module

Tandaan ng Mga Kable: Ang ilang mga modyul na tm1637 ay i-flip ang mga + 5v at GND na mga pin! Kaya't maaaring hindi lumitaw kapareho ng mga larawan.

Ang module na TM1637 ay isang 4-digit na humantong display module na gumagamit ng TM1637 driver chip. Kailangan lamang nito ng dalawang koneksyon upang makontrol ang pagpapakita ng 4-digit na 8-segment. Dalawang iba pang mga wire ang nagpapakain ng 5+ volt na lakas at lupa.

Ang PIN DESC CLK Clock DIO Data Sa GND Ground 5V +5 volts

Ang ilang mga module ng tm1637 ay i-flip ang mga + 5v at GND pin, kaya suriin ang mga marka ng iyong module

Subukan ang bawat Modyul Iminumungkahi ko na magsimula sa solong 4 wire na babaeng konektor na kable na may mga konektor ng lalaki na solder sa isa sa mga module at ang Pi. Pagkatapos ay pansamantalang ikonekta ang unang module hanggang sa mga pin na ipinakita sa ibaba.

TEMPORARY TEST A MODULETM1637 Module Pin Pi Physical Pin # 5V 2 GND 6 CLK 40 DIO 38 Tingnan ang Mga GPIO Diagram na mas malayo pababa upang makita ang mga layout ng pin.

Ipinapakita ng pangalawang larawan ang dalawang pagpapakita na pansamantalang naka-wire sa isang Raspberry Pi 3 na tumatakbo ang software.

1. Kapag mayroon kang isang module na pansamantalang naka-wire at suriin ang iyong mga kable

2. Palakasin ang Raspberry Pi. Ang pulang LED sa Modyul ay dapat na ilaw, ngunit HINDI pa MAAYONG IPAKITA.

3. SSH sa iyong Pi muli tulad ng dati.

$ cd RaspiDigiHamClock

$ python test.py

Dapat mong makita ang display cycle sa pamamagitan ng iba't ibang mga maikling mensahe. Kung hindi mo gagawin, suriin muli ang iyong mga kable muli! Madaling i-flip ang isang kawad o i-plug sa maling GPIO Pin sa Pi. Kung nakakuha ka ng isang mensahe ng error sa Python, i-verify ang iyong bersyon ng Python gamit ang:

$ python -V (capital na "V")

Python 2.7. X

Hindi ako nakasubok laban sa Python 3, kaya't hindi sigurado kung tugma ang library.

Kopyahin ang mensahe ng error (karaniwang ang huling linya ng error) at I-paste sa paghahanap sa Google. Maaari itong magbigay ng bakas sa nangyari.

Kung ang iyong module ay gumagana, Binabati kita! Alam mong gumagana ang module at Pi ay gumagana. Ngayon ulitin para sa bawat module upang subukan ito. (Iminumungkahi kong i-shut down ang Pi at i-off ang power BAGO i-plug / i-unplug ang mga module !!)

$ sudo shutdown ngayon

Hakbang 5: Ang GPIO Pins sa Raspi

Ang GPIO Pins kay Raspi
Ang GPIO Pins kay Raspi
Ang GPIO Pins kay Raspi
Ang GPIO Pins kay Raspi
Ang GPIO Pins kay Raspi
Ang GPIO Pins kay Raspi

Gumagamit ang proyektong ito ng mga GPIO pisikal na BOARD id para sa mga Pin.

Iyon ang Pin 1 hanggang Pin 40. Hindi ang pag-number ng pin na "BCM" GPIO. (Oo, medyo nakalilito, ngunit ang BOARD ay ang pin count lamang mula kaliwang itaas hanggang kanang ibaba.)

Display Module TM1637 Module Pin Pi Physical Pin # Power 5V 2 Ground GND 6

Modyul # 1 CLK 33

DIO 31

Modyul # 2 CLK 36

DIO 32

Modyul # 3 CLK 37

DIO 35

Modyul # 4 CLK 40

DIO 38

Tandaan: Hindi mo kailangang idagdag ang lahat ng 4 na mga module kung ninanais. Maaari kang magkaroon ng pagitan ng 1 at 4 na mga module. (Oo, posible na pumunta sa maraming mga module, ngunit kailangan mong baguhin ang code upang suportahan ang higit pa.)

NGUNIT, DAPAT mong i-plug ang mga module na sunud-sunod simula sa Module # 1

Ito ay dahil ang TM1637 library ay inaasahan ang isang ACK mula sa module kaya lumilitaw na mag-hang naghihintay kung hindi man.

Mga sample na larawan ng Soldered Breadboard Kailangan mong sundin ang iyong sariling pattern ng mga kable upang maitugma ang mga GPIO pin na ipinakita dati, dahil ang mga konektor at modyul na ginamit ko ay maaaring hindi tumugma sa iyo.

Hakbang 6: Pagsubok

Wow, iyon ay isang maliit na mga kable! Ngayon na para sa pagsubok sa usok…

Dahil alam mo na ang mga indibidwal na module at gumagana ang Pi (sinubukan mo ang mga module tulad ng inilarawan dati?), Kung gayon ang susunod na hakbang ay upang i-set up ang. INI file at patakbuhin ang programa ng orasan:

1. I-edit ang raspiclock.ini

$ cd / home / pi / RaspiDigiHamClock

$ nano raspiclock.ini

2. Palitan ang num_modules sa kung ilan ang iyong na-wire. Ito ay mahalaga dahil ang library ay mag-hang naghihintay para sa isang ACK kung hindi ito maaaring makipag-usap sa isang module. Siguraduhing mag-wire sa bilang ng mga module, SA ORDER NA IPINAKITA sa. INI Note: Ang Extra TZ at HR at GPIO PINS ay hindi pinapansin kung ang num_modules ay mas mababa sa 4.

3. Magdagdag ng mga Timezone para sa bawat module.

Ito ang Mga Pangalan ng TZ ng Linux, tulad ng 'America / New_York', EST5EDT, UTC, o 'Lokal' para sa iyong lokal na timezone na itinakda sa pamamagitan ng raspi-config. Ang default ay UTC

4. Itakda kung ipapakita ang 12hr o 24hr mode para sa bawat module

[CLOCK]; Bilang ng mga TM1637 Module (sa pagitan ng 1 at 4) num_modules = 2

; Mga Time Zone para sa bawat Modyul

; Gumamit ng raspi-config upang maitakda ang Local timezone; Ang default ay UTC; Ang format ay mga pangalan ng Linux TZ o 'Lokal' para sa lokal na oras; 'America / New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =

; 12/24 Oras para sa bawat Modyul

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

; KARAPATAN (saklaw 1..7)

LUM = 1

5. Hindi mo kailangang i-edit ang mga GPIO pin maliban kung i-plug mo ang mga ito sa iba't ibang mga pin # sa Pi.

6. I-save ang mga pagbabago at pagkatapos ay patakbuhin ang orasan:

$ python raspiclock.py

Kung ang lahat ay maayos, ang lahat ng iyong mga module ng pagpapakita ay dapat na ilaw sa mga oras tulad ng na-set up sa. INI file.

Binabati kita! Laktawan ang pag-troubleshoot at pumunta sa Pangwakas na Pag-install …

Hakbang 7: Pag-troubleshoot

Dapat mong makita ang ilang mga simpleng mensahe ng pag-debug na lilitaw:

Pinasimulan … Bilang ng mga module = 4 Simula ng loop ng orasan… Module # 1 displayTM () Modyul # 2 displayTM () Modyul # 3 displayTM () Modyul # 4 displayTM () (inuulit …)

Kung nasubukan mo dati ang mga module at gumana silang lahat, alam mo na ang mga module at ang Raspberry ay mabuti.

A) HANG - Kung ang mga mensahe ng pag-debug ay lilitaw na mag-hang sa isang lugar, ang programa ay naghihintay para sa isang ACK mula sa module na #.

Suriin mo muna ang iyong mga kable! Madaling i-flip ang isang kawad o i-plug sa maling GPIO Pin sa Pi.

Pangalawa, magpalitan ng mga module upang makita kung biglang naging masama ang isang module.

Pangatlo, suriin ang file ng raspiclock.ini para sa mga error. Kung kinakailangan, tanggalin ang buong direktoryo at gumawa ng isa pang GIT CLONE upang makuha muli.

Pang-apat, suriin muli ang iyong mga kable!;-)

B) Kung nakakuha ka ng isang mensahe ng error sa Python, i-verify ang iyong bersyon ng Python gamit ang:

$ python -V (capital na "V")

Python 2.7. X

Hindi ako nakasubok laban sa Python 3, kaya't hindi sigurado kung tugma ang library. Kopyahin ang mensahe ng error (karaniwang ang huling linya ng error) at I-paste sa paghahanap sa Google. Maaari itong magbigay ng bakas sa nangyari.

Hakbang 8: Pangwakas na Pag-install

Pangwakas na Pag-install
Pangwakas na Pag-install

1. I-edit muli ang file na. INI at itakda ang debug = 0. $ cd / home / pi / RaspiDigiHamClock

$ nano raspiclock.ini

2. I-verify din ang mga setting ng oras ng TZ at mga setting ng HR 12/24 na oras ayon sa gusto mo.

3. Itakda ang Liwanag ayon sa ninanais sa pagitan ng 1 at 7.

4. Patakbuhin ang install.sh script upang idagdag sa pi crontab para sa awtomatikong pagsisimula sa boot.

$ sh install.sh

5. I-reboot

$ sudo reboot

6. Dapat itong i-reboot at pagkatapos ay tumakbo nang tumatakbo.

TAPOS!