فهرست مطالب:
- مرحله 1: پیش نیازها
- مرحله 2: ایجاد هیئت مدیره
- مرحله 3: شماتیک
- مرحله 4: کتابخانه Irremote را به نرم افزار Arduino اضافه کنید
- مرحله 5: کدها را از ریموت کنترل خود ضبط کنید
- مرحله 6: صفحه وب را برای کنترل از راه دور خود ایجاد کنید
- مرحله 7: کد کنترل از راه دور را در Arduino خود بارگذاری کنید
- مرحله 8: از رایانه خود به سرور وب متصل شوید
- مرحله 9: مرحله اختیاری: فایل میزبان خود را ویرایش کنید تا استفاده از آن آسان تر شود
تصویری: کنترل از راه دور مبتنی بر مرورگر آردوینو (لینوکس): 9 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:51
ما بچه داریم. من آنها را کمی دوست دارم اما وقتی کانال های کودکان را روشن می کنند ، کنترل از راه دور را برای ماهواره و تلویزیون پنهان می کنند. بعد از چندین سال این اتفاق به صورت روزانه و بعد از اینکه همسر عزیزم به من اجازه داد تا برای کریسمس آردوینو داشته باشم ، تصمیم گرفتم که وقت آن رسیده است که با آردوینو چیزی مفید (در نظر او!) بسازم. بنابراین در اینجا ما نقطه اوج آن را داریم: یک رابط مبتنی بر وب برای آردوینو که جایگزین کنترل از راه دور من می شود و از طریق شبکه داخلی من قابل دسترسی است. هنگامی که می فهمم چرا سپر اترنت من به arduino من اجازه نمی دهد تا طرح خود را حفظ کند ، یک طرح جدید می نویسم که از سپر اترنت به عنوان سرور وب استفاده می کند ، به این معنی که من نیازی به apache نصب شده بر روی کامپیوتر خود ندارم. منتظر باشید ، من به آنجا می رسم!
مرحله 1: پیش نیازها
سخت افزار: سمت آردوینو: آردوینو - من از Arduino Uno R2 Breadboard استفاده می کنم - مغازه لوازم الکترونیکی محلی شما یا آشپزخانه اگر می خواهید محفظه نصب برای ورق نان معتبر باشد - من از یک جعبه پلاستیکی قدیمی با درب شفاف استفاده کردم. یکی از کنترل از راه دور شکسته (بچه ها تشکر می کنم!) گیرنده مادون قرمز - من از ترانزیستور تقویت کننده از راه دور چشم جادویی استفاده کردم - از یک مقاومت BC547 استفاده کردم - از یک مقاومت متغیر 1.5 کیلو اهم استفاده کردم که روی 1 کیلو اهم سیم های بلوز تخته نورد تنظیم شده بود - من خودم را دریافت کردم از یک حلقه کابل RJ45 با هسته اصلی سمت کامپیوتر: کامپیوتر برای استفاده به عنوان سرور USB از سرور به نرم افزار Arduino: نرم افزار Arduino - از arduino.cc irremote library - از https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (با تشکر کن ، کار بسیار خوبی است!) وب سرور Apache با PHP نصب شده - apache.org آدرس IP داخلی - آدرس 192.168.0.9 است تصویر کنترل از راه دور خود - google یا تصویری که از دوربین شما گرفته شده است. من رزولوشن 200x600 را ذخیره کردم
مرحله 2: ایجاد هیئت مدیره
استفاده از تخته نان برای آردوینو بسیار توصیه می شود. من آردوینو و یک تخته نان را در همان محفظه نصب کردم و تمام پین هایی را که به طور مرتب استفاده می کنم مستقیماً به طور دائم روی تخته نان وصل کردم. پین های آردوینو مورد استفاده برای این پروژه: 5 ولت ، پایه های دیجیتال زمین 3 ، 11 (پین 3 LED IR را کنترل می کند ، پین 11 به گیرنده IR متصل می شود)
مرحله 3: شماتیک
این شماتیک بسیار ساده است ، 4 جزء و 6 سیم دارد. اتصالات LED IR: یکی از پایه های مقاومت را به پین دیجیتال آردوینو وصل کنید 3 پای دیگر مقاومت را به پایه پایه ترانزیستور وصل کنید (در مورد من پای وسط) امیتر ترانزیستور را به زمین وصل کنید کلکتور را وصل کنید ترانزیستور به پای منفی LED (پای کوتاه ، سمت مسطح LED) پای مثبت (پای بلند ، سمت خمیده) LED را به اتصالات گیرنده IR 5 پین وصل کنید (باید پین را برای گیرنده IR خاص شما): پین GND به پین VS زمینی تا پین VO 5V به پین دیجیتال آردوینو 11
مرحله 4: کتابخانه Irremote را به نرم افزار Arduino اضافه کنید
irremote یک کتابخانه عالی است که توسط کن شریرف نوشته شده است و از وبلاگ وی به آدرس https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html در دسترس است کتابخانه را از https:// arcfn.com/files/IRremote.zip و آن را مانند سایر کتابخانه های آردوینو نصب کنید. وبلاگ او اطلاعات مفید زیادی در مورد کتابخانه و نحوه نصب آن دارد.
مرحله 5: کدها را از ریموت کنترل خود ضبط کنید
در اینجا شروع قسمت خسته کننده (اما اجتناب ناپذیر) است: با فشار دادن هر دکمه روی کنترل از راه دور ، رشته خروجی را ذخیره کرده و روی کنترل از راه دور مجازی نقشه برداری کنید. شما فقط باید یک بار این کار را انجام دهید ، انتظار می رود تقریباً 20 دقیقه یا بیشتر طول بکشد. برای ذخیره خروجی خود ، ویرایشگر متن را راه اندازی کنید. یک سند جدید ایجاد کنید و هر دکمه روی کنترل از راه دور خود را تایپ کنید: آردوینو شما این مثال کدهای راه دور را به پورت سریال منتقل می کند. مانیتور پورت سریال را راه اندازی کنید و یک کلید روی کنترل از راه دور خود را فشار دهید. خواهید دید که یک رشته در پنجره سریال مانیتور ظاهر می شود: "رمزگشایی *: * (* بیت)". این خط را کپی کرده و در سند خود در خط مناسب ذخیره کنید. این کار را تکرار کنید تا همه کلیدهای خود را در فایل متنی ذخیره کنید. من می دانم که این بیت چقدر سرگرم کننده است ، من تا به حال دو بار آن را انجام داده ام: P ما اکنون باید کمی جستجو و جایگزینی را در فایل متنی انجام دهیم: عبارت "Decoded" را جایگزین "" search for ": 0x" جایگزین کنید "،" search for "(" جایگزینی با "،" جستجو برای "بیت" "جایگزینی با" "بنابراین برای خطی مانند: رمزگشایی NEC: 0x000110 (15 بیت) ما اکنون باید یک خط داشته باشیم که می گوید: NEC ، 000110 ، 15
مرحله 6: صفحه وب را برای کنترل از راه دور خود ایجاد کنید
اکنون باید دکمه های روی تصویر شما از کنترل از راه دور را نقشه برداری کنیم.
من از https://www.maschek.hu/imagemap/imgmap برای ترسیم نقشه دکمه ها استفاده کردم و کدی را که وب سایت به شما می دهد تغییر دادم تا کار کند.
روی "استفاده از یک تصویر در رایانه خود: [انتخاب فایل]" کلیک کنید ، تصویر خود را انتخاب کنید ، روی [بارگذاری] کلیک کنید ، روی [پذیرش] رها کردن مستطیل ها ، حلقه ها و غیره بر روی هر دکمه کلیک کنید. برای HREF قرار دهید /remote.php؟command= و خط آن دکمه از سند متنی به عنوان مثال /remote.php؟command=NEC، 000110، 15 اگر شما نیز آن را پر کنید عاقلانه خواهد بود (و در اشکال زدایی بسیار کمک می کند). Alt: با نام دکمه اما این به شما بستگی دارد.
برای هر دکمه این کار را تکرار کنید.
تمام شد؟ سپس ادامه می دهیم. در انتهای آن صفحه "Code" قرار دارد ، روی آن کلیک کنید و کادری باز می شود که کد نقشه تصویر را نشان می دهد. آن را کپی کرده و در یک سند متنی جدید جایگذاری کنید. این قسمت اصلی صفحه وب ما است.
در اینجا صفحه وب من کامل است ، فقط جایگزین کنید…
با کد خود در بالا و آن را به عنوان remote.php در فهرست وب خود (/var/www on linux) به همراه تصاویر کنترل از راه دور خود ذخیره کنید. خطوط تصاویر خود را تغییر دهید:
"https://www.w3.org/TR/html4/loose.dtd">
کنترل LED آردوینو
مرحله 7: کد کنترل از راه دور را در Arduino خود بارگذاری کنید
یک طرح جدید ایجاد کنید و کد زیر را در آن بچسبانید: uk/2012/02/irremote-arduino-experimental/ * IRremote Library کپی رایت 2009 Ken Shirriff، https://arcfn.com */ #شامل قالب داخلی چاپ و اپراتور << (Print & obj، T arg) {obj.print (arg)؛ بازگشت obj؛ } boolean end = false؛ 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 ()؛ if (index == 0) {pch = ""؛ } if (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {end = true؛ index = 0؛ زنگ تفريح؛ } else {if (index <64) // اندازه آرایه {pch += inChar؛ شاخص ++ ؛ }}} if (end) {// تجزیه داده ها در inData اینجا … pch.toUpperCase ()؛ i = pch.indexOf ('')! = -1؟ pch.indexOf (''): pch.indexOf ('،')؛ sType = pch.substring (0 ، i) ؛ من ++ ؛ // از حال عبور کنید '،' یا '' // من اکنون به شروع hex j = pch.lastIndexOf ('') اشاره می کنم! = -1؟ pch.lastIndexOf (''): pch.lastIndexOf ('،')؛ // j پس از hex sHex = 0 به '،' یا '' اشاره می کند ؛ sTemp = pch.substring (i ، j) ؛ if (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 ؛ if (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 ؛ if (k> = '0' && k <= '9') sBits += (k - '0')؛ } if (sType.length ()> 0) {سریال << pch << EOP << "نوع کد:" << 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) ؛ } 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: از رایانه خود به سرور وب متصل شوید
. اگر همه چیز کار می کند ، باید تصویری از کنترل از راه دور خود را با دکمه هایی مشاهده کنید که می توانید روی آنها کلیک کنید.
مرحله 9: مرحله اختیاری: فایل میزبان خود را ویرایش کنید تا استفاده از آن آسان تر شود
گامی که من انجام دادم ویرایش فایل میزبان من (/etc/hosts در linux ، C: / Windows / System32 / Drivers / etc / host در Windows) بود. توجه داشته باشید که این فایل فقط در یک فرمان فرمان اداری (ویندوز) یا توسط su (linux) قابل ویرایش است. خط ip.add.re.ss را از راه دور جایگزین ip.add.re.ss با آدرس IP سرور کرده و فایل را ذخیره کنید به لازم است این کار را در هر دستگاهی که مایل به دسترسی به صفحه وب با نام کوتاه هستید انجام دهید. اکنون می توانید با https://remote/remote.php به کنترل از راه دور دسترسی داشته باشید
توصیه شده:
ESP8266 RGB LED STRIP WIFI کنترل - NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi - کنترل تلفن هوشمند RGB LED STRIP: 4 مرحله
ESP8266 RGB LED STRIP WIFI کنترل | NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi | RGB LED STRIP Smartphone Control: سلام بچه ها در این آموزش می آموزیم که چگونه از nodemcu یا esp8266 به عنوان ریموت IR برای کنترل نوار LED RGB استفاده کنید و Nodemcu توسط تلفن هوشمند از طریق وای فای کنترل می شود. بنابراین اساساً می توانید RGB LED STRIP را با تلفن هوشمند خود کنترل کنید
واحد کنترل از راه دور GSM/SMS مبتنی بر آردوینو: 16 مرحله (همراه با تصاویر)
واحد کنترل از راه دور GSM/SMS مبتنی بر آردوینو:! ! ! اطلاع ! ! ! به دلیل ارتقاء برج تلفن همراه محلی در منطقه من ، دیگر نمی توانم از این ماژول GSM استفاده کنم. برج جدیدتر دیگر از دستگاه های 2G پشتیبانی نمی کند. بنابراین ، من دیگر نمی توانم از این پروژه پشتیبانی کنم. با چنین wi
کنترل از راه دور مبتنی بر آردوینو برای Eskate یا Hydrofoil: 5 مرحله (همراه با تصاویر)
کنترل از راه دور مبتنی بر آردوینو برای Eskate یا Hydrofoil: این دستورالعمل به شما نشان می دهد که چگونه می توانید یک ریموت فیزیکی برای استفاده با اسکیت یا هیدروفویل برقی شامل تمام کد و سخت افزار مورد نیاز خود بسازید. لحیم کاری زیادی وجود دارد ، اما ساخت آن نیز سرگرم کننده است. ریموت کنترل چه کاری می تواند انجام دهد؟ شرکت
راه دور IR خود را به RF از راه دور تبدیل کنید: 9 مرحله (همراه با تصاویر)
راه دور IR خود را به RF Remote تبدیل کنید: در دستورالعمل امروز ، به شما نشان خواهم داد که چگونه می توانید از یک ماژول RF عمومی بدون میکروکنترلر استفاده کنید که در نهایت ما را به ساخت پروژه ای می رساند که در آن می توانید یک IR Remote از هر دستگاه را به RF تبدیل کنید. از راه دور. مزیت اصلی تبدیل یک
کنترل از راه دور سایه/کنترل از راه دور: 5 مرحله
Shadow/Remote Control Activated Leds: آیا تا به حال خواسته اید یک نور فعال شده در شب یا سایه ایجاد کنید؟ خوب .. در اینجا یک دستورالعمل وجود دارد ، اما یک مورد اضافی وجود دارد: می توانید آن را با کنترل RF از راه دور فعال کنید. این بسیار قدرتمند است ، من می توانم اتاق سوراخ خود را روشن کنم