Obsah:
- Krok 1: Predpoklady
- Krok 2: Zostavenie rady
- Krok 3: Schéma
- Krok 4: Pridajte knižnicu Irremote do softvéru Arduino
- Krok 5: Zaznamenajte kódy pomocou diaľkových ovládačov
- Krok 6: Vytvorte webovú stránku pre diaľkové ovládanie
- Krok 7: Nahrajte kód diaľkového ovládača do svojho Arduina
- Krok 8: Pripojte sa k webovému serveru z počítača
- Krok 9: Voliteľný krok: Upravte súbor hostiteľov, aby bolo používanie jednoduchšie
Video: Diaľkové ovládanie založené na prehliadači Arduino (Linux): 9 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
Máme deti. Milujem ich, ale keď zapnú detské kanály, stále skryjú diaľkové ovládanie pre satelit a televíziu. Potom, čo sa to deje niekoľko rokov denne, a potom, čo mi moja milá manželka dovolila mať na Vianoce Arduino, rozhodol som sa, že je načase urobiť niečo užitočné (v jej očiach!) S Arduinom. Takže tu máme vrchol: webové rozhranie pre Arduino, ktoré nahrádza moje diaľkové ovládače a je prístupné z mojej vnútornej siete. Keď prídem na to, prečo môj ethernetový štít nedovolí môjmu arduinovi ponechať si skicu, napíšem nový náčrt, ktorý používa ethernetový štít ako webový server, čo znamená, že na svojom počítači nepotrebujem mať nainštalovaný apache. Zostaňte naladení, dostanem sa tam!
Krok 1: Predpoklady
Hardware: Arduino strana: Arduino - Používam Breadboard Arduino Uno R2 - váš miestny obchod s elektronikou alebo kuchyňa, ak chcete autentickú dosku na pečenie Montážny box - Použil som staré plastové puzdro s priehľadným vekom Komponenty: Infračervená dióda LED - Odspájkoval som jeden z pokazeného diaľkového ovládača (vďaka, deti!) Infračervený prijímač - môj som získal z diaľkového predlžovača s magickým okom Tranzistor - použil som odpor BC547 - použil som 1,5 k ohmový variabilný odpor nastavený na 1 k ohm prepojovacie vodiče Breadboard - dostal som svoje z navijaka kábla RJ45 s pevným jadrom Strana počítača: počítač, ktorý sa použije ako server, USB prepojenie s Arduino Software: softvér Arduino - z knižnice arduino.cc irremote - z https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (vďaka Ken, skvelá práca!) Webový server Apache s nainštalovaným PHP - apache.org Interná adresa IP - moja je 192.168.0.9 Obrázok vášho diaľkového ovládača - google alebo obrázok nasnímaný pomocou fotoaparátu. Moje som uložil v rozlíšení 200x600
Krok 2: Zostavenie rady
Na arduino sa odporúča použiť dosku na chleba. Namontoval som Arduino a dosku do rovnakého krytu a natrvalo som zapojil všetky kolíky, ktoré pravidelne používam, priamo na dosku. Piny Arduino použité na tento projekt: 5v, pozemné digitálne piny 3, 11 (pin 3 ovláda IR LED, pin 11 sa pripája k IR prijímaču)
Krok 3: Schéma
Táto schéma je veľmi jednoduchá, pozostáva zo 4 komponentov a 6 drôtov. Pripojenia IR LED: Pripojte jednu z nožičiek rezistora k digitálnemu kolíku Arduino 3 Druhú nohu rezistora pripojte k základnému kolíku tranzistora (v mojom prípade stredná noha) Pripojte vysielač tranzistora k zemi Pripojte kolektor tranzistora na zápornú časť LED (krátka noha, plochá strana LED) Pripojte kladnú nohu (dlhá noha, zakrivená strana) LED k 5 -kolíkovým konektorom IR prijímača (budete musieť nájsť vývod pre váš konkrétny IR prijímač): GND pin na zem VS pin na 5v VO pin na Arduino digitálny pin 11
Krok 4: Pridajte knižnicu Irremote do softvéru Arduino
irremote je skvelá knižnica, ktorú napísal Ken Shirriff a je dostupná na jeho blogu na adrese https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html Stiahnite si knižnicu z https:// arcfn.com/files/IRremote.zip a nainštalujte ho ako akúkoľvek inú knižnicu pre arduino. Jeho blog obsahuje množstvo užitočných informácií o knižnici a o tom, ako ju nainštalovať.
Krok 5: Zaznamenajte kódy pomocou diaľkových ovládačov
Tu je začiatok nudnej (ale nevyhnutnej) časti: Stlačenie každého tlačidla na diaľkovom ovládači, uloženie výstupného reťazca a jeho mapovanie na virtuálne diaľkové ovládanie. Stačí to urobiť raz, počkajte približne 20 minút. Spustite textový editor, aby ste uložili výstup. Vytvorte nový dokument a zadajte každé tlačidlo na diaľkovom ovládači, jedno na riadok: Zapnutie nadol, vľavo, vpravo.. a ďalšie Spustite Arduino IDE a kliknite na „Súbory-> Príklady-> IRremote-> IRrecvDump“a nahrajte ho na vaše Arduino. Tento príklad uloží vzdialené kódy na sériový port. Spustite monitor sériového portu a stlačte tlačidlo na diaľkovom ovládači. V okne sériového monitora sa zobrazí reťazec: „Dekódovaný *: * (* bitov)“. Skopírujte tento riadok a uložte ho do dokumentu na príslušný riadok. Opakujte, kým nebudete mať všetky kľúče uložené v textovom súbore. Viem, aká zábava je tento kúsok, urobil som to zatiaľ dvakrát: P Teraz musíme trochu vyhľadať a nahradiť v textovom súbore: hľadať „Dekódované“nahradiť „„ hľadať “: 0x„ nahradiť "," hľadať "(" nahradiť "," hľadať "bity)" nahradiť "" Takže pre riadok ako: Dekódovaný NEC: 0x000110 (15 bitov) by sme teraz mali mať riadok, ktorý hovorí: NEC, 000110, 15
Krok 6: Vytvorte webovú stránku pre diaľkové ovládanie
Teraz musíme zmapovať tlačidlá na vašom obrázku diaľkového ovládača.
Na mapovanie tlačidiel som použil https://www.maschek.hu/imagemap/imgmap a upravil kód, ktorý vám web dáva, aby fungoval.
Kliknite na „Použiť obrázok na počítači: [vybrať súbor]“, vyberte svoj obrázok, kliknite na [odovzdať], kliknite na [prijať] Na každé tlačidlo vložte obdĺžniky, kruhy atď. Pre HREF zadajte /remote.php?command= a riadok pre toto tlačidlo z textového dokumentu, napríklad /remote.php?command=NEC, 000110, 15 Bolo by múdre (a nesmierne by to pomohlo pri ladení), ak by ste vyplnili aj Alt: s názvom tlačidla, ale je to na vás.
Opakujte pre každé tlačidlo.
Všetko hotové? Potom budeme pokračovať. V spodnej časti stránky je „Kód“, kliknite naň a otvorí sa pole s kódom mapy webu. Skopírujte ho a prilepte ho do nového textového dokumentu. Toto je hlavná časť našej webovej stránky.
Tu je moja úplná webová stránka, stačí nahradiť…
s vlastným kódom vyššie a uložte ho ako remote.php do svojho webového adresára (/var/www v linuxe) spolu s obrázkami diaľkového ovládača. Zmeňte riadky pre svoje vlastné obrázky:
"https://www.w3.org/TR/html4/loose.dtd">
Ovládanie Arduino LED
Krok 7: Nahrajte kód diaľkového ovládača do svojho Arduina
Vytvorte nový náčrt a vložte doň nasledujúci kód:/ * * WebRemote * IR dióda LED musí byť pripojená k pinu Arduino PWM 3. * Verzia 0.1, júl 2009 * Tento kód je chránený autorským právom 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átiť obj; } booleovský koniec = nepravda; char inData [64]; // Príslušná veľkosť bajtového indexu = 0; #define EOP "\ n" IRsend irsend; void setup () {Serial.begin (9600); Sériový << "Inicializovaný sériový port" << EOP; } void loop () {String pch, sType, sTemp; char inChar, sTest, k; int sBits; dlhý 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; prestávka; } else {if (index <64) // Veľkosť poľa {pch += inChar; index ++; }}} if (skončil) {// Analyzujte údaje v inData tu … pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); i ++; // preskočiť ',' alebo '' // i teraz ukazuje na začiatok hexu j = pch.lastIndexOf ('')! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j teraz ukazuje na ',' alebo '' za hex sHex = 0; sTemp = pch.substring (i, j); if (sTemp.substring (0, 2) == String ("0X")) sTemp = sTemp.substring (2); pre (i = 0; i <sTemp.length (); i ++) {k = sTemp ; if (! (((k> = '0' && k = 'A' && k <= 'F'))) break; sHex *= 16; ak (k> = '0' && k <= '9') sHex += (k - '0'); inak ak (k> = 'A' && k <= 'F') sHex + = ((k - 'A') + 10); if (! (((k> = '0' && k = 'A' && k <= 'F'))) break; } sTemp = pch.substring (j+1); sBits = 0; pre (i = 0; i <sTemp.length (); i ++) {k = sTemp ; sBits *= 10; ak (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; oneskorenie (450); } oneskorenie (30); }}
Krok 8: Pripojte sa k webovému serveru z počítača
.. alebo telefón alebo android alebo ipad alebo čokoľvek: Prejdite vo svojom prehliadači na adresu https:// webová adresa IP servera/remote.php Pre mňa je adresa https://192.168.0.9/remote.php, ale tá vaša bude nepochybne iná. Ak všetko funguje, mali by ste vidieť obrázok diaľkového ovládača s tlačidlami, na ktoré môžete kliknúť.
Krok 9: Voliteľný krok: Upravte súbor hostiteľov, aby bolo používanie jednoduchšie
Krok, ktorý som urobil, bolo upraviť súbor hostiteľov (/etc/hosts v systéme Linux, C: / Windows / System32 / Drivers / etc / hosts v systéme Windows). Tento súbor je možné upravovať iba v príkazovom riadku pre správu (Windows) alebo pomocou su (linux). Pridajte riadok ip.add.re.ss remote, nahraďte ip.add.re.ss adresou IP servera a súbor uložte. To budete musieť urobiť na každom zariadení, na ktoré chcete získať prístup na webovú stránku s krátkym názvom. Teraz máte prístup k diaľkovému ovládaniu pomocou https://remote/remote.php Toto je môj prvý správny návod, buďte opatrní a dajte mi vedieť, ak existujú nejaké problémy, aby som ich mohol opraviť.
Odporúča:
Auto na diaľkové ovládanie založené na vysokofrekvenčnom module 434 MHz: 5 krokov
Auto na diaľkové ovládanie na základe modulu 434 MHz: RF) (1) perf doska (atrapa plošného spoja) 2) vodiče3) kodér ht12e a dekodér ht12d ic a ovládač motora l293d alebo môžete použiť L298N, ak používate lipo alebo iné vysokonapäťové batérie. 4) RF moduly 5) odpory 1M a 51K 6) LED diódy 7) ic7805 napätie re
Arduino: Časové programy a diaľkové ovládanie z aplikácie pre Android: 7 krokov (s obrázkami)
Arduino: Časové programy a diaľkové ovládanie z aplikácie pre Android: Vždy ma zaujímalo, čo sa stane so všetkými takými doskami Arduino, ktoré ľudia nepotrebujú, keď dokončia svoje skvelé projekty. Pravda je trochu znepokojujúca: nič. Pozoroval som to v dome svojej rodiny, kde sa môj otec pokúsil postaviť si vlastný dom
Inteligentné diaľkové auto založené na Arduine: 5 krokov
Inteligentné diaľkové auto založené na Arduino: Tento projekt je založený na vývojovej doske Arduino UNO, ktorá má za úlohu vytvoriť inteligentné auto. Auto má bezdrôtové ovládanie Bluetooth, vyhýbanie sa prekážkam, alarm bzučiakom a ďalšie funkcie a je to auto s pohonom všetkých štyroch kolies, ktoré sa ľahko otáča
ESP8266 RGB LED STRIP WIFI ovládanie - NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi - Ovládanie smartfónu RGB LED STRIP: 4 kroky
ESP8266 RGB LED STRIP WIFI ovládanie | NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi | Ovládanie smartfónu RGB LED STRIP: Ahoj, v tomto návode sa naučíme, ako používať nodemcu alebo esp8266 ako IR diaľkové ovládanie na ovládanie RGB LED pásu a Nodemcu budete ovládať smartfónom cez wifi. V zásade teda môžete RGB LED STRIP ovládať pomocou svojho smartfónu
Bezdrôtové diaľkové ovládanie pomocou 2,4 GHz modulu NRF24L01 s Arduino - Nrf24l01 4 -kanálový / 6 -kanálový vysielač pre Quadcopter - RC helikoptéra - RC lietadlo využívajúce Arduino: 5 krokov (s obrázkami)
Bezdrôtové diaľkové ovládanie pomocou 2,4 GHz modulu NRF24L01 s Arduino | Nrf24l01 4 -kanálový / 6 -kanálový vysielač pre Quadcopter | RC helikoptéra | RC lietadlo využívajúce Arduino: Na ovládanie RC auta | Kvadrokoptéra | Dron | RC lietadlo | RC čln, vždy potrebujeme prijímač a vysielač, predpokladajme, že pre RC QUADCOPTER potrebujeme 6 -kanálový vysielač a prijímač a tento typ TX a RX je príliš nákladný, takže si ho vyrobíme na