Мазмуну:

Арзан 433MHz RF модулдарын жана Pic микроконтроллерлерин колдонуу менен зымсыз байланыш. 2 -бөлүк: 4 кадам (Сүрөттөр менен)
Арзан 433MHz RF модулдарын жана Pic микроконтроллерлерин колдонуу менен зымсыз байланыш. 2 -бөлүк: 4 кадам (Сүрөттөр менен)

Video: Арзан 433MHz RF модулдарын жана Pic микроконтроллерлерин колдонуу менен зымсыз байланыш. 2 -бөлүк: 4 кадам (Сүрөттөр менен)

Video: Арзан 433MHz RF модулдарын жана Pic микроконтроллерлерин колдонуу менен зымсыз байланыш. 2 -бөлүк: 4 кадам (Сүрөттөр менен)
Video: Ардуино и радиомодули RF 433 МГц 2024, Июль
Anonim
Арзан 433MHz RF модулдарын жана Pic микроконтроллерлерин колдонуу менен зымсыз байланыш. 2 бөлүк
Арзан 433MHz RF модулдарын жана Pic микроконтроллерлерин колдонуу менен зымсыз байланыш. 2 бөлүк

Бул нускаманын биринчи бөлүгүндө, мен арзан 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 жана HD44780 ЖК кошуу
Алуучуга өзгөртүүлөр: PIC16F887 жана HD44780 ЖК кошуу
Алуучуга өзгөртүүлөр: PIC16F887 жана HD44780 ЖК кошуу
Алуучуга өзгөртүүлөр: PIC16F887 жана HD44780 ЖК кошуу
Алуучуга өзгөртүүлөр: PIC16F887 жана HD44780 ЖК кошуу
Алуучуга өзгөртүүлөр: 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 файлдары аркылуу ачыкка чыгарат. Мени окуганыңыз үчүн рахмат!

Сунушталууда: