Kazalo:
- 1. korak: Spremembe oddajnika
- 2. korak: Spremembe sprejemnika: Dodajanje PIC16F887 in HD44780 LCD
- 3. korak: Nekaj referenc …
- 4. korak: Zaključki in delo v prihodnosti
Video: Brezžična komunikacija z uporabo poceni 433MHz RF modulov in Pic mikrokontrolerjev. 2. del: 4 koraki (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
V prvem delu tega navodila sem pokazal, kako programirati PIC12F1822 s prevajalnikom MPLAB IDE in XC8, da brezžično pošlje preprost niz z uporabo poceni modulov TX/RX 433MHz.
Sprejemniški modul je bil prek USB -kabla s kablom UART TTL priključen na računalnik, prejeti podatki pa so prikazani na RealTerm. Komunikacija je potekala pri 1200 baudih, največji doseg pa je bil približno 20 metrov skozi stene. Moji testi so pokazali, da so bili ti moduli za aplikacije, kjer ni potrebe po visoki hitrosti prenosa podatkov in velikem dosegu ter za neprekinjen prenos, izjemno dobri.
Drugi del tega projekta prikazuje, kako na sprejemnik dodati mikrokrmilnik PIC16F887 in modul LCD velikosti 16 × 2 znaka. Poleg tega na oddajniku sledi preprost protokol z dodatkom nekaj bajtov predvzorca. Ti bajti so potrebni, da modul RX prilagodi svoj dobiček, preden dobi dejansko obremenitev. Na strani sprejemnika je PIC odgovoren za pridobivanje in preverjanje podatkov, ki so prikazani na LCD zaslonu.
1. korak: Spremembe oddajnika
V prvem delu je oddajnik vsakih nekaj ms pošiljal preprost niz z uporabo osmih podatkovnih bitov, začetnega in zaustavnega bita pri 1200 bitih na sekundo. Ker je bil prenos skoraj neprekinjen, sprejemnik ni imel težav prilagoditi dobička sprejetim podatkom. V drugem delu je vdelana programska oprema spremenjena tako, da se prenos izvaja vsakih 2,3 sekunde. To dosežemo s prekinitvijo časovnika nadzornika (nastavljeno na 2,3 s), da prebudimo mikrokrmilnik, ki je med vsakim prenosom preklopljen v način mirovanja.
Da bi sprejemnik imel čas za natančno nastavitev dobička, se pred dejanskimi podatki pošlje nekaj bajtov preambule s kratkimi časi LO "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)". Tovor je nato označen z začetnim bajtom '&' in končnim '*' bajtom.
Zato je preprost protokol opisan na naslednji način:
(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) & Pozdravljeni InstWorld!*
Poleg tega je med V+ in GND RF modula dodan 10uF ločilni tantalski kondenzator, da se znebite valovanja, ki ga povzroči modul za povečanje dc-dc.
Hitrost prenosa podatkov je ostala enaka, vendar so moji testi pokazali, da je bil prenos učinkovit tudi pri 2400 baud.
2. korak: Spremembe sprejemnika: Dodajanje PIC16F887 in HD44780 LCD
Zasnova sprejemnika je temeljila na PIC16F887, vendar lahko uporabite drugačen PIC z majhnimi spremembami. V svojem projektu sem uporabil ta 40 -polni μC, saj bom za prihodnje projekte, ki temeljijo na tej zasnovi, potreboval dodatne zatiče. Izhod RF modula je priključen na UART rx pin, medtem ko je 16x2 znakovni LCD (HD44780) priključen preko PORTB nožic b2-b7 za prikaz prejetih podatkov.
Tako kot pri prvem delu so prejeti podatki prikazani tudi na RealTerm. To se doseže z uporabo pin -a UART tx, ki je prek kabla USB -UART -TTL -kabla priključen na računalnik.
Če pogledamo vdelano programsko opremo, ko pride do prekinitve UART, program preveri, ali je prejeti bajt začetni bajt ('&'). Če je odgovor pritrdilen, začne zapisovati naslednje bajte, dokler se ne ujame zaporni bajt ('*'). Takoj, ko je pridobljen celoten stavek in če je v skladu s prej opisanim preprostim protokolom, se nato pošlje na lcd zaslon, pa tudi na vrata UART tx.
Preden je prejel začetni bajt, je sprejemnik že prilagodil svoj dobiček z uporabo prejšnjih bajtov preambule. Ti so ključni za nemoteno delovanje sprejemnika. Izvede se preprosto preverjanje napak pri prekoračitvi in uokvirjanju, vendar je to le osnovna izvedba obravnave napak UART.
Kar zadeva strojno opremo, je za sprejemnik potrebno nekaj delov:
1 x PIC16F887
1 x HD44780
1 x RF Rx modul 433Mhz
1 x 10 μF tantalov kondenzator (ločevanje)
1 x 10 K trimer (svetlost pisave LCD)
1 x 220 Ω 1/4 W upor (osvetlitev LCD)
1 x 1 KΩ 1/4 W
1 x antena 433Mhz, 3dbi
V praksi je prejemnik deloval izjemno dobro v razponih do 20 metrov skozi stene.
3. korak: Nekaj referenc …
Poleg uradnega spletnega mesta Microschip na spletu obstaja veliko blogov, ki dajejo nasvete o programiranju PIC in odpravljanju težav. Zelo koristno se mi je zdelo naslednje:
www.romanblack.com/
0xee.net/
www.ibrahimlabs.com/
picforum.ric323.com/
4. korak: Zaključki in delo v prihodnosti
Upam, da vam je ta navodila pomagala razumeti, kako uporabljati RF module in Pic mikrokrmilnike. Vdelano programsko opremo lahko prilagodite svojim potrebam in vključite CRC in šifriranje. Če želite svojo zasnovo narediti še bolj prefinjeno, lahko uporabite Microschipovo tehnologijo Keeloq. Če vaša aplikacija potrebuje dvosmerne podatke, bi morali imeti na obeh mikrokrmilnikih par TX/RX ali pa uporabiti bolj izpopolnjen oddajnik modulov. Vendar pa je s tovrstnimi poceni moduli 433MHz mogoče doseči le pol dupleksno komunikacijo. Poleg tega bi morali za bolj zanesljivo komunikacijo imeti določeno obliko rokovanja med TX in RX.
V naslednjem navodilu vam bom pokazal praktično uporabo, kjer se na oddajnik doda okoljski senzor s temperaturo, barometričnim tlakom in vlažnostjo. Tu bodo posredovani podatki vključevali crc in bodo imeli osnovno šifriranje.
Senzor bo uporabljal vrata i2c na PIC12F1822, medtem ko bo izvedba oddajnika in sprejemnika izpostavljena s shemami in datotekami pcb. Hvala, ker ste me prebrali!
Priporočena:
Brezžična komunikacija SmartHome: skrajne osnove MQTT: 3 koraki
Brezžična komunikacija SmartHome: skrajne osnove MQTT: osnove MQTT: ** delal bom serijo domače avtomatizacije, šel bom skozi korake, ki sem jih naredil, da bi se naučil vsega, kar sem naredil v prihodnosti. Ta Instructable je osnova za nastavitev MQTT za uporabo v mojih prihodnjih Instructables. Howeve
Dolga razdalja, 1,8 km, brezžična komunikacija Arduino-Arduino s HC-12 .: 6 korakov (s slikami)
Dolga razdalja, 1,8 km, brezžična komunikacija Arduino-Arduino s HC-12 .: V tem navodilu se boste naučili komunicirati med Arduinosom na dolge razdalje do 1,8 km na prostem. HC-12 je brezžično serijsko vrata komunikacijski modul, ki je zelo uporaben, izredno zmogljiv in enostaven za uporabo. Najprej boste zapustili
Brezžična komunikacija z oddajnim modulom NRF24L01 za projekte na osnovi Arduino: 5 korakov (s slikami)
Brezžična komunikacija z oddajnim modulom NRF24L01 za projekte, ki temeljijo na Arduinu: To je moja druga vadnica o robotih in mikrokrmilnikih, ki jih je mogoče poučiti. Res je neverjetno videti svojega robota živega in delujočega po pričakovanjih in verjemite, da bo bolj zabavno, če z robotom ali drugimi brezžičnimi napravami upravljate hitro in
Brezžična serijska komunikacija z uporabo Bluefruit: 4 koraki
Brezžična serijska komunikacija z uporabo Bluefruit: Tukaj je preprost vodnik po korakih za zamenjavo vaših žic z nizkoenergetsko povezavo Bluetooth: Rabil sem nekaj časa, da sem to ugotovil, ker skoraj ni nobene dokumentacije o tem, kako to storiti s sodobno tehnologijo bluetooth z nizko porabo energije, kot je kot Bluefrui
Preprost merilnik vrtljajev z uporabo poceni modulov: 8 korakov
Preprost merilnik vrtljajev z uporabo poceni modulov: To je zelo zanimiv projekt in vloži zelo malo napora, saj naredi zelo preprost števec vrtljajev (v mojem primeru okroglo na sekundo)