Mundarija:
- 1 -qadam: talablar
- 2 -qadam: dasturiy ta'minotni o'rnatish
- 3 -qadam: Dasturiy ta'minotni o'rnatish - 2 -band
- 4 -qadam: Uskuna simlarini ulash
- 5 -qadam: Raspi -da GPIO pinlari
- 6 -qadam: Test
- 7 -qadam: Muammolarni bartaraf etish
- 8 -qadam: Yakuniy o'rnatish
Video: Raspberry Pi havaskor radio raqamli soat: 8 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Sharh
Havaskor radio operatorlari (aka HAM Radio) o'z ishlarining ko'p qismi uchun 24 soatlik UTC (Universal muvofiqlashtirilgan vaqt) dan foydalanadilar. Men raqamli soatni arzon narxli TM1637 4 raqamli displeylar va GUI soati o'rniga Raspberry Pi Zero W yordamida qurishga qaror qildim. (Uskuna qiziqarli!)
TM1637 boshqariladigan displeyda ikkita raqamlar orasidagi ":" markaziy nuqta bilan 7 segmentli to'rtta LED mavjud. Displeyni boshqarish uchun ikkita sim, shuningdek 5V + va Ground jami 4 ta sim kerak.
Ushbu loyiha uchun men Raspi o'z vaqtini Internet orqali NTP (Network Time Protocol) serverlaridan olishni xohlardim. Men ushbu soatning boshqa versiyasini Arduino Uno va real vaqtda soat modulida ishlashni rejalashtirmoqdaman, chunki u Wi-Fi mavjud bo'lmaganda va portativ ishlash uchun.
Shuningdek, men soatni mahalliy soatni 12 soat va 24 soat formatida, shuningdek UTC 12 soat va 24 soat formatida ko'rsatishini xohlardim. Dastur sizga UTC 24 soat (odatdagi jambon) yoki 4 xil displeyda har xil vaqtlarda foydalanish imkonini beradi.
Shuningdek, siz mahalliy mahalliy vaqt o'rniga foydalanmoqchi bo'lgan TIME ZONASINI o'rnatishingiz mumkin. Shunday qilib, to'rtta displeyning har biri boshqa vaqt zonasini ko'rsatishi mumkin va 12 soat yoki 24 soat formatida.
Ushbu loyiha Pi va/yoki tm1637 modullariga ulagichlar yoki simlarni lehimlashni talab qiladi.
To'liq ko'rsatmalar GITHUB -da ham mavjud:
1 -qadam: talablar
• Raspberry Pi2, 3 yoki Zero W. (40 pinli sarlavhali va chekilgan/Wi -Fi)
• 4-TM1637 4 raqamli ko'rsatish modullari
Va/yoki
QAYD: siz TM1637 mos kelsa, kattaroq yoki kichikroqdan foydalanishingiz mumkin.
• 16 ta simli simlar (har bir TM1637 uchun 4 ta sim kerak)
• Lehimsiz non paneli va simlar Yoki
• Lehim bilan ishlaydigan non paneli va turli pinli ulagichlar.
• Pi uchun 8 Gb yoki undan kattaroq MicroSD
• Pi uchun 5V quvvat manbai.
2 -qadam: dasturiy ta'minotni o'rnatish
Bu ilovada Tim Vayzenegger yozgan TM1637.py python kutubxonasidan foydalanish oson. (Agar siz kutubxona haqida tafsilotlarni bilmoqchi bo'lsangiz, qarang:
Bilasizmi?
Agar siz Raspbian -ni kompyuter yordamida SD -kartaga o'rnatgan bo'lsangiz, uni Raspberry -ni yuklamasdan oldin Wi -Fi va SSH -ga kirishni sozlash uchun kartada ikkita fayl yaratishingiz mumkinmi?
Buning uchun sizning SD -kartangiz hozirda kompyuteringizda K: o'rnatilgan deb taxmin qiling.
1) Raspbian Lite tasvirini SD -ga o'rnating.
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2) Notepad yordamida "ssh" deb nomlangan fayl yarating va "Hamma fayllar" sifatida saqlashni K: / ssh -ga ishlating.
Fayl har qanday narsani o'z ichiga olishi mumkin. Bu muhim bo'lgan fayl nomi. "Ssh.txt" bo'lmasligi kerak !!!
3) Notepad yordamida "wpa_supplicant.conf" deb nomlangan ikkinchi fayl yarating:
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdevupdate_config = 1 tarmoq = {ssid = "mySSID" psk = "mypassword" key_mgmt = WPA-PSK}
K: / wpa_supplicant.conf faylini "Hamma fayllar sifatida saqlash" dan foydalaning
Shunga qaramay, Notepad uni "wpa_supplicant.conf.txt" ga o'zgartirishiga yo'l qo'ymang !!
Raspberry -ni birinchi marta yuklaganingizda, Raspbian ularni qidiradi va Wi -Fi tarmog'iga ulanadi. IP -manzil uchun yo'riqchini qidirishingiz kerak bo'ladi, chunki u avtomatik tayinlangan.
3 -qadam: Dasturiy ta'minotni o'rnatish - 2 -band
1. Agar sizda hali bo'lmasa, Raspbian Lite versiyasini 8 Gb yoki undan katta microSD kartaga o'rnating. Sizga GUI versiyasi kerak emas, chunki bu loyihada monitor yoki klaviatura ishlatilmaydi.
QAYD!: Bu loyiha uchun Python2.7 kerak!
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2. Raspberry -ga SSH orqali masofadan kirishingiz kerak bo'ladi. Windows -da siz PUTTY SSH terminal dasturidan foydalanishingiz mumkin. Mac -da, faqat buyruq terminali oynasini oching.
3. MicroSD kartani Pi -ga joylashtiring va hoziroq quvvat manbaiga ulang. Yuklash uchun bir necha daqiqa kerak bo'ladi.
4. Raspberry Pi -ga masofadan kirish uchun siz uning IP -manzilini topishingiz kerak bo'ladi. Siz urinib ko'rishingiz mumkin: $ ssh [email protected] (Yoki Putty -dan hostname [email protected] kiriting, aks holda siz yo'riqnoma mahalliy qurilmalaringizning IP -manzillarini ko'rsatadimi -yo'qligini ko'rishingiz kerak bo'ladi. Standart id/passwd - bu "pi" /Malina"
Pi foydalanuvchisi sifatida kirgandan so'ng:
5. Raspbian -ni yangilang: $ sudo apt update $ sudo apt upgrade
6. Malinani sozlang: $ sudo raspi-config a. Foydalanuvchi parolini o'zgartirish b. Mahalliylashtirish imkoniyatlari -> Vaqt mintaqasini o'zgartirish Mahalliy vaqt mintaqangizni tanlang c. Tugatish uchun yorliq
7. RaspiDigiHamClock dasturini o'rnating: $ cd/home/pi $ sudo apt update $ sudo apt install git $ git clone
8. Uskuna $ o'chirilishini sozlash uchun Pi -ni o'chiring, LED o'chgandan so'ng, quvvatni o'chiring
4 -qadam: Uskuna simlarini ulash
Siz ulagichlarni TM1637 va Raspberry Pi modullariga lehimlashingiz mumkin (agar u hali ulagichga ega bo'lmasa). Ishni boshlashdan oldin, displeylarni qanday o'rnatishni xohlayotganingizni va agar non paneli yoki lehim simlarini to'g'ridan -to'g'ri Pi va displey modullariga ishlatmoqchi bo'lsangiz, qaror qabul qiling.
TM1637 moduli pinlari
Kabelga eslatma: Ba'zi tm1637 modullari +5v va GND pinlarini buradi! Shunday qilib, fotosuratlar bilan bir xil bo'lmasligi mumkin.
TM1637 moduli-bu TM1637 haydovchi chipidan foydalanadigan 4 xonali LED displeyli modul. 4-raqamli 8-segmentli displeyni boshqarish uchun unga faqat ikkita ulanish kerak. Boshqa ikkita sim 5+ voltli kuch va tuproqni oziqlantiradi.
PIN DESC CLK Clock DIO ma'lumotlari GND Ground 5V +5 voltli
Ba'zi tm1637 modullari +5v va GND pinlarini o'zgartiradi, shuning uchun modul belgilarini tekshiring
Men har bir modulni sinab ko'raman, men modullardan biriga va Pi ga lehimli erkak konnektorli bitta 4 simli ayol konnektor kabelidan boshlashni taklif qilaman. Keyin vaqtincha birinchi modulni quyida ko'rsatilgan pinlarga ulang.
Vaqtinchalik sinov MODULETM1637 moduli Pin Pi jismoniy pin# 5V 2 GND 6 CLK 40 DIO 38 Pim sxemalarini topish uchun GPIO diagrammalarini pastdan ko'ring.
Ikkinchi fotosuratda Raspberry Pi 3 ga vaqtincha ulangan ikkita displey ko'rsatilgan.
1. Modulga ega bo'lgandan so'ng, vaqtincha simni ulab, simlaringizni tekshiring
2. Raspberry Pi -ni yoqing. Moduldagi qizil LED yonishi kerak, lekin displey hali bo'lmaydi.
3. SSH sizning Pi -ga avvalgidek qayta kiritiladi.
$ CD RaspiDigiHamClock
$ python test.py
Siz turli xil qisqa xabarlar orqali ekran aylanishini ko'rishingiz kerak. Agar buni qilmasangiz, avval elektr simingizni yana tekshiring! Simni burish yoki Pi -dagi noto'g'ri GPIO pinini ulash oson. Agar siz Python xato xabari olsangiz, Python versiyasini tasdiqlang:
$ python -V (katta "V")
Python 2.7. X
Men Python 3 ga qarshi sinov o'tkazmadim, shuning uchun kutubxonaning mos kelishiga ishonchim komil emas.
Xato haqidagi xabarni nusxa ko'chiring (odatda xatoning oxirgi satri) va Google qidiruviga joylashtiring. Bu nima bo'lgani haqida ma'lumot berishi mumkin.
Agar sizning modulingiz ishlayotgan bo'lsa, tabriklaymiz! Siz modul va Pi ishlayotganini bilasiz. Endi uni sinab ko'rish uchun har bir modul uchun takrorlang. (Men modullarni ulash/o'chirishdan oldin Pi ni o'chirishni va o'chirishni taklif qilaman!)
$ sudo hozir yopiladi
5 -qadam: Raspi -da GPIO pinlari
Ushbu loyiha pinlar uchun GPIO jismoniy BOARD identifikatorlaridan foydalanadi.
Bu 1 -pin 40 -pin. Bu "BCM" GPIO pin raqamlash emas. (Ha, biroz chalkash, lekin BOARD - bu chapdan pastdan o'ngga).
TM1637 displey moduli PIN -kodli jismoniy pin#quvvat 5V 2 tuproqli GND 6
Modul № 1 CLK 33
DIO 31
2 -modul CLK 36
DIO 32
Modul № 3 CLK 37
DIO 35
Modul № 4 CLK 40
DIO 38
Eslatma: Agar xohlasangiz, barcha 4 modulni qo'shishingiz shart emas. Sizda 1 dan 4 tagacha modul bo'lishi mumkin. (Ha, ko'proq modullarga o'tish mumkin, lekin ko'proq qo'llab -quvvatlash uchun kodni o'zgartirish kerak.)
LEKIN, siz 1 -moduldan boshlab modullarni ketma -ket ulashingiz kerak
Buning sababi, TM1637 kutubxonasi moduldan ACK kutadi, aks holda kutish to'xtatiladi.
Lehimlangan taxtaning namunali fotosuratlari Siz ilgari ko'rsatilgan GPIO pinlariga mos kelish uchun o'zingizning simli sxemangizga amal qilishingiz kerak, chunki men ishlatgan ulagichlar va modullar siznikiga mos kelmasligi mumkin.
6 -qadam: Test
Voy, bu biroz simli aloqa edi! Endi tutunni tekshirish vaqti keldi …
Siz alohida modullar va Pi ishlarini bilganingiz uchun (siz modullarni yuqorida ta'riflanganidek sinab ko'rdingizmi?), Keyingi qadam. INI faylini o'rnatish va soat dasturini ishga tushirishdir:
1. raspiclock.ini -ni tahrirlang
$ CD/home/pi/RaspiDigiHamClock
$ nano raspiclock.ini
2. Num_modules -ni qancha simli ulanganingizga o'zgartiring. Bu juda muhim, chunki modul bilan gaplasha olmasa, kutubxona ACK kutadi. Modullar sonini kiritishni unutmang. INI da ko'rsatilgandek tartibda. Agar raqamlar_modullari 4dan kam bo'lsa, qo'shimcha TZ va HR va GPIO PIN -kodlari e'tiborga olinmaydi.
3. Har bir modul uchun vaqt zonalarini qo'shing.
Bu raspi-config orqali o'rnatilgan mahalliy vaqt mintaqasi uchun "America/New_York", EST5EDT, UTC yoki "Local" kabi Linux TZ nomlari. Standart - UTC
4. Har bir modul uchun 12 soat yoki 24 soat rejimini ko'rsatishni belgilang
[SAAT]; TM1637 modullari soni (1 dan 4 gacha) num_modules = 2
; Har bir modul uchun vaqt zonalari
; Mahalliy vaqt mintaqasini o'rnatish uchun raspi-config-dan foydalaning; Standart - UTC; Format - Linux TZ nomlari yoki mahalliy vaqt uchun "Mahalliy"; 'America/New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =
; Har bir modul uchun 12/24 soat
HR1 = 12 HR2 = 24 HR3 = 12 HR4 = 24
; Yorqinligi (diapazon 1..7)
LUM = 1
5. Agar GPIO pinlarini Pi -dagi boshqa pinlarga ulamasangiz, ularni tahrir qilishingiz shart emas.
6. O'zgarishlarni saqlang va keyin soatni ishga tushiring:
$ python raspiclock.py
Agar hamma narsa yaxshi bo'lsa, sizning barcha displey modullaringiz. INI faylida o'rnatilgan vaqt bilan yonib turishi kerak.
Tabriklaymiz! Nosozliklarni tuzatishni o'tkazib yuboring va oxirgi o'rnatishga o'ting …
7 -qadam: Muammolarni bartaraf etish
Siz oddiy disk raskadrovka xabarlarini ko'rishingiz kerak:
Boshlanmoqda… Modullar soni = 4 Boshlang'ich soat tsikli… 1 -modul displey TM () 2 -modul displey TM) 3 -modul displey TM () 4 -modul displey TM () (takrorlanmoqda …)
Agar siz ilgari modullarni sinovdan o'tkazgan bo'lsangiz va ularning hammasi ishlagan bo'lsa, demak siz modul va Raspberry yaxshi ekanligini bilasiz.
A) HANG - Agar disk raskadrovka xabarlari bir joyda osilganga o'xshasa, dastur#modulidan ACK kutadi.
Avval simlaringizni tekshiring! Simni burish yoki Pi -dagi noto'g'ri GPIO pinini ulash oson.
Ikkinchidan, modul birdaniga ishdan chiqqanini ko'rish uchun modullarni almashtiring.
Uchinchidan, raspiclock.ini faylini xatolar uchun tekshiring. Agar kerak bo'lsa, butun katalogni o'chirib tashlang va yana olish uchun boshqa GIT CLONE qiling.
To'rtinchidan, simni yana tekshiring!;-)
B) Agar siz Python xato xabari olsangiz, Python versiyasini quyidagicha tasdiqlang:
$ python -V (poytaxti "V")
Python 2.7. X
Men Python 3 ga qarshi sinov o'tkazmadim, shuning uchun kutubxonaning mos kelishiga ishonchim komil emas. Xato haqidagi xabarni nusxalash (odatda xatoning oxirgi satri) va Google qidiruviga joylashtirish. Bu nima bo'lgani haqida ma'lumot berishi mumkin.
8 -qadam: Yakuniy o'rnatish
1. INI faylini qayta tahrirlang va disk raskadrovka = 0. $ cd/home/pi/RaspiDigiHamClock -ni o'rnating.
$ nano raspiclock.ini
2. Shuningdek, TZ vaqt zonalari va HR 12/24 soatlik sozlamalari xohlaganingizcha tekshiring.
3. Yorqinlikni xohlaganingizcha 1 dan 7 gacha o'rnating.
4. Yuklashda avtomatik ishga tushirish uchun pi crontab -ga qo'shish uchun install.sh skriptini ishga tushiring.
$ sh install.sh
5. Qayta yuklash
$ sudo qayta ishga tushirish
6. U qayta ishga tushishi va keyin ishga tushishi kerak.
Tugatildi!
Tavsiya:
Raqamli soat, lekin mikrokontrolersiz [Hardcore Electronics]: 13 qadam (rasmlar bilan)
Raqamli soat, lekin mikrokontrolersiz [Hardcore Electronics]: Mikrokontroller yordamida sxemalarni tuzish juda oson, lekin biz oddiy vazifani bajarish uchun (hatto chiroqni o'chirish uchun ham) mikrokontroller bajarishi kerak bo'lgan ishni unutamiz. Shunday qilib, raqamli soatni to'ldirish qanchalik qiyin bo'lardi
Mikrokontrollerdan foydalanadigan raqamli soat (AT89S52 RTC davrisiz): 4 qadam (rasmlar bilan)
Mikroto'lqinli raqamli soat (AT89S52 RTC davrisiz): soatni tasvirlab beraylik … " Soat - bu vaqtni (nisbiy) hisoblaydigan va ko'rsatadigan qurilma " !!! O'ylaymanki, men buni to'g'ri aytganman, shuning uchun ALARM funksiyasi bilan soat ishlab chiqarishga ruxsat beradi. . QAYD: o'qishga 2-3 daqiqa vaqt ketadi, iltimos loyihani to'liq o'qing, aks holda men o'qimayman
ESP8266 yordamida tarmoq vaqtli raqamli soat: 4 qadam (rasmlar bilan)
ESP8266 yordamida tarmoq vaqti raqamli soati: Biz NTP serverlari bilan aloqa qiladigan, tarmoq yoki internet vaqtini ko'rsatadigan yoqimli raqamli soat qurishni o'rganamiz. Biz WeMos D1 mini -ni WiFi tarmog'iga ulanish, NTP vaqtini olish va OLED modulida ko'rsatish uchun ishlatamiz
Yarim soatdan kamroq vaqt ichida Raspberry Pi va RTL-SDR dongle yordamida havaskor radio APRS RX Only IGate yarating: 5 qadam
Yarim soatdan kamroq vaqt ichida Raspberry Pi va RTL-SDR Dongle yordamida havaskor radio APRS RX Only IGate yarating: E'tibor bering, bu hozir ancha eski, shuning uchun ba'zi qismlari noto'g'ri va eskirgan. Tahrir qilishingiz kerak bo'lgan fayllar o'zgardi. Men sizga rasmning so'nggi versiyasini berish uchun havolani yangiladim (uni ochish uchun 7-zipdan foydalaning), lekin to'liq ko'rsatma uchun
Raqamli va ikkilik soat 8 raqamli X 7 segmentli LED displeyda: 4 qadam (rasmlar bilan)
Raqamli va ikkilik soat 8 ta raqamli X 7 segmentli LED displeyda: Bu mening raqamli & 8 dyuymli x 7 segmentli LED displey yordamida ikkilik soat. Men odatiy qurilmalar, xususan, soatlar uchun yangi xususiyatlar berishni yaxshi ko'raman va bu holda ikkilik soat uchun 7 segmentli displeydan foydalanish noan'anaviy va