Мазмуну:
- 1 -кадам: талаптар
- 2 -кадам: Программаны орнотуу
- 3 -кадам: Программаны орнотуу - Pt.2
- 4 -кадам: Аппараттык зым
- 5 -кадам: Raspiдеги GPIO Pins
- 6 -кадам: Тестирлөө
- 7 -кадам: Мүчүлүштүктөрдү оңдоо
- 8 -кадам: Акыркы орнотуу
Video: Raspberry Pi ышкыбоздук радиосунун санариптик сааты: 8 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Обзор
Ышкыбоздук радио операторлору (aka HAM Radio) 24 саат UTC (универсалдуу координацияланган убакыт) колдонушат. Мен санариптик саатты курууну чечтим TM1637 арзан 4 орундуу дисплейлерди жана GUI саатынын ордуна Raspberry Pi Zero W. (Аппаратура кызыктуу!)
TM1637 менен шартталган дисплейде эки цифранын ортосунда борбордук чекит ":" менен 7 сегменттин төрт LED бар. Дисплейди кошуу үчүн 5 зым жана 5V + жана Ground үчүн жалпы 4 зым керек.
Бул өзгөчө долбоор үчүн, мен Raspi Интернет аркылуу NTP (Network Time Protocol) серверлеринен өз убактысын алууну кааладым. Мен бул сааттын дагы бир версиясын Arduino Uno жана реалдуу убакыт сааты модулунда иштөөнү пландап жатам, WiFi жок болгондо жана дагы көчмө иштөө үчүн.
Мен ошондой эле сааттын жергиликтүү убакытты 12 саат жана 24 саат форматында, ошондой эле 12 саат жана 24 саат форматында UTC көрсөтүшүн кааладым. Программалык камсыздоо сизге UTC 24h (типтүү ветчина) же 4 башка дисплейде ар кандай убакытты колдонууга уруксат берүү үчүн иштелип чыккан.
Ошондой эле демейки Жергиликтүү убакыттын ордуна колдонгуңуз келген УБАКЫТ ЗОНАСЫН коё аласыз. Ошентип, төрт дисплейдин ар бири башка убакыт алкагын жана 12 саат же 24 саат форматында көрсөтө алат.
Бул долбоорго Pi жана/же tm1637 модулдарына коннекторлорду же зымдарды кошуу керек.
Толук көрсөтмөлөр GITHUBда да бар:
1 -кадам: талаптар
• Raspberry Pi2, 3, же Zero W. (б.а. 40 пин башы жана Ethernet/Wifi менен каалаган пи)
• 4-TM1637 4 орундуу дисплей модулдары
Жана/же
ЭСКЕРТҮҮ: TM1637 шайкеш болгондо, чоңураак же кичирээкти колдоно аласыз.
• 16 зым менен өткөргүчтөр (ар TM1637ге 4 зым керек)
• Solderless Breadboard жана зымдар Же
• Solder жөндөмдүү Breadboard & ар кандай пин туташтыргычтары.
• Pi үчүн 8GB MicroSD же андан чоңураак
• Pi үчүн 5v электр менен камсыздоо.
2 -кадам: Программаны орнотуу
Бул колдонмо Тим Вайзенеггер тарабынан жазылган TM1637.py python китепканасын колдонууга оңой колдонот. (Эгерде сиз китепкана жөнүндө маалымат алгыңыз келсе, текшериңиз:
Сиз билесизби?
Эгерде сиз Raspbianди SD картага компьютерди орнотсоңуз, анда аны Raspberryге жүктөө алдында WiFi жана SSH мүмкүнчүлүгүн конфигурациялоо үчүн картада эки файл түзө аласызбы?
Бул үчүн, сиздин SD картаңыз учурда сиздин компьютериңизде K: деп орнотулган деп ойлоңуз.
1) Raspbian Lite сүрөтүн SDге орнотуңуз.
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2) Блокнот менен "ssh" деп аталган файлды түзүңүз жана K: / sshке "Бардык файлдар" катары сактаңыз.
Файлда бардык нерсе камтылышы мүмкүн. Бул файлдын аталышы маанилүү. "Ssh.txt" болбошу керек !!!
3) Блокнот менен "wpa_supplicant.conf" деп аталган экинчи файлды түзүңүз:
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdevupdate_config = 1 тармак = {ssid = "mySSID" psk = "mypassword" key_mgmt = WPA-PSK}
К: / wpa_supplicant.conf файлына "Бардык файлдар" катары сактаңыз
Дагы, Блокноттун аны "wpa_supplicant.conf.txt" деп өзгөртүүсүнө жол бербеңиз !!
Сиз Raspberryди биринчи жолу жүктөгөнүңүздө, Raspbian муну издеп, Wifiга туташат. IP дарегин роутериңизден издөө керек, бирок анын автоматтык түрдө дайындалганынан.
3 -кадам: Программаны орнотуу - Pt.2
1. Эгерде сизде буга чейин жок болсо, Raspbian Lite версиясын 8 ГБ же андан чоңураак microSD картага орнотуңуз. Сизге GUI версиясынын кереги жок, анткени бул долбоордо монитор же клавиатура колдонулбайт.
ЭСКЕРТҮҮ!: Бул долбоор Python2.7 талап кылат!
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2. Сиз Raspberryге SSH аркылуу алыстан кирүүңүз керек болот. Windowsто сиз PUTTY SSH терминалдык программасын колдоно аласыз. Macта, жөн гана буйрук терминалынын терезесин алып келиңиз.
3. MicroSD картасын Pi'ге салыңыз жана азыр кубаттуулукту сайыңыз. Жүктөө үчүн бир нече мүнөт талап кылынат.
4. Raspberry Piге алыстан кирүү үчүн анын IP дарегин табышыңыз керек болот. Сиз аракет кылып көрсөңүз болот: $ ssh [email protected] (Же Puttyден, hostname [email protected] киргизиңиз, антпесе, роутериңиз жергиликтүү түзмөктөрүңүздүн IP даректерин көрсөтөбү же жокпу, көрүшүңүз керек болот. Демейки id/passwd - бул "pi" /малина”
Пи колдонуучу катары киргенден кийин:
5. Raspbian жаңыртуу: $ sudo apt update $ sudo apt upgrade
6. Малинаны конфигурациялоо: $ sudo raspi-config a. Колдонуучунун сырсөзүн өзгөртүү b. Локалдаштыруу параметрлери -> Убакыт алкагын өзгөртүү Жергиликтүү убакыт алкагын тандаңыз c. Аяктоо үчүн өтмөк
7. RaspiDigiHamClock программасын орнотуңуз: $ cd/home/pi $ sudo apt update $ sudo apt install $ git clone
8. Аппаратты $ өчүрүүнү орнотуу үчүн Пиңизди азыр өчүрүңүз
4 -кадам: Аппараттык зым
Сиз туташтыргычтарды TM1637 модулдарына жана Raspberry Pi'ге (эгерде буга чейин туташтыргычы жок болсо) ширете аласыз. Баштоодон мурун, дисплейлерди кантип орнотууну каалаарыңызды чечиңиз, эгерде сиз питага же дисплей модулдарына нан же ширетүүчү зымдарды колдоно турган болсоңуз.
TM1637 Module Pins
Wiring Эскертүү: Кээ бир tm1637 модулдары +5v жана GND казыктарын оодарат! Ошентип, сүрөттөр сыяктуу көрүнбөшү мүмкүн.
TM1637 модулу TM1637 айдоочу чипин колдонгон 4 орундуу дисплей модулу. Бул 4 орундуу 8 сегменттүү дисплейди башкаруу үчүн эки гана байланыш керек. Дагы эки зым 5+ вольтту жана жерди азыктандырат.
PIN DESC CLK Clock DIO маалыматы GND Ground 5V +5 вольтто
Кээ бир tm1637 модулдары +5v жана GND төөнөгүчтөрүн которушат, андыктан модулуңуздун белгилерин текшериңиз
Мен ар бир модулду сынап көрөм, модулдардын бирине жана Пи -ге кошулган эркек коннекторлору бар 4 зымдуу аял коннектор кабелинен баштоону сунуштайм. Андан кийин биринчи модулду төмөндө көрсөтүлгөн казыктарга чейин убактылуу туташтырыңыз.
УБАКТЫК ТЕСТ А MODULETM1637 модулу Pin Pi физикалык пин# 5V 2 GND 6 CLK 40 DIO 38 Пин макетин табуу үчүн GPIO диаграммаларын ылдый караңыз.
Экинчи сүрөттө Raspberry Pi 3ке убактылуу орнотулган эки дисплей көрсөтүлгөн.
1. Бир жолу модулуңуз бар болгондон кийин, зымыңыз убактылуу туташып, зымдарыңызды текшерип көрүңүз
2. Raspberry Pi'ни кубаттаңыз. Модулдагы кызыл LED күйүшү керек, бирок азырынча дисплей болбойт.
3. SSH сиздин Пиңизге мурдагыдай эле кайра.
$ cd RaspiDigiHamClock
$ python test.py
Сиз дисплей циклин ар кандай кыска билдирүүлөр аркылуу көрүшүңүз керек. Антпесеңиз, адегенде зымыңызды кайра текшериңиз! Пидеги туура эмес GPIO Pin'ге зымды оодаруу же туташтыруу оңой. Эгер сиз Python ката билдирүүсүн алсаңыз, Python версияңызды текшериңиз:
$ python -V (баш тамга "V")
Python 2.7. X
Мен Python 3кө каршы сыноодон өткөн жокмун, андыктан китепкана шайкеш келер -келбесин билбейм.
Ката билдирүүсүн көчүрүңүз (адатта катанын акыркы сабы) жана Google издөөгө чаптаңыз. Бул эмне болгонун түшүнүүгө жардам берет.
Эгер модулуңуз иштесе, куттуктайбыз! Сиз модул менен Pi иштеп жатканын билесиз. Эми аны текшерүү үчүн ар бир модул үчүн кайталаңыз. (Мен модулдарды туташтыруудан/ажыратуудан мурун Pi жана өчүрүүнү сунуштайм !!)
$ sudo азыр жабылат
5 -кадам: Raspiдеги GPIO Pins
Бул долбоор пиндер үчүн GPIO физикалык BOARD идентификаторлорун колдонот.
Бул 1 -пин 40ка чейин. Бул "BCM" GPIO пин номери эмес. (Ооба, бир аз түшүнүксүз, бирок BOARD - бул солдон оңго карай пин эсептөө.)
Display Module TM1637 Module Pin Pi Физикалык Pin#Power 5V 2 Ground GND 6
Модуль #1 CLK 33
DIO 31
Модуль #2 CLK 36
DIO 32
Модуль #3 CLK 37
DIO 35
Модуль #4 CLK 40
DIO 38
Эскертүү: Кааласаңыз, бардык 4 модулду кошуунун кажети жок. Сиз 1ден 4кө чейин модулга ээ боло аласыз. (Ооба, дагы модулдарга барууга болот, бирок көбүрөөк колдоо үчүн кодду өзгөртүү керек.)
БИРОК, сиз модулдарды #1ден баштап ырааттуу түрдө туташтырышыңыз керек
Бул TM1637 китепканасы модулдан ACK күтөт, антпесе башкача күтөт.
Soldered Breadboardдун сүрөттөрүнүн үлгүлөрү Сиз көрсөткөн GPIO төөнөгүчтөрүнө дал келүү үчүн өзүңүздүн зым үлгүңүздү ээрчишиңиз керек, анткени мен колдонгон туташтыргычтар жана модулдар сиздикине дал келбеши мүмкүн.
6 -кадам: Тестирлөө
Ой, бул бир аз зым болчу! Азыр түтүндү текшерүүгө убакыт келди …
Сиз жеке модулдарды жана Pi ишин билгениңиз үчүн (сиз буга чейин сүрөттөлгөндөй модулдарды сынап көрдүңүз беле?), Анда кийинки кадам. INI файлын орнотуу жана саат программасын иштетүү:
1. raspiclock.ini түзөтүңүз
$ cd/home/pi/RaspiDigiHamClock
$ nano raspiclock.ini
2. num_modules'ти канча зым менен байланыштырганыңызга өзгөртүңүз. Бул маанилүү, анткени модуль менен сүйлөшө албаса, китепкана ACK күтүп турат.. INIде көрсөтүлгөн тартипте модулдардын санына зым салууну унутпаңыз Эскертүү: num_modules 4төн аз болсо, Extra TZ жана HR жана GPIO PINS этибарга алынбайт.
3. Ар бир модуль үчүн убакыт алкагын кошуңуз.
Бул raspi-config аркылуу белгиленген жергиликтүү убакыт алкагыңыз үчүн 'America/New_York', EST5EDT, UTC же 'Local' сыяктуу Linux TZ аттары. Демейки - UTC
4. Ар бир модуль үчүн 12 саат же 24 саат режимин көрсөтүүнү тандаңыз
[CLOCK]; TM1637 модулдарынын саны (1ден 4кө чейин) num_modules = 2
; Ар бир модул үчүн убакыт алкактары
; Жергиликтүү убакыт алкагын коюу үчүн raspi-config колдонуңуз; По умолчанию UTC; Формат Linux TZ аттары же жергиликтүү убакыт үчүн 'Local'; 'America/New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =
; Ар бир модуль үчүн 12/24 саат
HR1 = 12 HR2 = 24 HR3 = 12 HR4 = 24
; ЖАРКЫНДЫК (диапазон 1..7)
LUM = 1
5. Сиз GPIO төөнөгүчтөрүн Пидеги башка #пинге туташтырмайынча, аларды түзөтүүнүн кажети жок.
6. Өзгөртүүлөрдү сактоо жана андан кийин саатты иштетүү:
$ python raspiclock.py
Эгерде баары жакшы болсо, дисплей модулдарыңыздын бардыгы. INI файлында орнотулган убакыт менен жарыкташы керек.
Куттуктайм! Мүчүлүштүктөрдү оңдоону өткөрүп жиберип, Акыркы орнотууга өтүңүз …
7 -кадам: Мүчүлүштүктөрдү оңдоо
Сиз кээ бир жөнөкөй мүчүлүштүктөрдү билдирүүлөрдү пайда көрүшү керек:
Башталууда… Модулдардын саны = 4 Иштөө убактысы… Модуль#1 дисплей TM () Модуль#2 дисплей TM () Модуль#3 дисплей TM () Модуль#4 дисплей TM () (кайталанууда…)
Эгер сиз мурда модулдарды сынап көрсөңүз жана алар баары иштесе, анда сиз модулдарды жана Малинаны жакшы билесиз.
A) HANG - Эгерде мүчүлүштүктөрдү оңдоо билдирүүлөрү бир жерде илинип калса, анда программа#модулунан ACK күтөт.
Адегенде зымдарды текшериңиз! Пи боюнча туура эмес GPIO Пинге зымды буруп же туташтыруу оңой.
Экинчиден, модулдар бир заматта бузулуп кеткенин билүү үчүн алмаштырыңыз.
Үчүнчүдөн, raspiclock.ini файлын каталар үчүн текшериңиз. Керек болсо, каталогду толугу менен жок кылып, кайра алуу үчүн башка GIT CLONE жасаңыз.
Төртүнчүдөн, зымдарды кайра текшериңиз!;-)
B) Эгер сиз Python ката билдирүүсүн алсаңыз, Python версияңызды текшериңиз:
$ python -V (баш тамга "V")
Python 2.7. X
Мен Python 3кө каршы сыноодон өткөн жокмун, андыктан китепкана шайкеш келер -келбесин билбейм. Ката билдирүүсүн көчүрүңүз (адатта катанын акыркы сабы) жана Google издөөгө чаптаңыз. Бул эмне болгонун түшүнүүгө жардам берет.
8 -кадам: Акыркы орнотуу
1.. INI файлын кайра түзөтүп, мүчүлүштүктөрдү орнотуу = 0. $ cd/home/pi/RaspiDigiHamClock
$ nano raspiclock.ini
2. Ошондой эле TZ убакыт алкактарын жана HR 12/24 сааттык орнотууларын сиз каалагандай текшериңиз.
3. Жарыкты 1 жана 7 ортосунда каалагандай орнотуңуз.
4. Жүктөөдө автоматтык түрдө баштоо үчүн pi crontabга кошуу үчүн install.sh скриптин иштетиңиз.
$ sh install.sh
5. Кайра жүктөө
$ sudo кайра жүктөө
6. Бул өчүрүп -күйгүзүп, анан иштей башташы керек.
БҮТКӨН!
Сунушталууда:
Тышкы FM радиосунун узун диапазону Rashpberry Pi менен гана !!: 6 кадам
Тышкы FM радиосунун узун диапазону Rashpberry Pi менен! !! Сиз баштайсыз. Баштайлы. Көпчүлүгүңүздөр mudules жана башка компоненттер жөнүндө ойлонуп жатасыздар
Тармактык убакыт ESP8266 колдонуу менен санариптик саат: 4 кадам (сүрөттөр менен)
ESP8266 аркылуу тармактык убакыт санариптик сааты: Биз NTP серверлери менен байланышкан жана тармакты же интернет убактысын көрсөтүүчү сүйкүмдүү кичинекей санариптик саатты курууну үйрөнөбүз. WeMos D1 mini биз WiFi тармагына туташуу, NTP убактысын алуу жана OLED модулда көрсөтүү үчүн колдонобуз
60 Гц электр линиясы менен синхрондуу Arduino санариптик сааты: 8 кадам (сүрөттөр менен)
Arduino санариптик сааты 60 Гц электр линиясы менен синхрондоштурулган: Бул Arduino негизделген санариптик саат 60 Гц электр линиясы менен синхрондоштурулган. Бул жөнөкөй жана арзан жалпы анод 4 цифралуу 7 сегменттүү дисплейге ээ, ал сааттарды жана мүнөттөрдү көрсөтөт. Бул 60 Гц синус толкуну качан кирерин аныктоо үчүн кайчылаш детекторду колдонот
Ойготкуч функциясы бар Arduino санариптик сааты (бажы PCB): 6 кадам (сүрөттөр менен)
Ойготкуч функциясы бар Arduino санариптик сааты (колдонуучу ПХБ): Бул DIY көрсөтмөсүндө мен бул санарип саатты кантип жасоону көрсөтөм. Бул долбоордо мен Arduino UNO микроконтроллерине негизделген жеке ПХБ жасоону чечтим - Atmega328p.Bellow сиз ПХБ l менен электрондук схеманы таба аласыз
DX3 радиосунун батареянын иштөө мөөнөтүн Spektrumдан $ 20га чейин: 11 кадам
Spektrumдан $ 20га чейин DX3 радиосунун батареянын иштөө мөөнөтүн эки эсе көбөйтүңүз: Мен бул жөнүндө биринчи жолу RCGRoups.com форумдарындагы DX6/7 үчүн жиптен түшүндүм. Мен нитро машиналарды иштетем, ошондуктан DX3 сатып алдым. Мен бир аз убакыт радиону колдондум, жана батареянын кубаты көпчүлүк радиолордун эң жакшы жагында болчу-бирок DX7 ээлери