Arduino rádiómodul a 433 MHz-es robotok osztályához

Arduino rádiómodul a 433 MHz-es robotok osztályához
Ebben a leckében fogjuk megoldani a problémát, a rádiós átvitel a kontrollerek közötti via Arduino népszerű adóvevő frekvencia 433MHz.

Valójában az adatátviteli eszköz két modulból áll: egy vevő és egy adó. Az adatok csak egy irányban továbbíthatók. Ez fontos, hogy megértse ezeket a modulokat.

Például távvezérelhető bármilyen elektronikus eszközről, függetlenül attól, hogy mobil robot vagy például TV. Ebben az esetben az adatokat át kell adni a vezérlőpultról a készülékre. Egy másik lehetőség a jelek továbbítása a vezeték nélküli érzékelőktől az adatgyűjtő rendszerig. Itt az útvonal már változik, most az adó a szenzor oldalán van, és a vevő a gyűjtőrendszer oldalán van.

A modulok más nevet: MX-05V, XD-RF-5V, XY-FST, XY-MK-5V, stb de mindegyiknek közel azonos a megjelenése és számozása a kapcsolatok. Rádió modulok két frekvenciája is gyakori: 433 MHz és 315 MHz.

1. Csatlakozás

Az adó csak három kimenettel rendelkezik: Gnd, Vcc és Data.

Arduino rádiómodul a 433 MHz-es robotok osztályához

Az Arduino első táblájához a rendszer szerint csatlakoztatjuk őket:

Adó MX-05V 433MHz

A vevő négy kimenettel rendelkezik, de egyiket nem használják.

Arduino rádiómodul a 433 MHz-es robotok osztályához

Az Arduino második táblahoz való csatlakozási rendszer azonos az elsővel:

Vevő XD-RF-5V 433MHz

Mindkét eszközt összegyűjtjük a kenyérlemezre, és elkezdünk programokat írni.

Arduino rádiómodul a 433 MHz-es robotok osztályához

2. Az adó programja

A rádiómodulok használatához használja az RCSwitch könyvtárat. Írjunk egy programot, amely másodpercenként két különböző üzenetet küld.

A programot elemezzük. Az első dolog, amit tettünk, bejelentettük az objektumot, hogy működjenek együtt az adónál, és hívják a mySwitch-nak.

Ezután a standard beállítási funkción belül az adó bekapcsolt állapotban volt, és a kimenet, amelyhez csatlakozik:

Végül a hurokprogram fő hurokjában először egy üzenetet küldünk, majd a második az elküldés funkcióval:

A küldés funkció két argumentummal rendelkezik. Az első egy elküldendő üzenet, amelyet impulzusok törtekor sugároznak. A második argumentum a küldeni kívánt csomag mérete.

Programunkban bináris szám formátumban adtuk meg az üzeneteket. Ezt a "B" angol betű jelzi a B1000 kód elején. A decimális ábrázolásban ez a szám nyolcadik szám lesz. Így hívhatnánk a küldési funkciót:

A küldés szintén elfogadhatja a bináris karakterláncokat:

3. A vevő programja

Most írja be a programot a vevőegységhez. Az átvitel tényének bizonyításához a 3-as terminálra csatlakoztatott LED-et világítjuk meg az Arduino táblaon. Ha a fogadó elkapta a B1000 kódot - kapcsolja be a LED-et, és ha a B0100 - kikapcsol.

A rendelkezésre álló függvény igaz, ha az adó legalább néhány adatot kapott:

A getReceivedValue függvény egy csomagot töröl az adatfolyamból, és dekódolja egy számot. A programban a kapott értéket a változó értékhez hozzárendeljük:

Most megpróbálhatja gyakorlani és különböző hasznos eszközöket készíteni. Íme néhány ötlet.

  1. A lámpatest távirányítója. A vevő oldalon a relé modul. a lámpa tápfeszültség áramkörébe (óvatosság, 220 V!). Az adóoldalon: egy óra gomb. Írjon programokat a vevőhöz és az adóhoz, amely a gomb megnyomásával bekapcsolja a távoli relét. Ha újra megnyomja a gombot, a relé kikapcsol.
  2. Utcai hőmérő rádiócsatornával. Helyezze a hőmérséklet-érzékelőt a távadó oldalára. Adjon önálló tápegységet az elemekből. A vevő oldalon: karakteres LCD kijelző. Írjon programokat a vevőegységhez és az adóegységhez, amely lehetővé teszi a hőmérsékleti értékek kijelzését a távvezérlő érzékelőjén.

következtetés

Tehát most már egyszerű és olcsó módszert tudunk az adatok távoli átvitelére. Sajnos az átviteli sebesség és az ilyen rádiómodulok közötti távolság nagyon korlátozott, így nem tudjuk teljesen szabályozni, például egy quadrocoptert. Mindazonáltal egy egyszerű háztartási készülékhez egy rádiós vezérlőpanelt hozhatunk létre: egy lámpa, egy ventilátor vagy egy televízió.