Satura rādītājs:
- 1. darbība. Priekšnosacījumi
- 2. solis: valdes veidošana
- 3. darbība. Shēma
- 4. darbība: pievienojiet Irremote bibliotēku Arduino programmatūrai
- 5. darbība: ierakstiet kodus no tālvadības pultīm
- 6. darbība. Izveidojiet tālvadības pults tīmekļa lapu
- 7. darbība: augšupielādējiet tālvadības pults kodu savā Arduino
- 8. darbība. Savienojuma izveide ar tīmekļa serveri
- 9. darbība: pēc izvēles: rediģējiet saimniekdatoru failu, lai to būtu vieglāk izmantot
Video: Arduino pārlūkprogrammas tālvadības pults (Linux): 9 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Mums ir bērni. Es viņus ļoti mīlu, bet, ieslēdzot bērnu kanālus, viņi turpina slēpt satelīta un TV tālvadības pulti. Pēc tam, kad tas notika ikdienā vairākus gadus, un pēc tam, kad mana mīļā sieva man atļāva Ziemassvētkos uzņemt Arduino, es nolēmu, ka ir pienācis laiks ar Arduino izveidot kaut ko noderīgu (viņas acīs!). Tātad šeit mums ir tā kulminācija: tīmekļa saskarne Arduino, kas aizstāj manas tālvadības pultis un ir pieejama no mana iekšējā tīkla. Kad es sapratu, kāpēc mans Ethernet vairogs neļauj manam arduino paturēt skici, es uzrakstīšu jaunu skici, kurā kā tīmekļa serveris tiek izmantots Ethernet vairogs, kas nozīmē, ka man datorā nav jāinstalē apache. Sekojiet līdzi, es tur nokļūšu!
1. darbība. Priekšnosacījumi
Aparatūra: Arduino puse: Arduino - es izmantoju Arduino Uno R2 maizes dēli - jūsu vietējo elektronikas veikalu vai virtuvi, ja vēlaties autentisku maizes dēļa stiprinājuma korpusu - es izmantoju vecu plastmasas korpusu ar caurspīdīgu vāku Sastāvdaļas: Infrasarkanā gaismas diode - es atlaidu viens no salauztas tālvadības pults (paldies bērniem!) Infrasarkanais uztvērējs - es dabūju no burvju acu tālvadības pagarinātāja tranzistora - es izmantoju BC547 rezistoru - es izmantoju 1,5 k omu mainīgo rezistoru, kas iestatīts uz 1 k ohm Breadboard džempera vadi - es saņēmu savu no cietā kodola RJ45 kabeļa spoles Datora puse: dators, ko izmantot kā servera USB vadu uz Arduino programmatūru: Arduino programmatūra - no arduino.cc irremote bibliotēkas - no https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (paldies Kenam, lielisks darbs!) Apache tīmekļa serveris ar instalētu PHP - apache.org Iekšējā IP adrese - mana ir 192.168.0.9 Jūsu tālvadības pults attēls - google vai attēls, kas uzņemts jūsu kamerā. Es saglabāju savu ar izšķirtspēju 200x600
2. solis: valdes veidošana
Arduino ir ļoti ieteicams izmantot maizes dēli. Es uzstādīju savu Arduino un maizes dēli vienā korpusā un pieslēdzu visas tapas, kuras es regulāri lietoju, pastāvīgi uz maizes dēļa. Šim projektam izmantotās Arduino tapas: 5V, zemētas digitālās tapas 3, 11 (3.tapa kontrolē IR LED, 11.tapa savienojas ar IR uztvērēju)
3. darbība. Shēma
Šī shēma ir ļoti vienkārša, 4 komponenti un 6 vadi. IR LED savienojumi: pievienojiet vienu no rezistora kājām Arduino digitālajai tapai no tranzistora līdz gaismas diodes negatīvajai kājiņai (īsa kāja, plakana gaismas diodes puse) Pievienojiet gaismas diodes pozitīvo kāju (garo kāju, izliekto pusi) ar 5 v kontaktu IR uztvērēja savienojumiem (jums jāatrod pinout jūsu konkrētais IR uztvērējs): GND tapa zemē VS tapa līdz 5 V VO tapa līdz Arduino digitālajai tapai 11
4. darbība: pievienojiet Irremote bibliotēku Arduino programmatūrai
irremote ir lieliska bibliotēka, kuras autors ir Kens Širifs, un tā ir pieejama viņa emuārā vietnē https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html Lejupielādējiet bibliotēku no https:// arcfn.com/files/IRremote.zip un instalējiet to tāpat kā jebkuru citu arduino bibliotēku. Viņa emuārā ir daudz noderīgas informācijas par bibliotēku un tās instalēšanu.
5. darbība: ierakstiet kodus no tālvadības pultīm
Šeit sākas garlaicīgā (bet neizbēgamā) daļa: nospiežot katru tālvadības pults pogu, saglabājot izvades virkni un kartējot to virtuālajā tālvadības pultī. Jums tas jādara tikai vienu reizi, paredzot, ka tas aizņems apmēram 20 minūtes. Lai saglabātu izvadi, palaidiet teksta redaktoru. Izveidojiet jaunu dokumentu un ierakstiet katru pogu uz tālvadības pults, vienu katrā rindā: ieslēdziet uz augšu uz leju pa kreisi pa labi un tā tālāk. Palaidiet Arduino IDE un noklikšķiniet uz "Faili-> Piemēri-> IRremote-> IRrecvDump" un augšupielādējiet to tavs Arduino. Šis piemērs attālos kodus nosūta uz seriālo portu. Palaidiet seriālā porta monitoru un nospiediet tālvadības pults taustiņu. Sērijas monitora logā redzēsit virkni: "Atšifrēts *: * (* biti)". Kopējiet šo rindu un saglabājiet to savā dokumentā attiecīgajā rindā. Atkārtojiet, līdz visas atslēgas ir saglabātas teksta failā. Es zinu, cik jautri tas ir, esmu to darījis divreiz līdz šim: P Tagad mums teksta failā ir nedaudz jāmeklē un jāaizstāj: meklējiet "Atšifrēts" aizstāt ar "" meklēt ": 0x" aizstāt ar "," meklēt "(" aizstāt ar "," meklēt "bitus") aizstāt ar "" Tātad tādai rindai kā: dekodēts NEC: 0x000110 (15 biti), mums tagad vajadzētu būt rindai, kas saka: NEC, 000110, 15
6. darbība. Izveidojiet tālvadības pults tīmekļa lapu
Tagad mums ir jāapzīmē jūsu tālvadības pults attēla pogas.
Es izmantoju https://www.maschek.hu/imagemap/imgmap, lai kartētu pogas, un mainīju kodu, ko vietne dod, lai tā darbotos.
Noklikšķiniet uz "Izmantot attēlu datorā: [izvēlieties failu]", atlasiet savu attēlu, noklikšķiniet uz [augšupielādēt], noklikšķiniet uz [pieņemt] Uz katras pogas nometiet taisnstūrus, apļus utt. HREF gadījumā ievadiet /remote.php?command= un šīs pogas rindiņu no teksta dokumenta, piemēram, /remote.php?command=NEC, 000110, 15 Būtu prātīgi (un ārkārtīgi palīdzētu atkļūdošanā), ja aizpildītu arī Alt: ar pogas nosaukumu, bet tas ir atkarīgs no jums.
Atkārtojiet katru pogu.
Viss pabeigts? Tad mēs turpināsim. Šīs lapas apakšā ir "Kods", noklikšķiniet uz tā, un tiks atvērts lodziņš, kurā parādīts attēla kartes kods. Kopējiet to un ielīmējiet to jaunā teksta dokumentā. Šī ir mūsu tīmekļa lapas galvenā daļa.
Šeit ir mana pilnā tīmekļa lapa, vienkārši nomainiet…
ar savu kodu iepriekš un saglabājiet to kā remote.php savā tīmekļa direktorijā (/var/www Linux) kopā ar tālvadības pults attēliem. Mainiet rindas saviem attēliem:
"https://www.w3.org/TR/html4/loose.dtd">
Arduino LED vadība
7. darbība: augšupielādējiet tālvadības pults kodu savā Arduino
Izveidojiet jaunu skici un ielīmējiet tajā šādu kodu:/ * * WebRemote * IR gaismas diodei jābūt savienotai ar Arduino PWM tapu 3. * Versija 0.1, 2009. gada jūlijs * Šis kods pieder autortiesībām Gregorijam Fentonam, https://labby.co. uk/2012/02/irremote-arduino-experimentation/ * IRremote bibliotēkas autortiesības 2009 Ken Shirriff, https://arcfn.com */#include template inline Print & operator << (Print & obj, T arg) {obj.print (arg); atgriezties obj; } Būla beigas = nepatiess; char inData [64]; // Izmērs atbilstoši baitu indeksam = 0; #define EOP "\ n" IRsend irsend; void setup () {Serial.begin (9600); Sērijas << "Sērijas ports inicializēts" << EOP; } void loop () {String pch, sType, sTemp; char inChar, sTest, k; int sBits; garš sHex; int i, j; while (1) {while (Serial.available ()> 0) {inChar = Serial.read (); ja (indekss == 0) {pch = ""; } ja (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {end = true; indekss = 0; pārtraukums; } else {if (indekss <64) // Masīva lielums {pch += inChar; indekss ++; }}} ja (beidzās) {// Parsējiet datus inData šeit … pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); i ++; // izlaist ',' vai '' // i tagad norāda uz heksadecimāla sākumu j = pch.lastIndexOf ('')! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j tagad norāda uz ',' vai '' aiz hex hex = 0; sTemp = pch.apakšvirkne (i, j); ja (sTemp.substring (0, 2) == String ("0X")) sTemp = sTemp.substring (2); par (i = 0; i <sTemp.length (); i ++) {k = sTemp ; ja (! ((k> = '0' && k = 'A' && k <= 'F'))) pārtraukums; sHex *= 16; ja (k> = '0' && k <= '9') sHex += (k - '0'); citādi, ja (k> = 'A' && k <= 'F') sHex + = ((k - 'A') + 10); ja (! ((k> = '0' && k = 'A' && k <= 'F'))) pārtraukums; } sTemp = pch.substring (j+1); sBits = 0; par (i = 0; i <sTemp.length (); i ++) {k = sTemp ; sBits *= 10; ja (k> = '0' && k <= '9') sBits += (k - '0'); } if (sType.length ()> 0) {Serial << pch << EOP << "Koda tips:" << sType << "Hex:"; Sērijas nospiedums (sHex, HEX); Sērijas << "Biti:" << sBiti; } sendIt (sType, sHex, sBits); pch = ""; beidzās = 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); } cits if (sType.equals (String ("RC5")))) {irsend.sendRC5 (sHex, sBits); } cits 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; kavēšanās (450); } kavēšanās (30); }}
8. darbība. Savienojuma izveide ar tīmekļa serveri
.. vai tālrunis vai android vai ipad vai kas cits: pārlūkprogrammā dodieties uz vietni https:// tīmekļa servera IP adrese/remote.php. Man šī adrese ir https://192.168.0.9/remote.php, taču jūsu adrese, bez šaubām, būs atšķirīga. Ja viss darbojas, jums vajadzētu redzēt tālvadības pults attēlu ar pogām, uz kurām varat noklikšķināt.
9. darbība: pēc izvēles: rediģējiet saimniekdatoru failu, lai to būtu vieglāk izmantot
Pirmais solis bija rediģēt saimniekdatora failu (/etc/hosts Linux, C: / Windows / System32 / Drivers / etc / hosts Windows). Ņemiet vērā, ka šo failu var rediģēt tikai administratīvā komandu uzvednē (logi) vai su (linux). Pievienojiet rindu ip.add.re.ss tālvadības pults, aizstājiet ip.add.re.ss ar servera IP adresi un saglabājiet failu. Tas jādara katrā ierīcē, kurai vēlaties piekļūt tīmekļa lapai ar īso nosaukumu. Tagad jūs varat piekļūt tālvadības pultij, izmantojot vietni https://remote/remote.php. Šī ir mana pirmā pareizā pamācība, esiet saudzīgs un dariet man zināmu, ja ir kādas problēmas, lai es varētu tās novērst.
Ieteicams:
Tālvadības pults slēdža tālvadības pults + palaidējs: 6 soļi (ar attēliem)
Tālvadības pults slēdža tālvadības pults + aktivizētājs: šī pedāļa tālvadības pults ir lieliski piemērota, lai apturētu animatorus, fotoattēlu arhivētājus, emuāru autorus un profesionāļus, kuri visu laiku nevar sasniegt savas kameras aizvara pogu vai kuriem ātri jāstrādā pie galda ar pievienotu kameru. augstas virs galvas. 2020. gada decembra atjauninājums: E
Televizora tālvadības pults kļūst par RF tālvadības pulti -- NRF24L01+ apmācība: 5 soļi (ar attēliem)
TV tālvadības pults kļūst par RF tālvadības pulti || NRF24L01+ apmācība: Šajā projektā es jums parādīšu, kā es izmantoju populāro nRF24L01+ RF IC, lai bezvadu režīmā pielāgotu LED sloksnes spilgtumu, izmantojot trīs bezjēdzīgas TV tālvadības pults pogas. Sāksim
IRduino: Arduino tālvadības pults - atdariniet pazaudētu tālvadības pulti: 6 soļi
IRduino: Arduino tālvadības pults - atdariniet pazaudētu tālvadības pulti: ja kādreiz esat pazaudējis televizora vai DVD atskaņotāja tālvadības pulti, jūs zināt, cik apgrūtinoši ir staigāt, atrast un izmantot pašas ierīces pogas. Dažreiz šīs pogas pat nepiedāvā tādas pašas funkcijas kā tālvadības pults. Saņemt
Parastais tālvadības pults komplekts pārveidots par četru kanālu RC rotaļlietu tālvadības pulti: 4 soļi
Parastais tālvadības pults komplekts ir pārveidots par četru kanālu RC rotaļlietu tālvadības pulti:方法 非常 简单。 只需 准备 一些 瓦楞纸 板 , 然后 按照 视频 教程 完成 这个 电子 电子 项目 并 为 您。 玩具 这个 这个 电子 项目 并 为 为 服务。 玩具 提供 提供 远程 项目 并
Vadības pults kameras tālvadības pults: 4 soļi
Vadības pults kameras tālvadības pults: Šis ir īss pamācība, kā izveidot tālvadības pulti kamerai, kurai tās vēl nav. Tas ietver solenoīdu, vienkāršu brita ekrānu, sienas kārpu, dažus vadus un aparatūru. Viegli pagatavojams, jautri lietojams