Obsah:
- Krok 1: Předpoklady
- Krok 2: Sestavení rady
- Krok 3: Schéma
- Krok 4: Přidejte Irremote Library do softwaru Arduino
- Krok 5: Zaznamenejte kódy z dálkových ovladačů
- Krok 6: Vytvořte webovou stránku pro dálkové ovládání
- Krok 7: Nahrajte kód dálkového ovládání do svého Arduina
- Krok 8: Připojte se k webovému serveru z počítače
- Krok 9: Volitelný krok: Upravte soubor hostitelů, aby bylo používání jednodušší
Video: Dálkové ovládání založené na prohlížeči Arduino (Linux): 9 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Máme děti. Miluji je, ale když zapnou dětské kanály, stále skrývají dálkové ovládání pro satelit a televizi. Poté, co se to stalo několik let denně, a poté, co mi moje milá manželka dovolila mít Arduino na Vánoce, rozhodl jsem se, že je načase udělat něco užitečného (v jejích očích!) S Arduinem. Takže tady to máme vrchol: webové rozhraní k Arduinu, které nahrazuje mé dálkové ovladače a je přístupné z mé vnitřní sítě. Když zjistím, proč můj ethernetový štít nedovolí mému arduinu ponechat si skicu, napíšu novou skicu, která používá ethernetový štít jako webový server, což znamená, že na svém počítači nepotřebuji instalovat apache. Zůstaňte naladěni, já se tam dostanu!
Krok 1: Předpoklady
Hardware: Arduino strana: Arduino - používám Breadboard Arduino Uno R2 - váš místní obchod s elektronikou, nebo kuchyň, pokud chcete autentický prkénko Montážní skříň - použil jsem staré plastové pouzdro s průhledným víkem Komponenty: Infračervená LED - Odpojil jsem jeden z nefunkčního dálkového ovladače (díky, děti!) Infračervený přijímač - můj jsem získal z dálkového prodlužovače kouzelného oka Transistor - použil jsem odpor BC547 - použil jsem 1,5k ohmový variabilní odpor nastavený na 1 k ohm propojovací vodiče Breadboard - dostal jsem svůj z kabelového bubnu RJ45 s pevným jádrem Strana počítače: Počítač, který se použije jako server USB, vede k softwaru Arduino Software: Software Arduino - z knihovny arduino.cc irremote - z https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (díky Ken, skvělá práce!) Webový server Apache s nainstalovaným PHP - apache.org Interní IP adresa - moje je 192.168.0.9 Obrázek vašeho dálkového ovladače - google nebo obrázek pořízený na vašem fotoaparátu. Svůj jsem uložil v rozlišení 200x600
Krok 2: Sestavení rady
Důrazně doporučujeme použít prkénko pro arduino. Namontoval jsem Arduino a prkénko do stejného krytu a natrvalo jsem zapojil všechny kolíky, které pravidelně používám, přímo na prkénko. Pro tento projekt použité piny Arduino: 5v, zemní digitální piny 3, 11 (pin 3 ovládá IR LED, pin 11 se připojuje k IR přijímači)
Krok 3: Schéma
Toto schéma je velmi jednoduché, 4 komponenty a 6 vodičů. Připojení IR LED: Připojte jednu z nohou rezistoru k digitálnímu pinu Arduino 3 Připojte druhou nohu rezistoru k základnímu pinu tranzistoru (v mém případě střední noha) Připojte vysílač tranzistoru k zemi Připojte kolektor tranzistoru k záporné noze LED (krátká noha, plochá strana LED) Připojte kladnou nohu (dlouhá noha, zakřivená strana) LED k 5pólovým konektorům IR přijímače (budete muset najít pin pro váš konkrétní IR přijímač): GND pin k zemi VS pin k 5v VO pin k Arduino digitálnímu pinu 11
Krok 4: Přidejte Irremote Library do softwaru Arduino
irremote je skvělá knihovna napsaná Kenem Shirriffem a je k dispozici na jeho blogu na adrese https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html Stáhněte si knihovnu z https:// arcfn.com/files/IRremote.zip a nainstalujte jej jako jakoukoli jinou knihovnu pro arduino. Jeho blog obsahuje spoustu užitečných informací o knihovně a o tom, jak ji nainstalovat.
Krok 5: Zaznamenejte kódy z dálkových ovladačů
Zde je začátek nudné (ale nevyhnutelné) části: Stisknutím každého tlačítka na dálkovém ovladači uložíte výstupní řetězec a namapujete jej na virtuální dálkové ovládání. Stačí to udělat jednou, počítejte s tím, že to zabere přibližně 20 minut. Spusťte textový editor a uložte výstup. Vytvořte nový dokument a zadejte každé tlačítko na dálkovém ovladači, jedno na řádek: Zapnout dolů Doleva Vpravo.. atd. Spusťte Arduino IDE a klikněte na „Soubory-> Příklady-> IRremote-> IRrecvDump“a nahrajte jej do vaše Arduino. Tento příklad vypsá vzdálené kódy na sériový port. Spusťte monitor sériového portu a stiskněte tlačítko na dálkovém ovládání. V okně sériového monitoru uvidíte řetězec: „Dekódováno *: * (* bity)“. Zkopírujte tento řádek a uložte jej do dokumentu na příslušném řádku. Opakujte, dokud nebudete mít všechny klíče uložené v textovém souboru. Vím, jak je tento bit zábavný, udělal jsem to zatím dvakrát: P Nyní potřebujeme trochu vyhledat a nahradit v textovém souboru: hledat "Dekódováno" nahradit "" hledat ": 0x" nahradit "," hledat "(" nahradit "," hledat "bity)" nahradit "" Takže pro řádek jako: Dekódovaný NEC: 0x000110 (15 bitů) bychom nyní měli mít řádek, který říká: NEC, 000110, 15
Krok 6: Vytvořte webovou stránku pro dálkové ovládání
Nyní potřebujeme zmapovat tlačítka na vašem obrázku dálkového ovladače.
Použil jsem https://www.maschek.hu/imagemap/imgmap k mapování tlačítek a upravil kód, který vám web dává, aby fungoval.
Klikněte na „Použít obrázek na vašem počítači: [vyberte soubor]“, vyberte svůj obrázek, klikněte na [nahrát], klikněte na [přijmout] Umístěte na každé tlačítko obdélníky, kruhy atd. Pro HREF vložte /remote.php?command= a řádek pro toto tlačítko z textového dokumentu například /remote.php?command=NEC, 000110, 15 Bylo by moudré (a nesmírně pomoci při ladění), pokud také vyplníte Alt: s názvem tlačítka, ale to je na vás.
Opakujte pro každé tlačítko.
Vše hotovo? Pak budeme pokračovat. Ve spodní části stránky je „Kód“, klikněte na něj a otevře se pole s kódem mapy obrázků. Zkopírujte to a vložte jej do nového textového dokumentu. Toto je hlavní část naší webové stránky.
Tady je moje kompletní webová stránka, stačí vyměnit …
s vlastním kódem výše a uložte jej jako remote.php ve vašem webovém adresáři (/var/www na linuxu) spolu s obrázky dálkového ovládání. Změňte řádky pro své vlastní obrázky:
"https://www.w3.org/TR/html4/loose.dtd">
Ovládání Arduino LED
Krok 7: Nahrajte kód dálkového ovládání do svého Arduina
Vytvořte nový náčrt a vložte do něj následující kód:/ * * WebRemote * Infračervená LED musí být připojena k pinu Arduino PWM 3. * Verze 0.1, červenec 2009 * Tento kód je autorským právem Gregory Fenton, https://labby.co. uk/2012/02/irremote-arduino-experimentation/ * IRremote Library copyright 2009 Ken Shirriff, https://arcfn.com */#include template inline Print & operator << (Print & obj, T arg) {obj.print (arg); vrátit obj; } boolean skončil = nepravda; char inData [64]; // Velikost podle potřeby byte index = 0; #define EOP "\ n" IRsend irsend; neplatné nastavení () {Serial.begin (9600); Sériový << "Inicializovaný sériový port" << EOP; } void loop () {String pch, sType, sTemp; char inChar, sTest, k; int sBits; dlouhý sHex; int i, j; while (1) {while (Serial.available ()> 0) {inChar = Serial.read (); if (index == 0) {pch = ""; } if (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {skončil = true; index = 0; přestávka; } else {if (index <64) // Velikost pole {pch += inChar; index ++; }}} if (skončil) {// Analyzujte data v inData zde … pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); i ++; // přeskočit ',' nebo '' // i nyní ukazuje na začátek hexu j = pch.lastIndexOf ('')! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j nyní ukazuje na ',' nebo '' za hex sHex = 0; sTemp = pch.substring (i, j); if (sTemp.substring (0, 2) == String ("0X")) sTemp = sTemp.substring (2); pro (i = 0; i <sTemp.length (); i ++) {k = sTemp ; if (! (((k> = '0' && k = 'A' && k <= 'F'))) break; sHex *= 16; if (k> = '0' && k <= '9') sHex += (k - '0'); jinak if (k> = 'A' && k <= 'F') sHex + = ((k - 'A') + 10); if (! (((k> = '0' && k = 'A' && k <= 'F'))) break; } sTemp = pch.substring (j+1); sBits = 0; pro (i = 0; i <sTemp.length (); i ++) {k = sTemp ; sBits *= 10; if (k> = '0' && k <= '9') sBits += (k - '0'); } if (sType.length ()> 0) {Serial << pch << EOP << "Typ kódu:" << sType << "Hex:"; Serial.print (sHex, HEX); Sériové << "Bity:" << sBits; } sendIt (sType, sHex, sBits); pch = ""; skončil = 0; }}} void sendIt (String sType, long sHex, int sBits) {for (int i = 0; i <2; i ++) {if (sType.equals (String ("RC6"))) {irsend.sendRC6 (sHex, sBits); } else if (sType.equals (String ("RC5"))) {irsend.sendRC5 (sHex, sBits); } else if (sType.equals (String ("SONY"))) {irsend.sendSony (sHex, sBits); } else if (sType.equals (String ("NEC"))) {if (! i) irsend.sendNEC (sHex, sBits); } else if (sType.equals (String (""))) {Serial << "Delaying" << EOP; zpoždění (450); } zpoždění (30); }}
Krok 8: Připojte se k webovému serveru z počítače
.. nebo telefon nebo android nebo ipad nebo cokoli jiného: přejděte v prohlížeči na adresu https:// webová adresa IP/remote.php Pro mě je adresa https://192.168.0.9/remote.php, ale vaše bude nepochybně jiná. Pokud vše funguje, měli byste vidět obrázek dálkového ovladače s tlačítky, na která můžete kliknout.
Krok 9: Volitelný krok: Upravte soubor hostitelů, aby bylo používání jednodušší
Krok, který jsem udělal, bylo upravit soubor hosts (/etc/hosts na linuxu, C: / Windows / System32 / Drivers / etc / hosts na oknech). Tento soubor lze upravovat pouze v příkazovém řádku pro správu (Windows) nebo pomocí su (linux) Přidejte řádek ip.add.re.ss vzdáleně nahraďte ip.add.re.ss IP adresou serveru a soubor uložte. To budete muset provést na každém zařízení, které chcete použít pro přístup na webovou stránku s krátkým názvem. Nyní můžete přistupovat k dálkovému ovladači pomocí https://remote/remote.php Toto je můj první správný pokyn, buďte opatrní a dejte mi vědět, pokud se vyskytnou nějaké problémy, abych je mohl opravit.
Doporučuje:
IRduino: Dálkové ovládání Arduino - napodobte ztracené dálkové ovládání: 6 kroků
IRduino: Dálkové ovládání Arduino - napodobte ztracené dálkové ovládání: Pokud jste někdy ztratili dálkový ovladač pro váš televizor nebo DVD přehrávač, víte, jak frustrující je chodit k němu, hledat a používat tlačítka na samotném zařízení. Někdy tato tlačítka ani nenabízejí stejné funkce jako dálkové ovládání. Přijmout
Bezdrátové dálkové ovládání pomocí 2,4GHz modulu NRF24L01 s Arduino - Nrf24l01 4kanálový / 6kanálový přijímač vysílače pro Quadcopter - RC vrtulník - RC letadlo využívající Arduino: 5 kroků (s obrázky)
Bezdrátové dálkové ovládání pomocí 2,4GHz modulu NRF24L01 s Arduino | Nrf24l01 4kanálový / 6kanálový přijímač vysílače pro Quadcopter | RC vrtulník | RC letadlo pomocí Arduina: Provoz RC auta | Kvadrokoptéra | Dron | RC letadlo | RC loď, vždy potřebujeme přijímač a vysílač, předpokládejme, že pro RC QUADCOPTER potřebujeme 6kanálový vysílač a přijímač a ten typ TX a RX je příliš nákladný, takže si jej vyrobíme na našem
PCB založené na prohlížeči: 7 kroků
PCB založené na prohlížeči: Jak budete přijímat nebo vytvářet projekty, některé budou snadné a některé obtížné. Některé budou jednorázové a jiné bude nutné vyrábět ve velkém. V tomto zápisu prozkoumáme můj dosud největší projekt, Distributed Symphony a jak mikrofon
Běžná sada dálkového ovládání přeměněna na čtyřkanálové dálkové ovládání RC hraček: 4 kroky
Běžná sada dálkového ovládání přeměněna na čtyřkanálové dálkové ovládání RC hraček: 如何 将 通用 遥控 器 套件 转换 为 玩具 模型 器 使用 的 四 四 通道 遥控 器。 遥控 器 套件 非常 便宜 便宜。 它 采用改造 方法 非常 简单。 只需 准备 一些 瓦楞纸 板 , 然后 按照 视频 教程 教程 完成 这个 电子 项目 为 您 您 服务。 玩具 车船 提供 远程 无线 无线。
Dálkové ovládání založené na Arduinu pro Eskate nebo křídlové křídlo: 5 kroků (s obrázky)
Dálkové ovládání založené na Arduinu pro Eskate nebo Hydrofoil: Tento návod vám ukáže, jak vytvořit fyzické dálkové ovládání pro použití s eskate nebo elektrickým křídlovým křídlem včetně veškerého kódu a hardwaru, který potřebujete. S tím je spojeno hodně pájení, ale je to také zábava. Co může dálkový ovladač dělat? Co