
POPIS MODULU CC1101 433.92Mhz
Uvedený modul má několik závažných nedostatků a to jsou optická absence že modul je zapnut, dále není optická signalizace komunikace mezi modulem a řídícím mikrokontrolérem po sběrnici SPI, jediná detekce že funguje komunikace SPI mezi modulem a Arduino je pomocí programu když se při startu programu v setupu prove-de dotaz na registr testující komunikaci SPI a výsledek se zobrazí na monitoru. To že modul využívá čip, který komunikuje pomocí registrů a na vše je možné se dotazovat pouze programově, bez uvedených možností signalizace z něho dělá z mého po-hledu „hloupý modul“. Další důležitá věc je napájení modulu CC1101 a to je 3.3V včetně datových linek které jsou také v tomto rozpětí A TOTO NAPĚTÍ JAK U NAPÁJENÍ TAK DATOVÝCH LINEK SE NESMÍ NIKDY PŘEKROČIT viz [2]. Čip komunikuje rozhraním SPI což také zabírá více IO linek u použitého mikrokontroléru a modul se spíše hodí pro komunikaci s čidly nebo něco zapnout/vypnout. Nikdy nezapínejte modul bez připojené antény většinou dojde ke zničení koncového stup-ně bez viditelné známky. Pro napájení Arduino, obousměrného převodníku logic-kých úrovní a modulu CC1101 je vždy lepší v hotových modulech v provozu i při tes-tování modulů a programů používat zdroje mimo desky Arduino tyto nemusí snést odběr modulu, dost často bývají zarušeny a hlavně pokud je v programu použita funkce „ ELECHOUE_CC1101.setPa(parametr)“ tato umožňuje zvýšit výstupní vý-kon a hlavně proudový odběr což zdroj 3.3 na desce Arduino zcela dobře přetíží ne-li zničí.
POPIS ZDROJE PRO NAPÁJENÍ ELEKTRONIKY A MODULU CC1101
Zdroj je vyrobený na univerzální vrtané destičce a propojení součástek je prove-deny pomocí drátků, napájení vyrobeného zdroje bylo při testování z regulovatelného zdroje 230VAC/4V – 12VDC/2A v terénu je možné používat dobí-jecí články o výstupním napětí do 9VDC. Na stabilizaci napětí na hodnotu 5VDC je použit stabilizátor 7805 jehož vstup a výstup je blokován keramickými kondenzátory osazení nutno dodržet jinak dochází k rozkmitání stabilizátoru a na stabilizaci napětí z 5V na 3.3V je použit step.down typu TPS62A02 4.5 – 5.5V - 3.3V/2A. Schéma za-pojení zdroje je na Obr.č.01., na Obr.č.02 je základní schéma celkového propojení elektroniky. Pozor pokud je ARDUINO NAPÁJENO Z PROGRAMOVACÍHO KA-BELU PŘI TESTOVÁNÍ PROGRAMU NESMÍ BÝT SOUČASNĚ NAPÁJENO I ZE ZDROJE PŘIPOJENÉHO DO NAPÁJECÍHO JACKU 5.5/2.1! NA ARDUINO NEBO ARDUINO IO SHIELDU. Na zdroji je signalizace napětí 5V pomocí červené nízkopří-konové led diody a výstupní napětí 3,3V je signalizováno nízkopříkonovou žlutou led diodou.


Pro ovládání led diody (blikání) je použito zapojení podle Obr.č.03 a Obr.č.04 přípravky pracují bez připojeného počítače tak že signalizace zda modul komunikuje po sběrnici SPI s Arduino je na straně přijímače pomocí žluté led diody D4 připojené na pinD4 a dioda D3 pro blikání je připojena na pinD3. Pro blikání je použito červené led diody D3 obě led diody jsou nízkopříkonové o průměru 3mm. Na přípravku vysílače je pro signalizaci komunikace SPI použito žluté led diody připojené na pinD3.



Dálkový ovladač pro zásuvku musí při každém stisknutí stejného tlačítka například zapnuto posílat vždy stejné číslo, ty dálkové ovladače které při každém stisknutí stejného tlačítka posílají jiné číslo se v programu na ovládání zásuvky NEDAJÍ POUŽÍT. A pouze se programem na načítání hodnoty čísla dá zjistit že jsou funkční.
PROGRAMY
Pro počítač jsou uloženy v podadresáři POČÍTAČ jsou celkem dva jde o sériové terminály jeden umožňuje zobrazovat delší zprávy na řádku stejně tak i odesílat, oba programy používají shodnou knihovnu která se musí nacházet ve stejném adresáři jako uvedené programy. K programům je v adresáři i popis pro zadávaní parametrů. V podadresáři ARDUINO je celkem pět programů, program test_SPI.INO ten pouze otestuje zda modul CC1101 komunikuje pomocí SPI s Arduino Nano, další dva programy jsou pro ovládání led diody LED_PŘIJÍMAČ.INO, LED_VYSÍLAČ.INO, a další dva programy jsou na načítání čísla tlačítka a na ovládání zásuvky ČÍSLO_ZÁSUVKY.INO, OVLÁDÁNÍ-ZÁSUVKY.INO. Hodnoty zadávané v setupu jednoho modulu musí být shodné s hodnotami v setupu druhého modulu VYJMA PŘÍKAZU U MODULU PŘIJÍMAČE KDY TENTO MUSÍ BÝT FUNKCÍ ELECHOUSE_CC1101_SetRx(); nastaven na příjem a V SETUPU U MODULU VYSÍLAČE FUNKCÍ ELECHOUSE_CC1101_SetTx(); nastaven na vysílání. Pro nastavení aby moduly komunikovali pouze spolu se používá funkce ELECHOUSE_CC1101_SetSyncWord(hodnota, hodnota); pro program během testování byla použita jedna z mnoha knihoven pro CC1101 „ELECHOUSE_CC1101_SRC_DRV“. Důležitá věc v případě že máme v programu v setupu test zda je modul aktivní a na konci je příkaz while a inicializace modulu bude až po příkazu while tak se program automaticky zastaví. Doporučuji vždy mít v setupu před funkcí testování vloženo aktivování čipu. Zde popsané programy používají dvě knihovny ELECHOUSE_CC1101_SRC_DRV a RCSwitch. Programy si může každý upravovat dle potřeby.
TEST PROGRAMU NA ZJIŠTĚNÍ ČÍSEL TLAČÍTEK
Provedeme propojení Arduino IO SHIELDU s převodníkem napěťových úrovní a propojení modulu CC1101 s převodníkem napěťových úrovní podle Obr.č.05. Do ARDUINO IO SHIELDU ZASUNEME Arduino s nahraným programem číslo_zásuvky.ino na počítači spustíme sériový terminál nastavíme parametry, propojíme Arduino programovacím kabelem s počítačem a stiskneme na dálkovém ovladači libovolné tlačítko. Na monitoru se pak zobrazí číselná hodnota podle typu ovladače v mém případě jeden ovladač zásuvek dává vždy při stisku stejného tlačítka vždy stejnou číselnou hodnotu. Po ukončení testování uzavřeme sériový port a odpojíme kabel od počítače.
TEST PROGRAMU NA OVLÁDÁNÍ ZÁSUVKY
Provedeme stejné propojení Arduino IO SHIELDU s převodníkem napěťových úrovní a propojení modulu CC1101 s převodníkem napěťových úrovní podle Obr.č.05. Do ARDUINO IO SHIELDU ZASUNEME Arduino s nahraným programem ovládání_zásuvky.ino na počítači spustíme sériový terminál nastavíme parametry, propojíme Arduino programovacím kabelem s počítačem a na monitoru se bude pravidelně v zadaných intervalech zobrazovat „zásuvka zapnuta, zásuvka vypnuta. Do ovládané zásuvky stačí připojit například lampičku pro kontrolu.
TEST PROGRAMŮ NA OVLÁDÁNÍ LED DIODY
Do jednoho Arduino Nano nahrajeme program led_přijímač.ino a do druhého Arduino Nano program led_vysílač.ino, zapojení vysílače a přijímače provedeme podle Obr.č.03 a podle Obr.č.04 poté Arduino osadíme do ARDUINO IO SHIELDŮ vzdálíme modul přijímače a vysílače od sebe tak 2m a připojíme napájení. Nyní již bude pravidelně led dioda blikat, zde se nepoužívá ke kontrole počítač a kontrola komunikace SPI je pouze pomocí led diod na každém modulu.
PROGRAM TEST SPI
Provedeme propojení Arduino IO SHIELDU s převodníkem napěťových úrovní a propojení modulu CC1101 s převodníkem napěťových úrovní podle Obr.č.05. Do ARDUINO IO SHIELDU ZASUNEME Arduino s nahraným programem test_SPI.ino na počítači spustíme sériový terminál nastavíme parametry komunikace. Propojíme Arduino programovacím kabelem s počítačem a na monitoru se již bude zobrazovat pravidelně informace „komunikace SPI CC1101 s Arduino OK“. V případě že komunikace SPI není funkční zobrazí se toto také na monitoru a program se příkazem WHILE (1) ukončí.
Použité prameny :
[1] www.mojeelektronika.mzf.cz různá zapojení a programy
[2] technická dokumentace k modulu CC1101