Mündəricat:

Raspberry Pi Həvəskar Radio Rəqəmsal Saat: 8 addım (şəkillərlə)
Raspberry Pi Həvəskar Radio Rəqəmsal Saat: 8 addım (şəkillərlə)

Video: Raspberry Pi Həvəskar Radio Rəqəmsal Saat: 8 addım (şəkillərlə)

Video: Raspberry Pi Həvəskar Radio Rəqəmsal Saat: 8 addım (şəkillərlə)
Video: BestCon BroadLink Fairy Light dinamik səhnələri olan çələng, biz Home Assistant-a inteqrasiya edirik 2024, Noyabr
Anonim
Raspberry Pi Həvəskar Radio Rəqəmsal Saat
Raspberry Pi Həvəskar Radio Rəqəmsal Saat

Baxış

Həvəskar Radio Operatorları (aka HAM Radio) əməliyyatlarının çox hissəsi üçün 24 saatlıq UTC (Universal Əlaqələndirilmiş Zaman) istifadə edirlər. Yalnız bir GUI saatı əvəzinə aşağı qiymətli TM1637 4 rəqəmli displeyləri və Raspberry Pi Zero W istifadə edərək rəqəmsal bir saat qurmağa qərar verdim. (Avadanlıq əyləncəlidir!)

TM1637 idarə olunan displeydə iki rəqəm dəsti arasında ":" işarəsi olan 4 ədəd 7 seqmentli led var. Ekranı idarə etmək üçün iki tel, üstəgəl 5V + və Topraq üçün 4 tel lazımdır.

Bu xüsusi layihə üçün Raspi -nin vaxtını İnternet üzərindən NTP (Şəbəkə Saatı Protokolu) serverlərindən almasını istədim. WiFi olmadıqda və daha portativ əməliyyat üçün Arduino Uno və Real-Time Clock modulunda çalışmaq üçün bu saatın başqa bir versiyasını planlaşdırıram.

Saatın Yerli Saatı 12 saat və 24 saat formatında, UTC ilə 12 saat və 24 saat formatında göstərməsini istədim. Proqram, 4 fərqli ekranda yalnız UTC 24 saat (tipik hams) və ya fərqli vaxtlarda istifadə etməyiniz üçün nəzərdə tutulmuşdur.

Varsayılan Yerli vaxt əvəzinə istifadə etmək istədiyiniz VAXT ZONUNU da təyin edə bilərsiniz. Beləliklə, dörd ekranın hər biri fərqli bir saat dilimini və 12 saat və ya 24 saat formatında göstərə bilər.

Bu layihə, Pi və/və ya tm1637 modullarına konnektorlar və ya tellər tələb edir.

Tam təlimatlar GITHUB -da da mövcuddur:

Addım 1: Tələblər

Tələblər
Tələblər

• Raspberry Pi2, 3 və ya Zero W. (yəni 40 pin başlığı və Ethernet/Wifi olan hər hansı bir pi)

• 4-TM1637 4 rəqəmli Ekran modulları

Və/və ya

DİQQƏT: TM1637 uyğun olduğu müddətdə daha böyük və ya daha kiçik olanlardan istifadə edə bilərsiniz.

• 16 telli tel qoşqu (hər TM1637 -də 4 tel lazımdır)

• Lehimsiz Breadboard və tellər Və ya

• Lehimləmə qabiliyyətli Breadboard və müxtəlif pin bağlayıcıları.

• Pi üçün 8 GB MicroSD və ya daha böyük

• Pi üçün 5v enerji təchizatı.

Addım 2: Proqramın Quraşdırılması

Bu proqram Tim Waizenegger tərəfindən yazılmış istifadəsi asan TM1637.py python kitabxanasından istifadə edir. (Kitabxana haqqında ətraflı məlumat almaq istəyirsinizsə, baxın:

Bilirdinizmi?

Raspbian'ı bir PC istifadə edərək bir SD karta qurarsanız, bir Moruqda yükləməzdən əvvəl WiFi və SSH girişini konfiqurasiya etmək üçün kartda iki fayl yarada bilərsiniz?

Bunun üçün SD kartınızın hazırda kompüterinizdə K: olaraq quraşdırıldığını düşünün:

1) Raspbian Lite görüntüsünü SD -yə quraşdırın.

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

2) Notepad ilə yalnız "ssh" adlı bir fayl yaradın və K: / ssh -də "Bütün fayllar" olaraq Saxla istifadə edin.

Fayl hər şeyi ehtiva edə bilər. Önəmli olan fayl adıdır. "Ssh.txt" OLMAMALIDIR !!!

3) Notepad ilə "wpa_supplicant.conf" adlı ikinci bir fayl yaradın:

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

K: / wpa_supplicant.conf ünvanına "Bütün fayllar" olaraq Saxla istifadə edin

Yenə Notepadın "wpa_supplicant.conf.txt" olaraq dəyişdirməsinə icazə verməyin !!

Raspberry -ni ilk dəfə yüklədiyiniz zaman Raspbian bunları axtaracaq və Wi -Fi -ya qoşulacaq. Avtomatik olaraq təyin edildiyindən, IP ünvanı üçün Routerinizə baxmalı olacaqsınız.

Addım 3: Proqramın Quraşdırılması - Pt.2

1. Hələ yoxsa, 8GB və ya daha böyük bir microSD karta Raspbian Lite versiyasını quraşdırın. GUI versiyasına ehtiyacınız yoxdur, çünki bu layihədə monitor və ya klaviatura istifadə edilmir.

Qeyd: Bu layihə üçün Python2.7 tələb olunur!

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

2. Raspberry -ə SSH vasitəsilə uzaqdan daxil olmaq lazımdır. Windows -da PUTTY SSH terminal proqramından istifadə edə bilərsiniz. Mac -da, yalnız bir komanda terminal pəncərəsi gətirin.

3. MicroSD kartını Pi -yə daxil edin və gücü indi qoşun. Yükləmə bir neçə dəqiqə çəkəcək.

4. Raspberry Pi -yə uzaqdan daxil olmaq üçün onun IP ünvanını tapmalısınız. Siz cəhd edə bilərsiniz: $ ssh [email protected] (Ya da Putty -dən hostname [email protected] daxil edin. Əks halda Routerinizin yerli cihazlarınızın IP ünvanlarını göstərib -göstərməyəcəyini görməli olacaqsınız. Varsayılan id/passwd “pi /moruq”

Pi istifadəçisi olaraq daxil olduqdan sonra:

5. Raspbian -ı yeniləyin: $ sudo apt update $ sudo apt upgrade

6. Raspberry-ni konfiqurasiya edin: $ sudo raspi-config a. İstifadəçi Şifrəsini dəyişdirin b. Yerləşdirmə Seçimləri -> Saat Dilimini Dəyişdirin Yerli Saat Dilinizi seçin c. Bitirmək üçün Tab

7. RaspiDigiHamClock proqramını quraşdırın: $ cd/home/pi $ sudo apt update $ sudo apt install git $ git clone

8. Donatma $ kapatma qurmaq üçün Pi -ni indi söndürün, LED söndükdən sonra gücü ayırın

Addım 4: Avadanlıq naqilləri

Avadanlıq naqilləri
Avadanlıq naqilləri
Avadanlıq naqilləri
Avadanlıq naqilləri
Avadanlıq naqilləri
Avadanlıq naqilləri

TM1637 modullarına və Raspberry Pi -yə bağlayıcıları lehimləyə bilərsiniz (əgər artıq konnektoru yoxdursa). Başlamadan əvvəl, displeyləri necə bağlamaq istədiyinizə və çörək taxtası və ya lehim tellərindən birbaşa Pi və ekran modullarına istifadə edəcəyinizə qərar verin.

TM1637 Modul Pinləri

Kablolama Qeyd: Bəzi tm1637 modulları +5v və GND pinlərini çevirir! Yəni fotoşəkillərlə eyni görünə bilməz.

TM1637 modulu, TM1637 sürücü çipini istifadə edən 4 rəqəmli LED ekran moduludur. 4 rəqəmli 8 seqmentli ekranı idarə etmək üçün yalnız iki bağlantıya ehtiyac var. Digər iki tel, 5+ volt gücündə və torpaqda qidalanır.

PIN DESC CLK Saat DIO Məlumatları GND Ground 5V +5 voltda

Bəzi tm1637 modulları +5v və GND pinlərini çevirir, buna görə modulunuzun işarələrini yoxlayın

Hər bir modulu sınayın, modullardan birinə və Pi -yə lehimlənmiş kişi konnektoru olan tək 4 telli qadın konnektor kabeli ilə başlamağı təklif edirəm. Sonra müvəqqəti olaraq ilk modulu aşağıda göstərilən pinlərə bağlayın.

MODÜLETM1637 Modul Pin Pi Fiziki Pin# 5V 2 GND 6 CLK 40 DIO 38 -in Müvəqqəti Testi Pin düzənlərini tapmaq üçün aşağıya doğru GPIO Diaqramlarına baxın.

İkinci fotoşəkildə Raspberry Pi 3 -ə müvəqqəti olaraq işləyən proqramla bağlı iki ekran göstərilir.

1. Bir dəfə bir modulu müvəqqəti olaraq bağladıqdan və kabellərinizi yoxladıqdan sonra

2. Raspberry Pi -ni gücləndirin. Moduldakı qırmızı LED yanmalıdır, amma hələ EKRAN olmayacaq.

3. Əvvəlki kimi yenidən Pi -yə SSH daxil edin.

$ cd RaspiDigiHamClock

$ python test.py

Müxtəlif qısa mesajlar vasitəsilə ekran dövrünü görməlisiniz. Bunu etməsəniz, əvvəlcə kabellərinizi yenidən yoxlayın! Bir teli çevirmək və ya Pi -dəki səhv GPIO Pininə bağlamaq asandır. Bir Python səhv mesajı alırsınızsa, Python versiyanızı yoxlayın:

$ python -V (böyük "V")

Python 2.7. X

Python 3 -ə qarşı sınaqdan keçirmədim, buna görə kitabxananın uyğun olub -olmadığına əmin deyiləm.

Səhv mesajını kopyalayın (ümumiyyətlə xətanın son sətri) və Google axtarışına yapışdırın. Bu, baş verənlərə dair bir fikir verə bilər.

Modulunuz işləyirsə, təbrik edirik! Modulun və Pi -nin işlədiyini bilirsiniz. İndi test etmək üçün hər modulu təkrarlayın. (Modulları bağlamadan/çıxarmadan əvvəl Pi -ni bağlamağı və söndürməyi təklif edirəm!)

$ sudo indi bağlanır

Addım 5: Raspi -də GPIO pinləri

Raspi -də GPIO pinləri
Raspi -də GPIO pinləri
Raspi -də GPIO pinləri
Raspi -də GPIO pinləri
Raspi -də GPIO pinləri
Raspi -də GPIO pinləri

Bu layihə, pinlər üçün GPIO fiziki BOARD idlərindən istifadə edir.

Bu Pin 40 -dan Pin 1 -dir. "BCM" GPIO pin nömrələnməsi deyil. (Bəli, bir az qarışıqdır, amma BOARD yuxarıdan aşağı sağa qədər olan pin sayıdır.)

Display Module TM1637 Module Pin Pi Fiziki 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

Qeyd: İstəsəniz bütün 4 modulu əlavə etməyinizə ehtiyac yoxdur. 1 ilə 4 arasında modula sahib ola bilərsiniz. (Bəli, daha çox modula keçmək mümkündür, amma daha çox dəstəkləmək üçün kodu dəyişdirməlisiniz.)

AMMA, Modul #1 -dən başlayaraq modulları ardıcıl olaraq bağlamalısınız

Bunun səbəbi, TM1637 kitabxanasının moduldan bir ACK gözləməsi, əks halda gözləmək asılır.

Lehimlənmiş Çörək Panelinin nümunə fotoşəkilləri Daha əvvəl göstərilən GPIO sancaqlarına uyğun olmaq üçün öz kabel modelinizə əməl etməlisiniz, çünki istifadə etdiyim bağlayıcılar və modullar sizinki ilə uyğun gələ bilməz.

Addım 6: Test

Vay, bu bir az məftil idi! İndi tüstü testinin vaxtıdır …

Fərdi modulları və Pi işini artıq bildiyiniz üçün (modulları əvvəllər təsvir edildiyi kimi sınamısınız?), Onda növbəti addım. INI faylını qurmaq və saat proqramını işə salmaqdır:

1. raspiclock.ini redaktə edin

$ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Sayı_modullarını neçə tel bağladığınıza dəyişin. Kitabxana bir modulla danışa bilmədiyi təqdirdə bir ACK gözləyərək asılacağı üçün bu vacibdir.. INI -də SİFARİŞDƏ SÜRDÜRÜLMƏSİNDƏ modulların sayını bağladığınızdan əmin olun Qeyd: num_modules 4 -dən az olduqda Əlavə TZ və HR və GPIO PIN -ləri nəzərə alınmır.

3. Hər bir modul üçün Saat Dilimləri əlavə edin.

Bu, raspi-config vasitəsilə qurulmuş yerli vaxt zonanız üçün 'America/New_York', EST5EDT, UTC və ya 'Local' kimi Linux TZ Adlarıdır. Varsayılan UTC -dir

4. Hər bir modul üçün 12 saatlıq və ya 24 saatlıq rejimin göstərilməsini təyin edin

[SAAT]; TM1637 Modullarının sayı (1 ilə 4 arasında) num_modules = 2

; Hər bir modul üçün vaxt zonaları

; Yerli saat dilimini təyin etmək üçün raspi-config istifadə edin; Defolt UTC -dir; Format, Linux TZ adları və ya yerli vaxt üçün 'Yerli'; 'Amerika/New_York', EST5EDT, UTC, 'Yerli' TZ1 = Yerli TZ2 = UTC TZ3 = TZ4 =

; Hər Modul üçün 12/24 Saat

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

; PARLAKLIQ (diapazon 1..7)

LUM = 1

5. GPIO sancaqlarını Pi üzərindəki fərqli pin #lərinə bağlamadığınız halda onları düzəltmək məcburiyyətində olmamalısınız.

6. Dəyişiklikləri qeyd edin və sonra saatı işlədin:

$ python raspiclock.py

Hər şey qaydasındadırsa, bütün ekran modullarınız. INI faylında qurulduğu vaxtlarla işıqlanmalıdır.

Təbrik edirik! Problem həll etməyi atlayın və Son Quraşdırmaya gedin …

Addım 7: Problemlərin aradan qaldırılması

Bəzi sadə ayıklama mesajlarının göründüyünü görməlisiniz:

Başlanğıc… Modulların sayı = 4 Başlanğıc saat döngəsi… Modul#1 displey TM () Modul#2 ekranTM () Modul#3 ekranTM () Modul#4 ekranTM () (təkrar…)

Əgər əvvəllər modulları sınamısınızsa və hamısı işləyibsə, deməli modulların və Moruqun yaxşı olduğunu bilirsiniz.

A) HANG - Hata ayıklama mesajları bir yerdə asılırsa, proqram o moduldan#ACK gözləyir.

Əvvəlcə naqillərinizi yoxlayın! Bir teli çevirmək və ya Pi -dəki səhv GPIO Pininə bağlamaq asandır.

İkincisi, modulların birdən -birə pisləşdiyini görmək üçün modulları dəyişdirin.

Üçüncüsü, raspiclock.ini faylını yoxlayın. Gerekirse, bütün qovluğu silin və yenidən əldə etmək üçün başqa bir GIT CLONE edin.

Dördüncüsü, kabellərinizi yenidən yoxlayın!;-)

B) Python səhv mesajı alırsınızsa, Python versiyanızı yoxlayın:

$ python -V (böyük "V")

Python 2.7. X

Python 3 -ə qarşı sınaqdan keçirmədim, buna görə kitabxananın uyğun olub -olmadığına əmin deyiləm. Səhv mesajını kopyalayın (ümumiyyətlə xətanın son sətri) və Google axtarışına yapışdırın. Bu, baş verənlərə dair bir fikir verə bilər.

Addım 8: Son Quraşdırma

Son Quraşdırma
Son Quraşdırma

1.. INI faylını yenidən düzəldin və debug = 0 -ı təyin edin. $ Cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Həmçinin TZ saat dilimlərini və HR 12/24 saat parametrlərini istədiyiniz kimi yoxlayın.

3. Parlaqlığı 1 ilə 7 arasında istədiyiniz kimi təyin edin.

4. Yükləmə zamanı avtomatik işə salınması üçün pi crontab -a əlavə etmək üçün install.sh skriptini işə salın.

$ sh install.sh

5. Yenidən başladın

$ sudo yenidən başladın

6. Yenidən başlamalı və sonra işə başlamalıdır.

BİTDİ!

Tövsiyə: