Tartalomjegyzék:
- 1. lépés: Néhány információ a NEC infravörös protokollról
- 2. lépés: Szükséges összetevők
- 3. lépés: A szoftver és az eszköz működése
- 4. lépés:
Videó: USB NEC infravörös adó és vevő: 4 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Ez a projekt egy másik projekt folytatása, amelyen dolgozom, és mivel van egy Remote Control 2017 verseny az Instructables témában, gondoltam közzéteszem ezt a projektet. Tehát, ha tetszik ez a projekt, kérjük, szavazzon rá. Kösz.
Mint talán tudja, nagy rajongója vagyok a Microchip 8 bites PIC vezérlőinek, lásd:
A JAL programozási nyelvet használom, mivel úgy néz ki, mint a Pascal (ami szintén tetszik). A JAL -fordító és a könyvtárak letölthetők innen: https://www.justanotherlanguage.org/downloads (görgessen lefelé a legutóbbi verzióért).
Általában magam írom le az összes kódot, hogy teljesen megértsem, mit csinálok, de ehhez a projekthez csatlakoztatnom kellett a PIC -t a számítógép USB -portjához, ezért szükségem volt egy JAL USB soros illesztőprogramra ehhez a PIC vezérlőhöz. Az USB soros illesztőprogramot használtam a JAL letöltési csomagban, ami úgy tűnik, jól működik. Mivel ez az USB soros illesztőprogram egy adott PIC -hez készült, ezt a PIC -t használtam, amely a PIC18F14K50. Ez a vezérlő sokkal több funkcióval rendelkezik, mint amire szükségem van ehhez a projekthez, ezért jelenleg azon dolgozom, hogy ezt az USB -illesztőprogramot egy egyszerűbb PIC -verzión, a PIC16F1455 -en dolgozzam, ami szintén olcsóbb.
Tehát miről is szól ez a projekt? Az ebben az utasításban említett eszközzel infravörös távirányító parancsokat küldhet és fogadhat a számítógépről és a számítógépre az USB-porton keresztül a népszerű NEC infravörös protokoll használatával. Ily módon figyelemmel kísérheti az infravörös parancsokat, és vezérelhet minden olyan eszközt, amely a NEC infravörös távirányító protokollt használja. A projekt dekódolja és lefordítja az infravörös üzeneteket címbájtra és parancsbájtra, vagy ismétlődő üzenetté. A címet természetesen egy bizonyos eszköz, például TV vagy rádió címzésére használják, ahol a parancsbájt jelzi a végrehajtandó funkciót, például a Hangerő növelése, Hangerő csökkentése funkciót. Ezen üzenetek dekódolása mellett az eszköz segítségével infravörös kapcsolaton keresztül is továbbíthatók.
1. lépés: Néhány információ a NEC infravörös protokollról
Ennek a protokollnak a rövid bemutatása. A NEC infravörös távirányító protokollt számos megvásárolható eszközben és távirányítóban használják. Infravörös jelet modulál 38 kHz -es vivőn, és impulzus távolság kódolást használ a logikai „1” és a „0” logikai kódolásához. A protokoll egyszerű ellenőrzést végez annak ellenőrzésére, hogy az üzenet rendben van -e, elküldve mind a címet, mind a parancsbájtot, mind a fordított változatát egy és ugyanazon üzenetben, és ellenőrzi, hogy a fogadás után megegyeznek -e. Ha megnyom egy gombot a távirányítón, akkor egy teljes infravörös üzenetet küld a címmel és a paranccsal. Ha a gombot lenyomva tartja, rövidebb ismétlődő üzenetet küld a cím és a parancsadatok nélkül. Az átvitt üzenetek ismétlési ideje a gomb nyomva tartása mellett rögzített.
További információ a NEC Infra Red protokollról például a következő címen található:
2. lépés: Szükséges összetevők
Ehhez a projekthez a következő összetevőkkel kell rendelkeznie:
- PIC mikrokontroller PIC18F14K50, lásd:
- Kristály 12 MHz
- Kerámia kondenzátor: 2 * 100nF, 1 * 220 nF, 2 * 18pF
- Elektrolit kondenzátor 47 uF/16V
- Infravörös vevő TSOP4838, lásd:
- Ellenállások: 2 * 33k, 1 * 4k7, 1 * 1k, 3 * 330 Ohm, 1 * 22 Ohm
- LED -ek: 2 * infravörös, 1 borostyánsárga, 1 zöld, 1 piros
- A BC640 tranzisztor, lásd:
- Jumper (opcionális)
- USB csatlakozó
Tekintse meg az alkatrészek csatlakoztatásának vázlatos diagramját. Kenyérsütőt használtam ehhez a projekthez, amint az a képen és a videóban is látható. Az áramkör a PC USB -portjáról kap energiát.
3. lépés: A szoftver és az eszköz működése
Amint már említettük, a szoftver PIC18F14K50 -hez készült. JAL -ban írták. A PIC programozására szolgáló Intel Hex fájl csatolva van. A szoftver a következő funkciókat látja el:
- A NEC infravörös üzenetek dekódolása és elküldése a számítógépre USB-n keresztül. Az üzenet dekódolása az infravörös vevő által generált bitfolyamból történik, és cím + parancsüzenet vagy ismétlődő üzenet lesz.
- A számítógépről kapott NEC infravörös üzenetek küldése USB -n keresztül. Vegye figyelembe, hogy a szoftver létrehozza a 38 kHz-es vivőfrekvenciát is, amely közvetlenül hajtja az infravörös LED-eket. Az infravörös LED-del párhuzamosan sárga színű LED van csatlakoztatva, hogy láthatóvá tegye az üzenetet.
Alapértelmezés szerint ez az áramkör elnémítja az infravörös vevőt az infravörös üzenet küldése közben. Ha egy jumpert az „Némítás feloldása” pozícióba helyez, az letiltja ezt a némítási funkciót. Ebben az esetben az átvitt infravörös üzenet dekódolásra kerül az adással párhuzamosan, és a teljes vétel után fogadott infravörös üzenetként kerül elküldésre a számítógépre. Ha érvényes NEC infravörös üzenet érkezik, a piros „IR OK” LED kigyullad.
Az eszköz működéséhez Terminal Emulator programmal kell rendelkeznie a számítógépen. Erre a célra a "Termite" -t használtam. Amikor az eszközt a számítógéphez csatlakoztatja, a Windows 10 automatikusan felismeri azt egy kiegészítő COM-portként, mivel úgy tűnik, hogy ehhez az eszközhöz Microchip-illesztőprogram van előre telepítve. Ennek a COM-portnak a beállítása: 19200 baud 8 bit, 1 stop-bit, nincs paritás és RTS/CTS flow control. Szükség esetén az átviteli sebesség bármilyen más értékre is beállítható, így a 115200 -as átviteli sebesség is működik. Ha az eszköz konfigurálása az USB -porton keresztül történik, és a terminál -emulátor programon keresztül csatlakozik hozzá, a zöld „Konfigurált” LED kigyullad.
Infravörös üzenetek fogadása
Amikor infravörös üzenet érkezik, a következő jelenik meg a Terminal Emulator programban:
- „A: xx C: xx” teljes üzenet esetén, ahol xx a cím (A) és parancs (C) hexadecimális száma. Mindkettő értéke 0x00 (0) és 0xFF (255) között lehet.
- „Ismétlés” ismétlődő üzenet esetén.
Infravörös üzenetek küldése
Ehhez meg kellett határoznom egy protokollt, amely megmondja a készüléknek, hogy mit kell tennie. Mivel terminál emulátort használunk, ASCII karaktereket használtam az üzenet meghatározásához. A parancsnak az eszközre küldésére szolgáló protokoll a következő formátumot használja: '! AACCRR#', ahol (minden karakter megkülönbözteti a kis- és nagybetűket):
- A "!" Jelzi az üzenet kezdetét.
- Az „AA” a cím értéke hexadecimális jelölésben, így „0” –9 és „A” –F,
- A „CC” a parancs értéke hexadecimális jelölésekben, így „0” - „9” és „A” - „F”
- Az „RR” az ismétlődő üzenetek száma, amelyet hexadecimális jelöléssel kell továbbítani, tehát „0” - „9” és „A” - „F”. A „00” érték azt jelenti, hogy nincs ismétlődő üzenet.
Egy példát a 0x07 című üzenetre, a 0x05 parancsra és a 3 ismétlésre a következőképpen kell beírni a Terminal Emulator programban:! 070503#
Az eszköz különböző válaszokat ad a parancs elküldése után a számítógépről:
- Az „Y” azt jelenti, hogy üzenetet továbbítottak. Ne feledje, hogy ezt a választ az összes üzenet - beleértve az ismétlést is - elküldése után adják meg, így eltarthat egy ideig, mire ez a válasz megtörténik, ha sok ismétlődő üzenetet kell továbbítani.
- Az „N” azt jelenti, hogy illegális karakter volt a PC -hez küldött üzenetben.
- A „B” azt jelenti, hogy az infravörös adás még foglalt volt a parancs kiadásakor.
- ?”Azt jelenti, hogy a készülék„!”-T várt, de mást kapott.
4. lépés:
Készítettem egy rövid videót a készülék működéséről. Ehhez a videóhoz egy kereskedelmi LED -es lámpát használtam a távirányítójával, hogy lássam, hogy mind az átvitel, mind a vétel működik. A videó a következőket mutatja be:
- Az USB -eszköz konfigurálása a terminálemulációs programból. Amikor az eszköz konfigurálva van, az „USB NEC infravörös adó és vevő” üzenettel válaszol. A készüléken a zöld LED világít, jelezve, hogy az eszközt a számítógép konfigurálta.
- A lámpát a távirányítóval kapcsolják be. Ehhez a távirányító a 0x00 címet és a 0x07 parancsot használja, amelyet az eszköz dekódol és megjelenít a számítógépen.
- A lámpa a távirányítóval kikapcsol. Ehhez a távirányító a 0x00 címet és a 0x06 parancsot használja, amelyet az eszköz dekódol és megjelenít a számítógépen.
- A lámpa akkor kapcsol be, ha ugyanazt a távirányító parancsot írja be a számítógépen 0 ismétlési értékkel (nincs ismétlés), tehát írja be a „! 000700#” értéket. A lámpa felkapcsol.
- A lámpa színének megváltoztatása kékre a 0x00 cím és a 0x0A parancs használatával, valamint a 0x30 ismétlés használatával. Az Infravörös LED -ekkel párhuzamosan csatlakoztatott sárga LED villog, jelezve az ismétlődő üzenet infravörös kapcsolaton keresztüli továbbítását. A gépelt üzenet '! 000A30#'.
Vegye figyelembe, hogy ennek a videónak a rögzítésekor az „Unmute” jumper kapcsolat aktív volt, így az „! 000700#” üzenetet is láthatta, amely „A: 00 C: 07” néven érkezett a terminálemulációs programban. A kék színű lámpa bemutatójában azt is láthatja, hogy a piros LED mindaddig világít, amíg az érvényes - ismétlődő - üzenetek továbbításra kerülnek, mivel azokat az ismétlődő üzenetek átvitelével párhuzamosan fogadják és dekódolják.
Jó szórakozást a saját projekt felépítéséhez, és várom a reakcióit. Ne felejtse el szavazni erre a projektre a Remote Control 2017 versenyen, ha tetszik. Köszönöm mégegyszer.
Ajánlott:
Vezeték nélküli kommunikáció az NRF24L01 adó -vevő modul használatával Arduino -alapú projektekhez: 5 lépés (képekkel)
Vezeték nélküli kommunikáció az NRF24L01 adó-vevő modul használatával Arduino alapú projektekhez: Ez a második oktatható oktatóanyagom a robotokról és a mikrovezérlőkről. Valóban elképesztő látni, ahogy a robot elevenen működik, és a várt módon működik, és hidd el, szórakoztatóbb lesz, ha gyors és gyors vezeték nélküli vezérléssel irányítja robotját vagy más dolgokat
Vezeték nélküli távirányító 2,4 GHz -es NRF24L01 modul használatával Arduino - Nrf24l01 4 csatorna / 6 csatornás adó vevő négykópás - Rc Helikopter - Rc sík az Arduino használatával: 5 lépés (képekkel)
Vezeték nélküli távirányító 2,4 GHz -es NRF24L01 modul használatával Arduino | Nrf24l01 4 csatorna / 6 csatornás adó vevő négykópás | Rc Helikopter | Rc sík Arduino használatával: Rc autó működtetése | Quadcopter | Drone | RC sík | RC csónak, mindig szükségünk van vevőre és adóra, tegyük fel, hogy az RC QUADCOPTER esetében szükségünk van egy 6 csatornás adóra és vevőre, és az ilyen típusú TX és RX túl költséges, ezért készítünk egyet
IR alapú vezeték nélküli audió adó és vevő: 6 lépés
IR alapú vezeték nélküli audió adó és vevő: A Wireless Audio már technikailag fejlett terület, ahol a Bluetooth és az RF kommunikáció a fő technológia (bár a legtöbb kereskedelmi audioberendezés Bluetooth -szal működik). Egy egyszerű IR Audio Link áramkör tervezése nem lenne előnyös
A Kodi / OSMC infravörös vevő és a kalap visszaállítása a Raspberry Pi számára: 5 lépés (képekkel)
Építsen Kodi / OSMC infravörös vevőt és alaphelyzetbe állító kalapot a Raspberry Pi számára: Építsen Kodi / OSMC IR -vevőt és Reset kalapot a Raspberry Pi 3 -hoz. Szobán keresztül szeretném Nézze meg, hogy a Raspberry Pi be van -e kapcsolvaAzt is szeretném, ha a családom
RF adó és vevő: 8 lépés (képekkel)
RF adó és vevő: Ebben a projektben RF modulokat fogok használni a 16f628a képen. Ez egy rövid oktatóanyag lesz az rf -ről. Miután megtanulta, hogy a modulok hogyan kommunikálnak egymással, ezeket a modulokat a pic mikrovezérlővel, ardunio -val vagy bármelyik mikrokontrollerrel használhatja. Irányítottam