Мазмұны:
- 1 -қадам: алғышарттар
- 2 -қадам: тақтаны құру
- 3 -қадам: схемалық
- 4 -қадам: Arduino бағдарламалық жасақтамасына Irremote кітапханасын қосыңыз
- 5 -қадам: Қашықтан басқару пультіндегі кодтарды жазыңыз
- 6 -қадам: Қашықтан басқару пультінің веб -бетін жасаңыз
- 7 -қадам: Қашықтан басқару кодын Arduino -ға жүктеңіз
- 8 -қадам: Веб -серверге компьютерден қосылыңыз
- 9 -қадам: Қосымша қадам: Пайдалануды жеңілдету үшін хост файлын өңдеңіз
Бейне: Arduino шолғышқа негізделген қашықтан басқару құралы (linux): 9 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Бізде балалар бар. Мен оларды жақсы көремін, бірақ олар балаларға арналған арналарды қосқан кезде спутник пен теледидардың қашықтан басқару пультін жасырады. Бұл бірнеше жыл бойы күнделікті түрде болғаннан кейін және менің сүйікті әйелім Рождествоға Ардуино алуға рұқсат бергеннен кейін, мен Arduino -мен пайдалы нәрсе жасаудың уақыты келді деп шештім. Міне, осының шыңы бізде: менің қашықтан басқару пультін алмастыратын және менің ішкі желімнен қол жетімді Arduino веб-интерфейсі. Мен Ethernet қалқаны неге менің arduino эскизін сақтауға рұқсат бермейтінін түсінгенде, мен веб -сервер ретінде ethernet қалқанын қолданатын жаңа эскиз жазамын, яғни маған компьютерде апачаны орнату қажет емес. Күте тұрыңыз, мен жетемін!
1 -қадам: алғышарттар
Жабдық: Arduino жағы: Arduino - Мен Arduino Uno R2 Breadboard тақтасын қолданамын - сіздің жергілікті электроника дүкеніңіз немесе ас үй, егер сіз шынайы нан тақтасын орнатқыңыз келсе - мен мөлдір қақпағы бар ескі пластик корпусты қолдандым. сынған қашықтан басқару пультінің біреуі (балаларға рахмет!) Инфрақызыл қабылдағыш - мен сиқырлы көзді қашықтан басқаратын транзистордан алдым - мен BC547 резисторын қолдандым - мен 1к Ом -ға орнатылған 1,5км ауыспалы резисторды қолдандым. қатты ядролық RJ45 кабельдік катушкасынан Компьютер жағы: Компьютер USB сервері ретінде Arduino бағдарламалық жасақтамасына жетеді: Arduino бағдарламалық жасақтамасы - arduino.cc сырттай кітапханасынан - https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (рахмет Кен, керемет жұмыс!) PHP орнатылған Apache веб -сервері - apache.org Ішкі IP -адрес - менікі 192.168.0.9 Қашықтан басқару пультіңіздің суреті - google немесе камераңызға түсірілген сурет. Мен өзімді 200x600 ажыратымдылықта сақтадым
2 -қадам: тақтаны құру
Ардуиноға арналған тақтаны пайдалану өте ұсынылады. Мен Arduino мен нан тақтасын бір корпуста орнаттым және үнемі қолданатын барлық түйреуіштерді тікелей тақтаға жалғадым. Осы жобада қолданылатын Arduino түйреуіштері: 5в, жерлендірілген цифрлық түйреуіштер 3, 11 (3 -ші түйін ИҚ -диодты жарықдиодты басқарады, 11 -түйін ИҚ қабылдағышқа қосылады)
3 -қадам: схемалық
Бұл схема өте қарапайым, 4 компоненттен және 6 сымнан тұрады. IR светодиодты қосылымдар: резистордың бір аяғын Arduino цифрлық түйреуішіне қосыңыз 3 резистордың екінші аяғын транзистордың негізгі істігіне қосыңыз (менің жағдайда ортаңғы аяғы) транзистор эмитентін жерге қосыңыз коллекторды қосыңыз жарықдиодты теріс аяғына транзистордың қосылуы сіздің жеке IR қабылдағышыңыз): GND түйрегіші жерге VS түйреуіші 5v VO түйреуішіне Arduino цифрлық пин 11
4 -қадам: Arduino бағдарламалық жасақтамасына Irremote кітапханасын қосыңыз
irremote-бұл Кен Ширрифф жазған тамаша кітапхана және оның блогында https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html бар. Кітапхананы https:// arcfn сайтынан жүктеп алыңыз..com/files/IRremote.zip және оны arduino үшін кез келген басқа кітапхана сияқты орнатыңыз. Оның блогында кітапхана және оны орнату туралы көптеген пайдалы ақпарат бар.
5 -қадам: Қашықтан басқару пультіндегі кодтарды жазыңыз
Міне, скучно (бірақ сөзсіз) бөліктің басталуы: қашықтан басқару пультіндегі әр түймені басу, шығыс жолын сақтау және оны виртуалды қашықтан басқару пультіне салыстыру. Сіз мұны бір рет жасауыңыз керек, шамамен 20 минут кетеді. Шығаруды сақтау үшін мәтіндік редакторды іске қосыңыз. Жаңа құжат жасаңыз және қашықтан басқару пультіндегі әр түймені бір жолға теріңіз: солдан оңға қарай өшіру.. және басқалары Arduino IDE іске қосыңыз және «Файлдар-> Мысалдар-> IRremote-> IRrecvDump» түймесін басып, оны жүктеңіз. сіздің 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: батырманың атымен, бірақ бұл сізге байланысты.
Әр түйме үшін қайталаңыз.
Бәрі аяқталды ма? Содан кейін біз жалғастырамыз. Беттің төменгі жағында «Код» бар, оны нұқыңыз, сонда сурет картасының кодын көрсететін терезе ашылады. Оны көшіріп, жаңа мәтіндік құжатқа қойыңыз. Бұл біздің веб -беттің негізгі бөлігі.
Міне менің толық веб -бетім, оны ауыстырыңыз …
жоғарыдағы өзіңіздің кодыңызбен және қашықтан басқару құралының суреттерімен бірге веб -каталогыңызда (/var/www) remote.php ретінде сақтаңыз. Жеке суреттердің жолдарын өзгертіңіз:
«https://www.w3.org/TR/html4/loose.dtd»>
Arduino жарықдиодты басқару
7 -қадам: Қашықтан басқару кодын Arduino -ға жүктеңіз
Жаңа эскиз жасаңыз және оған келесі кодты қойыңыз:/ * * WebRemote * IR светодиоды Arduino PWM pin 3 -ке жалғануы тиіс. * Нұсқа 0,1 шілде, 2009 ж. * Бұл кодтың авторлық құқығы Грегори Фентон, https://labby.co. Ұлыбритания/2012/02/irremote-arduino-эксперимент/ * IRremote кітапханасының авторлық құқығы 2009 Ken Shirriff, https://arcfn.com */#include шаблон кірістірілген Print & operator << (Print & obj, T arg) {obj.print (arg); қайтару obj; } логикалық аяқталды = жалған; char inData [64]; // Өлшем сәйкесінше байт индексі = 0; #depine 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 {end = true; индекс = 0; үзіліс; } else {if (индекс <64) // Массив өлшемі {pch += inChar; индекс ++; }}} if (end) {// inData ішіндегі деректерді осында талдаңыз … pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); i ++; // ',' немесе '' // i арқылы өтіңіз, j = pch.lastIndexOf ('') он алтылықтың басын көрсетеді! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j енді sHex = 0 алтыбұрышынан кейін ',' немесе '' белгісін көрсетеді; sTemp = pch.substring (i, j); if (sTemp.substring (0, 2) == Жол («0X»)) sTemp = sTemp.substring (2); for (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; for (i = 0; i <sTemp.length (); i ++) {k = sTemp ; sBits *= 10; егер (k> = '0' && k <= '9') sBits += (k - '0'); } if (sType.length ()> 0) {Serial << pch << EOP << «Code type:» << sType << «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); } if 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 («»)))) {Сериялық << «Кешіктіру» << EOP; кешіктіру (450); } кешіктіру (30); }}
8 -қадам: Веб -серверге компьютерден қосылыңыз
.. немесе телефон немесе андроид немесе айпад немесе басқасы: браузердегі https:// веб -серверінің IP -мекен -жайы/remote.php -ге өтіңіз, мен үшін бұл мекен -жай https://192.168.0.9/remote.php, бірақ сіздікі басқаша болатыны сөзсіз. Егер бәрі жұмыс істеп тұрса, сіз қашықтан басқару пультінің суретін көруіңіз керек, оны басуға болады.
9 -қадам: Қосымша қадам: Пайдалануды жеңілдету үшін хост файлын өңдеңіз
Мен жасаған қадам - менің хост файлымды өңдеу (Linux жүйесінде/etc/hosts, C: / Windows / System32 / Drivers / etc / hosts). Бұл файлды тек әкімшілік пәрмен жолында (Windows) немесе su (linux) көмегімен өңдеуге болатынын ескеріңіз, ip.add.re.ss қашықтан басқару жолын қосыңыз, IP.add.re.ss сервердің IP мекенжайымен ауыстырыңыз және файлды сақтаңыз. Сіз мұны қысқа атауымен веб -бетке кіргіңіз келетін кез келген құрылғыда жасауыңыз керек. Енді сіз қашықтан басқару пультіне https://remote/remote.php арқылы қол жеткізе аласыз, бұл менің бірінші нұсқаулығым, жұмсақ болыңыз және маған ақаулар бар -жоғын айтыңыз, сонда мен оларды шеше аламын.
Ұсынылған:
IRduino: Arduino қашықтан басқару пульті - Жоғалған қашықтан басқару құралына еліктеу: 6 қадам
IRduino: Arduino қашықтан басқару пульті - Жоғалған қашықтан басқару пультіне еліктеу: Егер сіз теледидар немесе DVD ойнатқыш үшін қашықтан басқару пультін жоғалтқан болсаңыз, құрылғының өзіндегі түймелерге жүгіру, табу және пайдалану қаншалықты ауыр болатынын білесіз. Кейде бұл түймелер қашықтан басқару пультімен бірдей функцияны ұсынбайды. Алу
ESP8266 RGB LED STRIP WIFI басқару - NODEMCU Wifi арқылы басқарылатын жарықдиодты жолақ үшін IR қашықтан басқару құралы ретінде - RGB LED STRIP смартфонды басқару: 4 қадам
ESP8266 RGB LED STRIP WIFI басқару | NODEMCU Wifi арқылы басқарылатын жарықдиодты жолақ үшін IR қашықтан басқару құралы ретінде | Смартфонды RGB LED STRIP басқару: Сәлеметсіздер ме, балалар, бұл оқулықта біз nodemcu немесе esp8266 -ды RGB жарықдиодты жолағын басқару үшін инфрақызыл қашықтан басқару құралы ретінде қолдануды үйренеміз, ал Nodemcu смартфон Wi -Fi арқылы басқарылады. Негізінде сіз RGB LED STRIP -ті смартфонмен басқара аласыз
Tim's Cybot Arduino NANO қашықтан басқару құралы: 31 қадам (суреттермен)
Tim's Cybot Arduino NANO қашықтан басқару пульті: Бұл жоба Ultimate Real Robots журналынан алынған түпнұсқа Cybot -ты басқару үшін инфрақызыл қашықтан басқару пультін құру болып табылады, қашықтан басқару пультінің жасалу себебі: (сәл тарих) инфрақызыл телефонға арналған бөлшектер
Arduino негізіндегі GSM/SMS қашықтан басқару құралы: 16 қадам (суреттермен)
Arduino негізіндегі GSM/SMS қашықтан басқару блогы:! ! ! N O T I C E! ! ! Жергілікті ұялы телефон мұнарасы менің аймағымда жаңартылғандықтан, мен бұл GSM модулін қолдана алмаймын. Жаңа мұнара 2G құрылғыларына қолдау көрсетпейді. Сондықтан мен бұл жобаға бұдан былай қолдау көрсете алмаймын
IR қашықтан басқару пультін RF қашықтан басқару пультіне түрлендіру: 9 қадам (суреттермен)
IR қашықтан басқару пультін RF қашықтан басқару пультіне түрлендіріңіз: бүгінгі нұсқаулықта мен сізге микроконтроллерсіз жалпы радиожиілік модульді қалай қолдануға болатынын көрсетемін, бұл бізді кез келген құрылғының IR қашықтан басқару пультін ЖЖ -ге түрлендіре алатын жобаны құруға әкеледі. Қашықтан басқару. Түрлендірудің басты артықшылығы