Բովանդակություն:
- Քայլ 1: Նախադրյալներ
- Քայլ 2. Կառուցեք խորհուրդը
- Քայլ 3: Սխեմատիկ
- Քայլ 4. Ավելացրեք Irremote գրադարան Arduino ծրագրին
- Քայլ 5: Գրանցեք կոդերը ձեր հեռակառավարման վահանակից
- Քայլ 6: Ստեղծեք վեբ էջ ձեր հեռակառավարման վահանակի համար
- Քայլ 7: Հեռակառավարման կոդը վերբեռնեք ձեր Arduino- ում
- Քայլ 8: Միացեք վեբ սերվերին ձեր համակարգչից
- Քայլ 9: Լրացուցիչ քայլ. Խմբագրեք ձեր տանտերերի ֆայլը `այն ավելի դյուրին դարձնելու համար
Video: Arduino դիտարկիչի վրա հիմնված հեռակառավարում (linux). 9 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Մենք երեխաներ ունենք: Ես նրանց շատ եմ սիրում, բայց նրանք անընդհատ թաքցնում են արբանյակի և հեռուստատեսության հեռակառավարման վահանակը, երբ միացնում են երեխաների ալիքները: Այն բանից հետո, երբ դա տեղի ունեցավ ամեն օր, մի քանի տարի շարունակ, և այն բանից հետո, երբ իմ սիրելի կինը թույլ տվեց ինձ ունենալ Arduino Սուրբ forննդյան տոներին, ես որոշեցի, որ ժամանակն է Arduino- ի հետ օգտակար (նրա աչքում) ինչ -որ բան պատրաստելու ժամանակը: Այսպիսով, այստեղ մենք ունենք դրա գագաթնակետը. Arduino- ին համացանցային ինտերֆեյս, որը փոխարինում է իմ հեռակառավարման վահանակները և հասանելի է իմ ներքին ցանցից: Երբ կհասկանամ, թե ինչու է իմ ethernet վահանը թույլ չի տալիս իմ arduino- ին պահել ուրվագիծը, ես կգրեմ նոր ուրվագիծ, որն օգտագործում է ethernet վահանը որպես վեբ սերվեր, այսինքն `ինձ պետք չէ համակարգչում տեղադրված apache: Շարունակեք հետևել, ես կհասնեմ այնտեղ:
Քայլ 1: Նախադրյալներ
Սարքավորումներ. Arduino կողմ. Arduino - Ես օգտագործում եմ Arduino Uno R2 տախտակ - ձեր տեղական էլեկտրոնիկայի խանութը կամ խոհանոցը, եթե ցանկանում եք վավերական տախտակի տեղադրման պարիսպ - ես օգտագործել եմ հին պլաստմասե պատյան թափանցիկ կափարիչով: Բաղադրիչներ. Ինֆրակարմիր LED - ես ապամոնտաժվել եմ մեկը կոտրված հեռակառավարման վահանակից (շնորհակալություն երեխաներին!) Ինֆրակարմիր ընդունիչ - ես իմը ստացա կախարդական աչքի հեռակառավարիչ տրանզիստորից - ես օգտագործեցի BC547 ռեզիստոր - ես օգտագործեցի 1.5k ohm փոփոխական ռեզիստոր, որը դրված էր 1k ohm Breadboard jumper լարերի վրա. RJ45 մալուխի ամուր կոճից Համակարգչային կողմ. Համակարգիչը որպես սերվեր օգտագործելու համար Arduino Software- ին. Arduino ծրագրակազմ - arduino.cc irremote գրադարանից - https://www.arcfn.com/2009/08/multi-protocol- ից infrared -remote -library.html (շնորհակալություն Քեն, հիանալի աշխատանք!) Apache վեբ սերվեր ՝ տեղադրված PHP- ով - apache.org Ներքին IP հասցեն - իմն է 192.168.0.9 Ձեր հեռակառավարման վահանակի նկարը ՝ google կամ ձեր տեսախցիկից արված նկար: Ես իմը պահեցի 200x600 բանաձևով
Քայլ 2. Կառուցեք խորհուրդը
Արդուինոյի համար հացահատիկի օգտագործումը խիստ խորհուրդ է տրվում: Ես տեղադրեցի իմ Arduino- ն և մի տախտակ նույն պատյանում և միացրեցի բոլոր կապում, որոնք ես կանոնավոր կերպով օգտագործում եմ, ուղղակիորեն մշտապես տախտակի վրա: Այս նախագծի համար օգտագործված Arduino կապում ՝ 5 վ, հիմք Թվային կապում 3, 11 (3 -րդը վերահսկում է IR LED- ը, 11 -ը միանում է IR ընդունիչին)
Քայլ 3: Սխեմատիկ
Այս սխեմատիկան շատ պարզ է ՝ 4 բաղադրիչ և 6 լար: IR լուսադիոդային միացումներ. Ռեզիստորի մի ոտքը միացրեք Arduino թվային փինին 3 Ռեզիստորի մյուս ոտքը միացրեք տրանզիստորի բազային կապին (իմ դեպքում միջին ոտքը) Տրանզիստորի էմիտորը միացրեք գետնին Միացրեք կոլեկտորը տրանզիստորի LED- ի բացասական ոտքին (կարճ ոտք, LED- ի հարթ կողմ) LED- ի դրական ոտքը (երկար ոտքը, կորացած կողմը) միացրեք 5v pin IR ընդունիչի միացումներին (դուք պետք է գտնեք քորոցը դրա համար ձեր հատուկ IR ընդունիչ).
Քայլ 4. Ավելացրեք Irremote գրադարան Arduino ծրագրին
irremote- ը Քեն Շիրիֆի գրած հիանալի գրադարան է և հասանելի է իր բլոգից ՝ https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html Ներբեռնեք գրադարանը https:// arcfn.com/files/IRremote.zip և տեղադրեք այն, ինչպես arduino- ի ցանկացած այլ գրադարան: Նրա բլոգը պարունակում է բազմաթիվ օգտակար տեղեկություններ գրադարանի և այն տեղադրելու եղանակների մասին:
Քայլ 5: Գրանցեք կոդերը ձեր հեռակառավարման վահանակից
Ահա ձանձրալի (բայց անխուսափելի) մասի սկիզբը. Հեռակառավարման վահանակի յուրաքանչյուր կոճակի սեղմում, ելքային տողի պահում և քարտեզագրում վիրտուալ հեռակառավարման վահանակի վրա: Դուք պետք է դա անեք միայն մեկ անգամ, ակնկալեք մոտ 20 րոպե տևել: Գործարկեք տեքստային խմբագիր `ձեր արտադրանքը պահելու համար: Ստեղծեք նոր փաստաթուղթ և մուտքագրեք ձեր հեռակառավարման վահանակի յուրաքանչյուր կոճակ ՝ մեկ տողում. Power Up Down Left Right.. և այլն ձեր Arduino- ն: Այս օրինակը հեռավոր կոդերը կթափի սերիական նավահանգիստ: Գործարկեք Սերիայի նավահանգստի մոնիտորը և սեղմեք ձեր հեռակառավարման վահանակի ստեղնը: Սերիական մոնիտորի պատուհանում կտեսնեք մի տող ՝ «Վերծանված *: * (* բիթ)»: Պատճենեք այս տողը և պահեք այն ձեր փաստաթղթում `համապատասխան տողում: Կրկնեք, մինչև տեքստային ֆայլում պահեք ձեր բոլոր բանալիները: Ես գիտեմ, թե որքան զվարճալի է այս հատվածը, ես դա արել եմ մինչ այժմ երկու անգամ: P Այժմ մենք պետք է մի փոքր փնտրենք և փոխարինենք տեքստային ֆայլում. Որոնել «վերծանված» -ի փոխարեն փոխարինել «" որոնելով: 0x " - ով փոխարինել "," որոնել "(" փոխարինել "-ով," որոնել "բիթերով" "փոխարինել" "-ով: Այսպիսով, տողի համար, ինչպիսին է` վերծանված NEC: 0x000110 (15 բիթ) մենք այժմ պետք է ունենանք մի տող, որն ասում է `NEC, 000110, 15
Քայլ 6: Ստեղծեք վեբ էջ ձեր հեռակառավարման վահանակի համար
Այժմ մենք պետք է քարտեզագրենք ձեր հեռակառավարման վահանակի կոճակները:
Ես օգտագործեցի https://www.maschek.hu/imagemap/imgmap կոճակները քարտեզագրելու համար և փոփոխեցի այն կոդը, որը տալիս է կայքը ՝ այն աշխատեցնելու համար:
Կտտացրեք «Օգտագործեք պատկեր ձեր համակարգչում. [Ընտրել ֆայլը]», ընտրեք ձեր պատկերը, կտտացրեք [վերբեռնում], կտտացրեք [ընդունեք] Յուրաքանչյուր կոճակի վրա գցեք ուղղանկյուններ, շրջանակներ և այլն: HREF- ի համար դրեք /remote.php?command= և տեքստային փաստաթղթից այդ կոճակի տողը, օրինակ /remote.php?command=NEC, 000110, 15 Խելամիտ կլինի (և անսահմանափակ օգնության դեպքում) Alt: կոճակի անունով, բայց դա ձեզն է:
Կրկնել յուրաքանչյուր կոճակի համար:
Ամեն ինչ արված է? Հետո կշարունակենք: Այդ էջի ներքևում «Կոդ» է, կտտացրեք դրա վրա և կբացվի տուփ, որը ցույց է տալիս պատկերային քարտեզի ծածկագիրը: Պատճենեք այն և տեղադրեք այն նոր տեքստային փաստաթղթում: Սա մեր վեբ էջի հիմնական մասն է:
Ահա իմ ամբողջական վեբ էջը, պարզապես փոխարինեք…
ձեր վերևի կոդով և պահեք այն որպես remote.php ձեր վեբ գրացուցակում (/var/www linux) ձեր հեռակառավարման պատկերների հետ միասին: Փոխեք տողերը ձեր սեփական պատկերների համար.
"https://www.w3.org/TR/html4/loose.dtd">
Arduino LED հսկողություն
Քայլ 7: Հեռակառավարման կոդը վերբեռնեք ձեր Arduino- ում
Ստեղծեք նոր ուրվագիծ և տեղադրեք հետևյալ կոդը դրա մեջ. uk/2012/02/irremote-arduino- փորձարկում/ * IRremote Library copyright 2009 Ken Shirriff, https://arcfn.com */#include template inline Print & operator << (Print & obj, T arg) {obj.print (arg); վերադարձ obj; } բուլյան ավարտված = կեղծ; char inData [64]; // Չափը `ըստ համապատասխան բայտի ինդեքսի = 0; #սահմանել EOP "\ n" IRsend irsend; void setup () {Serial.begin (9600); Սերիալ << «Սերիական նավահանգիստ սկզբնականացված» << EOP; } void loop () {String pch, sType, sTemp; char inChar, sTest, k; int sBits; երկար sHex; int i, j; while (1) {while (Serial.available ()> 0) {inChar = Serial.read (); եթե (ինդեքս == 0) {pch = ""; } if (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {ավարտված է = ճշմարիտ; ինդեքս = 0; ընդմիջում; } else {if (ինդեքս <64) // զանգվածի չափը {pch += inChar; ցուցանիշ ++; }}} եթե (ավարտված է) {// Տվյալների տվյալները վերլուծել այստեղ… pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); i ++; // բաց թողնել ',' կամ '' // i- ն այժմ ցույց է տալիս hex- ի սկիզբ j = pch.lastIndexOf ('')! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j այժմ ցույց է տալիս ',' կամ '' վեցանկյուն sHex = 0 -ից հետո; sTemp = pch.substring (i, j); եթե (sTemp.substring (0, 2) == String ("0X")) sTemp = sTemp.substring (2); (i = 0; i <sTemp.length (); i ++) {k = sTemp ; եթե (! ((k> = '0' && k = 'A' && k <= 'F'))) ընդմիջում; sHex *= 16; եթե (k> = '0' && k <= '9') sHex += (k - '0'); այլապես, եթե (k> = 'A' && k <= 'F') sHex + = ((k - 'A') + 10); եթե (! ((k> = '0' && k = 'A' && k <= 'F'))) ընդմիջում; } sTemp = pch.substring (j+1); sBits = 0; (i = 0; i <sTemp.length (); i ++) {k = sTemp ; sBits *= 10; եթե (k> = '0' && k <= '9') sBits += (k - '0'); } if (sType.length ()> 0) {Սերիա << pch << EOP << "Կոդի տեսակ." << s Տիպ << "Hex:"; Serial.print (sHex, HEX); Սերիական << "Բիթեր." << sBits; } sendIt (sType, sHex, sBits); pch = ""; ավարտվեց = 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; ուշացում (450); } ուշացում (30); }}
Քայլ 8: Միացեք վեբ սերվերին ձեր համակարգչից
.. կամ հեռախոս, android կամ ipad կամ որևէ այլ բան. գնացեք https:// webserver IP հասցե/remote.php ձեր դիտարկիչում Ինձ համար հասցեն է ՝ https://192.168.0.9/remote.php, բայց ձերն անկասկած տարբեր կլինի: Եթե ամեն ինչ աշխատում է, դուք պետք է տեսնեք ձեր հեռակառավարման վահանակի պատկերը, որի վրա կարող եք սեղմել:
Քայլ 9: Լրացուցիչ քայլ. Խմբագրեք ձեր տանտերերի ֆայլը `այն ավելի դյուրին դարձնելու համար
Մի քայլ, որը ես կատարեցի, խմբագրել էր իմ տանտերերի ֆայլը (/etc/hosts linux- ում, C: / Windows / System32 / Drivers / etc / hosts Windows- ում): Նկատի ունեցեք, որ այս ֆայլը կարող է խմբագրվել միայն վարչական հրամանի տողում (պատուհաններ) կամ su (linux) Ավելացնել տող ip.add.re.ss հեռակա փոխարինել ip.add.re.ss սերվերի IP հասցեով և պահպանել ֆայլը. Դուք պետք է դա անեք յուրաքանչյուր սարքի վրա, որտեղ ցանկանում եք մուտք գործել կարճ անունով վեբ էջ: Այժմ դուք կարող եք մուտք գործել հեռակառավարիչ ՝ https://remote/remote.php- ով: Սա իմ առաջին համապատասխան հրահանգն է, եղեք մեղմ և ինձ տեղեկացրեք, եթե որևէ խնդիր կա, որպեսզի կարողանամ դրանք շտկել:
Խորհուրդ ենք տալիս:
Առանց էկրանի / ցուցադրման (առանց գլխի) աշխատելը Raspberry Pi- ի կամ Linux- ի վրա հիմնված այլ համակարգիչների վրա `6 քայլ
Առանց էկրանի / ցուցադրման (առանց գլխի) աշխատելը Raspberry Pi- ի կամ Linux- ի / unix- ի վրա հիմնված այլ համակարգիչների վրա. Երբ մարդկանց մեծ մասը գնում է Raspberry PI, նրանք կարծում են, որ իրենց անհրաժեշտ է համակարգչի էկրան: Մի վատնեք ձեր գումարը համակարգչի անհարկի մոնիտորների և ստեղնաշարերի վրա: Մի վատնեք ձեր ժամանակը համակարգիչների միջև ստեղնաշարեր և մոնիտորներ տեղափոխելով: Մի կապեք հեռուստացույց, երբ այն չկա
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով)
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 Based Midi Generator). Բարև, այսօր ես կբացատրեմ, թե ինչպես պատրաստել ձեր սեփական եղանակի վրա հիմնված փոքր երաժշտության գեներատոր: Այն հիմնված է ESP8266- ի վրա, որը նման է Arduino- ին և արձագանքում է ջերմաստիճանին, անձրևին: և լույսի ուժգնություն: Մի ակնկալեք, որ այն ամբողջ երգեր կամ ակորդներ կհաղորդի
Սկսելով HyperDuino- ի MBlock դիտարկիչի վրա հիմնված կոդավորմամբ. 3 քայլ
Սկսելով HyperDuino- ի MBlock զննարկչի վրա հիմնված կոդավորմամբ. Բարի գալուստ mBlock վեբ վրա հիմնված ձեռնարկ ՝ HyperDuino- ի հետ: Սա ձեզ ցույց կտա, թե ինչպես ստեղծել mBlock և վերբեռնել ձեր ծածկագիրը ձեր HyperDuino- ում: Սա նաև ցույց կտա ձեզ, թե ինչպես ստեղծել հիմնական կոդը նաև խելացի մեքենայի համար: Սկսելու համար եկեք անմիջապես ցատկենք
Arduino- ի վրա հիմնված հեռակառավարում Eskate- ի կամ Hydrofoil- ի համար. 5 քայլ (նկարներով)
Arduino- ի վրա հիմնված հեռակառավարման վահանակ Eskate- ի կամ Hydrofoil- ի համար. Այս հրահանգը ցույց կտա ձեզ, թե ինչպես կառուցել ֆիզիկական հեռակառավարիչ `eskate- ով կամ էլեկտրական հիդրոֆայլով օգտագործելու համար, ներառյալ ձեզ անհրաժեշտ բոլոր ծածկագրերն ու սարքավորումները: Soldոդման հետ կապված շատ բան կա, բայց դրա պատրաստումը նույնպես հաճելի է: Ի՞նչ կարող է անել հեռակառավարիչը: Համա
Ինչպես միացնել MicroPython- ի որոնվածը ESP8266- ի վրա հիմնված Sonoff խելացի անջատիչի վրա. 3 քայլ (նկարներով)
Ինչպե՞ս միացնել MicroPython- ի որոնվածը ESP8266- ի վրա հիմնված Sonoff խելացի անջատիչի վրա. Այդ գծից ամենաճկուն և էժան սարքերից են Sonoff Basic- ը և Sonoff Dual- ը: Սրանք Wi-Fi- ով միացված անջատիչներ են ՝ հիմնված հիանալի չիպի ՝ ESP8266- ի վրա: Մինչդեռ