Tartalomjegyzék:

ATtiny85 RF távirányító: 3 lépés
ATtiny85 RF távirányító: 3 lépés

Videó: ATtiny85 RF távirányító: 3 lépés

Videó: ATtiny85 RF távirányító: 3 lépés
Videó: Синтезатор на ATtiny85 и SI5351 2024, Július
Anonim
ATtiny85 RF távirányító
ATtiny85 RF távirányító

MEGJEGYZÉS: Az oktatható "Virtuális rejtőzködő játékom" bemutatja, hogyan kell használni ezt a típusú távirányítót egy RXC6 modullal, amely automatikusan dekódolja az üzenetet.

Amint azt egy korábbi Instructable -ben említettem, nemrég kezdtem játszani néhány ATtiny85 zsetonnal. A kezdeti projekt az volt, hogy egy RF távirányítót készítsek, amely érmeelemmel működik. Nyers chipre kellett mennem, mert a birtokomban lévő Arduino -k egyike sem képes kielégíteni a nagyon alacsony teljesítmény és a viszonylag kis méret igényét. Egy módosított LilyPad közel jött, de a chip jobb válasz. Az ötlet nem annyira egy meglévő távirányító másolása volt, hanem annak bemutatása, hogyan készítheti el saját adó- és vevőkészletét. Amellett, hogy szórakoztató tanulási projekt, lehetővé teszi saját „titkos” kódkombináció létrehozását is. Azért tettem idézőjelbe a „titkot”, mert elég könnyű feltörni ezeket az egyszerű kódokat.

1. lépés: RF üzenet formátum

RF üzenet formátum
RF üzenet formátum

Ennél a projektnél úgy döntöttem, hogy megismétlem az egyik Etekcity RF vezeték nélküli kapcsoló jeleit (lásd az ezeken a modulokon található utasításokat). Ezt azért tettem, mert meg tudtam győződni arról, hogy az adóm működik az Etekcity vevővel, és hogy a vevőm az Etekcity távirányítóval működik. Azt is véletlenül pontosan tudom, hogy melyek a helyes kódok és formátumok ezeknek az eszközöknek, mert korábban rögzítettem őket. A kódrögzítési vázlatot lásd az „Arduino RF érzékelő dekódoló” utasításban.

Az Etekcity konnektorok kódjai és formátumai nagyon jellemzőek az olcsó RF eszközökre. Vannak olcsó biztonsági eszközeim, amelyek nagyon hasonló formátumokat használnak, csak néhány időzítési variációval. Az üzenet hossza kényelmes, 24 bit hosszú kezdő- és rövid leállítási bittel. Könnyedén módosíthatja a kódot további bájt adatok hozzáadásához, valamint a szinkronizálás és az adatbitek időzítésének módosításához. Ismétlem, ez a vázlat csak egy kezdő sablon.

2. lépés: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Az adó érmeelemmel (2032) működik, így az alacsony energiafogyasztás kulcsfontosságú. Ennek nagy része a szoftverben valósul meg, de segít abban, hogy az ATtiny85 rendszerint az 1 MHz-es belső órán működik. A szabály az, hogy az alacsonyabb órajel-frekvenciák kevesebb energiát igényelnek, és az 1 MHz tökéletes az adó logikájához.

A tényleges RF adó modul, amit szeretek használni, egy FS1000A, amely általában elérhető. 433 MHz-es és 315 MHz-es változatban is kapható. A szoftvert nem érdekli, hogy melyiket használja, de meg kell győződnie arról, hogy a vevőkártya ugyanazon a frekvencián működik. A legtöbb projektem 433 MHz-es eszközöket használ, mert ezt használják a különféle olcsó vezeték nélküli eszközök, amelyeket felhalmoztam. A képen látható távadótábla -elrendezés szépen illeszkedik egy régi pirulapalackba. Nem szép, de elég jó a koncepció igazolásához.

A vevő forrasztás nélküli kenyértáblán van, mert egyetlen célja, hogy bemutassa, hogyan kell jeleket fogadni, és hogyan lehet valamit be-/kikapcsolni a kapott kódok alapján. LED -et használ a be/ki állapot jelzésére, de ezt helyettesítheti egy relé meghajtóval, stb. Bármilyen Arduino használható a vevőhöz, mert nem kell lemerülnie az elemről. Ha a méret még mindig szempont, használhat másik ATtiny85 chipet. A lényeg az, hogy az ATtiny85-nek 8 MHz-en kell működnie a vevőben. Tekintse meg korábbi ATtiny85 Instructable-m egy egyszerű vázlatot, amely igazolja, hogy sikeresen megváltoztatta a belső órát 8 MHz-re. Az Érzékelők dekódolásáról szóló utasításom végén a vevőszoftver Arduino Nano verzióját tartalmazom. Ez megegyezik az itt szereplő ATtiny85 verzióval, kivéve néhány chipregiszter különbséget.

Amint azt a korábbi RF utasításokban részleteztem, inkább olyan vevőt használok, mint a hagyományos RXB6. Ez egy szuperheterodin vevő, amely sokkal jobban működik, mint az FS1000A távadókhoz általában mellékelt szuperregeneráló vevőkészülékek.

Mind az adó-, mind a vevőmodulok jobban működnek a megfelelő antennákkal, de gyakran nincsenek mellékelve. Megveheti őket (megkaphatja a megfelelő gyakoriságot), vagy elkészítheti sajátját. 433 MHz-en a megfelelő hosszúság körülbelül 16 cm az egyenes vezetékes antenna számára. Tekercseléshez vegyen körülbelül 16 cm szigetelt, szilárd maghuzalt, és tekerje körbe egy rétegben egy 5/32 hüvelykes fúrószárral. Vágja le a szigetelést egy rövid egyenes szakaszról az egyik végén, és csatlakoztassa az adóhoz/vevőkártyához. Azt tapasztaltam, hogy az Ethernet -kábelen lévő huzal jól működik az antennákhoz. Az adó kártyának általában van helye az antenna forrasztásához, de a vevőkártya csak tűkkel rendelkezhet (mint az RXB6). Csak győződjön meg arról, hogy a kapcsolat biztonságos, ha nem forrasztja fel.

3. lépés: Szoftver

Az adó szoftver gyakori technikákat használ a chip alvó üzemmódba állítására. Ebben az üzemmódban kevesebb, mint 0,2ua áramot vesz fel. A kapcsolóbemenetek (D1-D4) be vannak kapcsolva a belső felhúzó ellenállásokkal, de nem húznak áramot, amíg le nem nyomnak egy kapcsolót. A bemenetek interrupt-on-change (IOC) -ra vannak konfigurálva. A kapcsoló megnyomásakor megszakítás keletkezik, és arra kényszeríti a chipet, hogy felébredjen. A megszakításkezelő körülbelül 48 ms késleltetést hajt végre, hogy lehetővé tegye a kapcsoló kikapcsolását. Ezután ellenőrizni kell, hogy melyik kapcsolót nyomták meg, és meghívják a megfelelő rutint. Az átvitt üzenet többször megismétlődik (5 -ször választottam). Ez a kereskedelmi adókra jellemző, mert olyan nagy az RF forgalom 433 MHz-en és 315 MHz-en. Az ismétlődő üzenetek segítenek abban, hogy legalább egy eljusson a vevőhöz.

A szinkronizálási és bitidők az adó szoftver elején találhatók, de az adatbájtok mindegyik négygombos rutinba beágyazottak. Ezek nyilvánvalóak és könnyen módosíthatók, és bájtok hozzáadása a hosszabb üzenetekhez is egyszerű. Ugyanazok a definíciók szerepelnek a vevőszoftverben, valamint az adatbájt -definíciók. Ha adatbájtokat ad hozzá az üzenethez, módosítania kell az „Msg_Length” definícióját, és bájtokat kell hozzáadnia az „RF_Message” változóhoz. Ezenkívül hozzá kell adnia egy kódot az „RF_Message” check in „loop” -hoz, hogy ellenőrizze az extra bájtok megfelelő fogadását és meghatározza azokat.

Ajánlott: