Мазмуну:
- 1 -кадам: Бергичтин өзгөртүүлөрү
- 2 -кадам: Алуучу өзгөртүүлөр: PIC16F887 жана HD44780 ЖК кошуу
- 3 -кадам: Бир нече шилтеме…
- 4 -кадам: Жыйынтыктар жана келечектеги иш
Video: Арзан 433MHz RF модулдарын жана Pic микроконтроллерлерин колдонуу менен зымсыз байланыш. 2 -бөлүк: 4 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Бул нускаманын биринчи бөлүгүндө, мен арзан TX/RX 433MHz модулдарын колдонуп, жөнөкөй сапты зымсыз жөнөтүү үчүн MPLAB IDE жана XC8 компиляторун колдонуп PIC12F1822ди кантип программалоону көрсөттүм.
Кабыл алуучу модуль USB аркылуу UART TTL кабелдик адаптерине компьютерге туташтырылган жана алынган маалыматтар RealTermде көрсөтүлгөн. Байланыш 1200 байда аткарылган жана максималдуу диапазон дубалдар аркылуу 20 метрге жакын болгон. Менин тесттерим көрсөткөндөй, жогорку ылдамдыкта жана узак аралыкка муктаждык болбогон тиркемелерде жана үзгүлтүксүз берүү үчүн бул модулдар өзгөчө жакшы аткарылган.
Бул долбоордун экинчи бөлүгү кабылдагычка PIC16F887 микроконтроллерин жана 16 × 2 символдуу ЖК модулун кантип кошууну көрсөтөт. Мындан тышкары, өткөргүчтө бир нече преамп байтын кошуу менен жөнөкөй протоколго ылайык иш жүргүзүлөт. Бул байттар RX модулу чыныгы жүктү алаардан мурун анын кирешесин тууралашы үчүн зарыл. Алуучу тарапта, PIC ЖК экранда көрсөтүлгөн маалыматтарды алуу жана текшерүү үчүн жооптуу.
1 -кадам: Бергичтин өзгөртүүлөрү
Биринчи бөлүктө, өткөргүч секундасына 1200 бит ылдамдыкта сегиз маалымат битин, баштоо жана токтотуу битин колдонуп, бир нече мс сайын жөнөкөй сап жөнөтүп турган. Берүү дээрлик үзгүлтүксүз болгондуктан, кабыл алуучу алган маалыматына кирешесин тууралоодо эч кандай кыйынчылыкка туш болгон жок. Экинчи бөлүктө, камтылган программа ар бир 2,3 секундда аткарылышы үчүн өзгөртүлгөн. Бул ар бир берүүнүн ортосунда уйку режимине коюлган микроконтроллерди ойготуу үчүн күзөтчү таймеринин үзүлүшүн (2,3 секундга) колдонуу менен жетишилет.
Кабыл алуучунун кирешесин тактап алууга убактысы болушу үчүн, LO убактысы кыска болгон преамбуланын бир нече байттары "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)" чыныгы маалыматтын алдында жөнөтүлөт. Пайда андан кийин '&' башталышы жана токтоочу '*' байты менен көрсөтүлөт.
Демек, жөнөкөй протокол төмөнкүчө сүрөттөлөт:
(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) & Hello InstWorld!*
Мындан тышкары, dc-dc модулунун көтөрүлүшүнөн кутулуу үчүн RF модулунун V+ менен GND ортосунда 10uF ажыратуучу танталдык конденсатор кошулат.
Боддун ылдамдыгы ошол бойдон калды, бирок менин тесттерим 2400 радиодо да берүү натыйжалуу болгонун көрсөттү.
2 -кадам: Алуучу өзгөртүүлөр: PIC16F887 жана HD44780 ЖК кошуу
Кабыл алуучунун дизайны PIC16F887ге негизделген, бирок кичине өзгөртүүлөр менен башка ПИКти колдонсоңуз болот. Менин долбоорумда мен бул 40 пин мкСти колдондум, анткени бул долбоордун негизинде келечектеги долбоорлор үчүн кошумча казыктар керек болот. RF модулунун чыгышы UART rx төөнөгүчүнө туташат, ал эми 16x2 белги lcd (HD44780) b2-b7 PORTB казыктары аркылуу туташып, алынган маалыматтарды көрсөтөт.
1 -бөлүктөгүдөй эле, алынган маалыматтар RealTermде да көрсөтүлөт. Бул USB аркылуу UART TTL кабелдик адаптерине компьютерге туташкан UART tx пининин жардамы менен жетишилет.
Программаны карап көрсөк, UART үзгүлтүккө учураганда, программа алынган байт баштоо байт экенин текшерет ('&'). Ооба болсо, анда ал кийинки байттарды жазууну баштайт, токтоочу байт кармалмайынча ('*'). Бүтүндөй сүйлөм алынар замат жана ал мурда сүрөттөлгөн жөнөкөй протоколго ылайык келсе, анда ал lcd экранына, ошондой эле UART tx портуна жөнөтүлөт.
Баштоочу байтты алганга чейин, алуучу мурунку преамбуланын байттарын колдонуп, кирешесин тууралап койгон. Булар ресивердин үзгүлтүксүз иштеши үчүн өтө маанилүү. Жөнөкөй толтуруу жана кадрдык каталарды текшерүү жүргүзүлөт, бирок бул UART каталарын иштетүүнүн негизги гана аракети.
Аппараттык жактан алганда, алуучу үчүн бир нече бөлүк керек:
1 x PIC16F887
1 x HD44780
1 x RF Rx модулу 433Mhz
1 x 10 μF танталдык конденсатор (ажыратуу)
1 x 10 K триммер (ЖК ариптин жарыктыгы)
1 x 220 Ω 1/4 W каршылыгы (LCD арткы жарык)
1 x 1 KΩ 1/4 W
1 x Антенна 433Mhz, 3dbi
Иш жүзүндө, алынган дубалдар 20 метрге чейинки диапазондордо өзгөчө жакшы иштеген.
3 -кадам: Бир нече шилтеме…
Интернетте расмий Microschip веб -сайтынан тышкары PIC программалоо жана көйгөйлөрдү чечүү боюнча кеңештерди берген көптөгөн блогдор бар. Мен төмөнкүлөрдү абдан пайдалуу деп таптым:
www.romanblack.com/
0xee.net/
www.ibrahimlabs.com/
picforum.ric323.com/
4 -кадам: Жыйынтыктар жана келечектеги иш
Бул көрсөтмө сизге RF модулдарын жана Pic микроконтроллерлерин кантип колдонууну түшүнүүгө жардам берди деп үмүттөнөм. Сиз өзүңүздүн программаңызды өз керектөөлөрүңүзгө ылайыкташтырып, CRC жана шифрлөөнү кошо аласыз. Эгерде сиз өзүңүздүн дизайныңызды ого бетер татаал кылгыңыз келсе, анда Microschipтин Keeloq технологиясын колдонсоңуз болот. Колдонмоңуз эки багыттуу маалыматка муктаж болсо, эки микроконтроллерде бир жуп TX/RX болушу керек, же сиз дагы татаал трансиверди колдоно аласыз. модулдар. Бирок, мындай 433MHz модулдарын колдонуп, жарым дуплекстүү байланышты гана ишке ашырууга болот. Мындан тышкары, байланышты ишенимдүү кылуу үчүн, TX менен RXтин ортосунда кандайдыр бир кол алышуу болушу керек.
Кийинки көрсөтмөдө мен сизге практикалык колдонмону көрсөтөм, анда өткөргүчкө температурасы, барометрдик басымы жана нымдуулугу бар экологиялык сенсор кошулат. Бул жерде берилүүчү маалымат crc камтыйт жана негизги шифрлөөгө ээ болот.
Сенсор PIC12F1822нин i2c портун колдонот, ал эми өткөргүчтү да, кабыл алуучуну да схемалар жана PCB файлдары аркылуу ачыкка чыгарат. Мени окуганыңыз үчүн рахмат!
Сунушталууда:
DS1307 жана DS3231 реалдуу убакыт сааттарынын модулдарын Arduino менен колдонуу: 3 кадам
DS1307 жана DS3231 реалдуу убакыт сааттарынын модулдарын Arduino менен колдонуу: Биз ар кандай булактардан Arduino менен DS1307 жана DS3231 реалдуу убакыт режиминдеги модулдарды кантип колдонуу боюнча суроо-талаптарды ала беребиз-демек, бул аларды колдонуу боюнча эки бөлүктөн турган биринчи окуу куралы. Бул Arduino үйрөткүчү үчүн бизде реалдуу убакытта эки модуль бар
Arduino негизделген долбоорлор үчүн NRF24L01 Transceiver модулун колдонуу менен зымсыз байланыш: 5 кадам (Сүрөттөр менен)
Arduino негизиндеги долбоорлор үчүн NRF24L01 Transceiver модулун колдонуу менен зымсыз байланыш: Бул роботтор жана микро контроллерлер жөнүндө менин экинчи үйрөткүч окуу куралым. Роботуңуздун тирүү жана күтүлгөндөй иштеп жатканын көрүү чынында эле таң калыштуу, эгерде сиз роботту же башка нерселерди зымсыз тез жана көзөмөлдөп турсаңыз, анда мен үчүн кызыктуу болот деп ишенем
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу - Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу - Rc Helicopter - Rc учагы Arduino колдонуу: 5 кадам (сүрөттөр менен)
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу | Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу | Rc Helicopter | Arduino менен Rc учагы: Rc машинасын иштетүү | Quadcopter | Дрон | RC учагы | RC кайыгы, бизге дайыма рецептор жана өткөргүч керек, RC QUADCOPTER үчүн бизге 6 каналдуу өткөргүч жана кабыл алгыч керек деп ойлойбуз жана TX менен RXтин бул түрү өтө кымбат, ошондуктан биз аны өзүбүздө жасайбыз
Brushless DC моторунун ылдамдыгын Arduino жана Bluetooth модулдарын колдонуу менен көзөмөлдөңүз (HC-05): 4 кадам
Arduino жана Bluetooth модулдарын колдонуп щеткасыз DC моторунун ылдамдыгын көзөмөлдөңүз (HC-05): Киришүү Бул окуу куралында биз Arduino UNO, Bluetooth Module (HC-05) жана Android тиркемесин колдонуп Brushless DC моторунун ылдамдыгын көзөмөлдөйбүз ( Bluetooth контроллери Arduino)
4 жол светофор системасы 5 Arduinos жана 5 NRF24L01 зымсыз модулдарын колдонуп: 7 кадам (сүрөттөр менен)
5 Arduinos жана 5 NRF24L01 зымсыз модулдарын колдонуу менен 4 жол светофор системасы: Бир аз убакыт мурун мен панельде светофорлордун бир жупун деталдаштыруучу көрсөтмө бердим. Мени ойлондурду