Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

OVLÁDÁNÍ LED NEBO ZÁSUVKY S MODULEM CC1101 433.92Mhz

Vlastimil Vágner

    Po prvních pokusech s moduly CC1101 433.92Mhz jsem se po čase rozhodl si vyzkoušet napsat program na jednoduché ovládání led diody tak aby jeden modul pravidelně vysílal hodnoty které se na druhém modulu vyhodnotí a tento pak bude pravidelně blikat led diodou. Po tomto programu a jeho odzkoušení jsem se rozhodl si napsat další program na zjištění číselných hodnot tlačítek na dálkovém ovladači pro bezdrátové zásuvky 433Mhz, a tyto pak ovládat dalším napsaným programem na zapínání a vypínání zásuvky. Pro ovládání jsem použil Arduino Nano které jsem pro testování osadil do Arduino IO shieldu, pro komunikaci mezi Arduino a modulem CC1101 jsem použit 8 – kanálový obousměrný převodník logických úrovní (5V – 3.3V) a pro napájení celé sestavy jsem použil vyrobený napájecí zdroj s výstupním napětím 8V pro napájení  Arduino Nano,  5V a 3.3V pro napájení převodníku a modulu CC1101. Uvedené přípravky rozšiřují zapojení uveřejněná v [1].

 

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 provede 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 pohledu „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 stupně bez viditelné známky. Pro napájení Arduino, obousměrného převodníku logických úrovní a modulu CC1101 je vždy lepší v hotových modulech v provozu i při testová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 provedeny 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 zapojení 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 KABELU 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 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 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í. Poté 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.

 

     vyrobený zdroj připojený k Arduino IO shieldu

      vyrobený zdroj připojený k Arduino IO shieldu

 

    celkové zapojení modulu přijímače vlevo a vysílače vpravo před testováním

     dálkový ovladač zásuvky se zásuvkou

     typ ovladače : MODEL 20298

 

     Použité prameny :

[1] www.mojeelektronika.mzf.cz různá zapojení a programy

[2] technická dokumentace k modulu CC1101

    

     Bližší informace :

vagnervlastimil@seznam.cz

 

Přeji hodně zábavy s uvedenými moduly CC1101.