Obsah:
- Krok 1: Úpravy vysielača
- Krok 2: Úpravy prijímača: Pridanie LCD PIC16F887 a HD44780
- Krok 3: Niekoľko referencií…
- Krok 4: Závery a budúca práca
Video: Bezdrôtová komunikácia pomocou lacných RF modulov 433 MHz a obrazových mikrokontrolérov. Časť 2: 4 kroky (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
V prvej časti tohto návodu som ukázal, ako naprogramovať PIC12F1822 pomocou prekladača MPLAB IDE a XC8, aby sa bezdrôtový odosielal jednoduchý reťazec pomocou lacných modulov TX/RX 433 MHz.
Prijímací modul bol pripojený prostredníctvom káblového adaptéra USB k UART TTL k počítaču a prijaté údaje boli zobrazené na zariadení RealTerm. Komunikácia prebiehala pri 1200 baudoch a maximálny dosiahnutý dosah bol asi 20 metrov cez steny. Moje testy ukázali, že v aplikáciách, kde nie je potrebný vysoký dátový tok a veľký dosah, a pri nepretržitom prenose tieto moduly fungujú mimoriadne dobre.
Druhá časť tohto projektu ukazuje, ako pridať na prijímač mikrokontrolér PIC16F887 a 16 -znakový modul LCD. Na vysielači sa navyše dodržiava jednoduchý protokol s pridaním niekoľkých bajtov preambuly. Tieto bajty sú potrebné pre modul RX na úpravu zisku pred získaním skutočného užitočného zaťaženia. Na strane prijímača je PIC zodpovedný za získavanie a overovanie údajov, ktoré sú zobrazené na LCD obrazovke.
Krok 1: Úpravy vysielača
V prvej časti vysielač odosielal jednoduchý reťazec každých niekoľko ms pomocou ôsmich dátových bitov, štartu a stop bitu pri 1200 bitoch za sekundu. Keďže prenos bol takmer nepretržitý, prijímač nemal problémy s nastavením zisku na prijaté údaje. V druhej časti je firmvér upravený tak, aby sa prenos vykonával každých 2,3 sekundy. To sa dosiahne použitím prerušenia časovača strážneho psa (nastaveného na 2,3 s) na prebudenie mikrokontroléra, ktorý je medzi každým prenosom prepnutý do režimu spánku.
Aby mal prijímač čas na doladenie zisku, pred skutočnými údajmi sa odošle niekoľko bajtov preambuly s krátkymi časmi LO "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)". Užitočné zaťaženie je potom označené štartovacím & bajtom a**bajtom.
Preto je jednoduchý protokol popísaný nasledovne:
(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) & Hello InstWorld!*
Medzi V+ a GND RF modulu je navyše pridaný 10uF oddeľovací tantalový kondenzátor, aby sa zabránilo zvlneniu spôsobenému zosilňovacím modulom DC-DC.
Prenosová rýchlosť zostala rovnaká, ale moje testy ukázali, že aj pri 2 400 baudoch bol prenos účinný.
Krok 2: Úpravy prijímača: Pridanie LCD PIC16F887 a HD44780
Dizajn prijímača bol založený na PIC16F887, ale môžete použiť iný PIC s malými úpravami. V mojom projekte som použil tento 40 pin μC, pretože pre budúce projekty založené na tomto dizajne budem potrebovať ďalšie piny. Výstup RF modulu je pripojený k pinu UART rx, zatiaľ čo 16 x 2 znakový LCD (HD44780) je pripojený cez PORTB piny b2-b7 na zobrazenie prijatých údajov.
Rovnako ako v časti 1 sa prijaté údaje zobrazujú aj na serveri RealTerm. To sa dosiahne použitím kolíka UART tx, ktorý je pripojený pomocou káblového adaptéra USB k UART TTL k počítaču.
Keď sa pozrieme do firmvéru, keď dôjde k prerušeniu UART, program skontroluje, či prijatý bajt je počiatočný bajt ('&'). Ak áno, začne zaznamenávať nasledujúce bajty, kým sa nezachytí stop byte ('*'). Hneď ako je získaná celá veta, a ak vyhovuje predtým popísanému jednoduchému protokolu, je potom odoslaná na obrazovku LCD, ako aj na port UART tx.
Pred prijatím počiatočného bajtu prijímač už upravil svoj zisk pomocou predchádzajúcich bajtov preambuly. Tieto sú rozhodujúce pre hladký chod prijímača. Vykonáva sa jednoduchá kontrola chýb pri prebehu a rámovaní, je to však iba základná implementácia spracovania chýb UART.
Pokiaľ ide o hardvér, pre prijímač je potrebných niekoľko častí:
1 x PIC16F887
1 x HD44780
1 x modul RF Rx 433 MHz
1 x 10 μF tantalový kondenzátor (oddelené)
1 x 10 K trimer (jas písma LCD)
1 x 220 Ω odpor 1/4 W (podsvietenie LCD)
1 x 1 KΩ 1/4 W
1 x anténa 433 MHz, 3dbi
V praxi prijímač fungoval mimoriadne dobre v rozsahu až 20 metrov cez steny.
Krok 3: Niekoľko referencií…
Okrem oficiálnej webovej stránky Microschip je na webe mnoho blogov, ktoré poskytujú tipy na programovanie PIC a riešenie problémov. Nasledujúce informácie sa mi zdajú veľmi užitočné:
www.romanblack.com/
0xee.net/
www.ibrahimlabs.com/
picforum.ric323.com/
Krok 4: Závery a budúca práca
Dúfam, že vám tento návod pomohol pochopiť, ako používať RF moduly a mikrokontroléry Pic. Firmvér si môžete prispôsobiť svojim vlastným potrebám a zahrnúť CRC a šifrovanie. Ak chcete, aby bol váš návrh ešte sofistikovanejší, môžete využiť technológiu Keeloq spoločnosti Microschip. V prípade, že vaša aplikácia potrebuje obojsmerné údaje, budete potrebovať pár TX/RX na oboch mikrokontroléroch alebo môžete použiť sofistikovanejší transceiver. moduly. Použitím tohto druhu lacných modulov 433 MHz je však možné dosiahnuť iba polovičnú duplexnú komunikáciu. Ďalej, aby bola komunikácia spoľahlivejšia, budete potrebovať nejakú formu podávania rúk medzi TX a RX.
Na ďalšom pokyne vám ukážem praktickú aplikáciu, kde je na vysielač pridaný snímač prostredia s teplotou, barometrickým tlakom a vlhkosťou. Tu budú prenášané údaje obsahovať crc a budú mať základné šifrovanie.
Senzor bude používať port i2c na PIC12F1822, zatiaľ čo implementácia vysielača a prijímača bude odhalená prostredníctvom schém a súborov PCB. Ďakujem za prečítanie!
Odporúča:
Bezdrôtová komunikácia Arduino na Arduino s dlhým dosahom 1,8 km s HC-12 .: 6 krokov (s obrázkami)
Bezdrôtová komunikácia s dlhým dosahom, 1,8 km, Arduino až Arduino s HC-12 .: V tomto návode sa naučíte, ako komunikovať medzi Arduinosom na dlhé vzdialenosti až 1,8 km pod holým nebom. HC-12 je bezdrôtový sériový port komunikačný modul, ktorý je veľmi užitočný, extrémne výkonný a ľahko sa používa. Najprv odídeš
Nízkonákladová bezdrôtová senzorová sieť v pásme 433 MHz: 5 krokov (s obrázkami)
Nízkonákladová bezdrôtová senzorová sieť v pásme 433 MHz: Ďakujem Teresa Rajba za láskavé poskytnutie súhlasu s používaním údajov z ich publikácií v tomto článku.*Na obrázku vyššie - päť jednotiek senzora -odosielateľa, ktoré som použil na testovanie Čo sú bezdrôtové senzory siete? Jednoduchá definícia
Bezdrôtová komunikácia pomocou transceiverového modulu NRF24L01 pre projekty založené na Arduino: 5 krokov (s obrázkami)
Bezdrôtová komunikácia pomocou transceiverového modulu NRF24L01 pre projekty založené na Arduine: Toto je môj druhý návod s pokynmi k robotom a mikroovládačom. Je skutočne úžasné vidieť svojho robota nažive a pracovať podľa očakávania a verte mi, že to bude zábavnejšie, ak budete svojho robota alebo iné veci ovládať rýchlo a
Bezdrôtová sériová komunikácia pomocou Bluefruit: 4 kroky
Bezdrôtová sériová komunikácia pomocou programu Bluefruit: Tu je jednoduchý krok za krokom návod, ako nahradiť vaše káble nízkoenergetickým pripojením bluetooth: Chvíľu mi trvalo, kým som na to prišiel, pretože neexistuje takmer žiadna dokumentácia, ako to urobiť pomocou modernej nízkoenergetickej technológie bluetooth, ako je napr. ako Bluefrui
Jednoduchý merač otáčok pomocou lacných modulov: 8 krokov
Jednoduchý merač otáčok pomocou lacných modulov: Jedná sa o veľmi zaujímavý projekt, ktorý vynaloží veľmi málo úsilia na vytvorenie veľmi jednoduchého merača otáčok (v mojom prípade Round Per Seceond)