ربات کاوشگر FPV کنترل شده Wi-Fi (با آردوینو و ESP8266):
این پروژه ربات کاوشگر FPV کنترل شده با Wi-Fi (با آردوینو و ESP8266) نحوه طراحی یک مریخ نورد رباتیک دو چرخ با کنترل از راه دور وای فای را با استفاده از Arduino Uno و ESP8266 نشان می دهد.
اقلام استفاده شده:
ماژول تغذیه برد بورد با ورودی USB
سیم برد بردی 10 تایی دو سر نری
پک اقلام مورد نیاز:
قطعات و لوازم:
آردوینو UNO
× 1
آردوینو پروتو شیلد
× 1
اسپرسف ESP8266 ESP-01
× 1
موتور پله ای 28BYJ
× 2
درایور استپر ULN2003
× 1
دستگاه اندروید
× 1
مقاومت 1k اهم
× 1
مقاومت 100 هزار اهم
× 2
پاور بانک
× 1
چرخهای 42×19 میلیمتری با لاستیک آج لاستیکی
× 2
چرخ omni توپ فولادی 49x20x32mm
× 1
پیچ M2 x 10 میلی متر
× 12
مهره های M2 x 1.5mm
× 12
پیچ M3 x 10 میلی متر
× 8
مهره های M3 x 1.5mm
× 8
پیچ و مهره 5/32 اینچ در 1 اینچ
× 3
nuts نات 5/32 اینچی
× 6
گیره چوب سلفی دستی
× 1
براکت آلومینیومی 3×3 سانتی متر
× 2
ورق اکریلیک 2 میلی متری
×
در مورد این پروژه ربات کاوشگر FPV کنترل شده با Wi-Fi (با آردوینو و ESP8266):
این آموزش نحوه طراحی یک مریخ نورد رباتیک دو چرخ کنترل از راه دور را از طریق شبکه وای فای، با استفاده از آردوینو Uno متصل به ماژول Wi-Fi ESP8266 و دو موتور پله ای نشان می دهد. ربات را می توان از طریق یک مرورگر اینترنتی معمولی و با استفاده از یک ارتباط طراحی شده HTML کنترل کرد. یک تلفن هوشمند اندرویدی برای پخش ویدئو و صدا از ربات به ارتباط کنترلی اپراتور استفاده می شود.
کیت های رباتیک زیادی با شکل ها، ابعاد و قیمت های مختلف به صورت آنلاین موجود است. اما، بسته به کاربردش، هیچ یک از آنها مناسب نیستند و ممکن است متوجه شوید که برای آزمایش های شما بسیار گران هستند. یا شاید شما فقط می خواهید به جای خرید یک ساختار کامل، ساختار مکانیکی خود را بسازید. این آموزش همچنین نحوه طراحی و ساخت یک قاب اکریلیک کم هزینه را برای پروژه رباتیک خود، با استفاده از ابزارهای معمولی برای کسانی که ندارند، نشان می دهد. دسترسی به آن پرینترهای سه بعدی یا برش لیزری گران قیمت. یک پلت فرم رباتیک ساده ارائه شده است.
راهنمای زیر برای تغییر شکل یا رابط کنترلی آن ممکن است تطبیق داده شود. این برای دیگر پروژه های رباتیک سازنده است، که می توانید فیلم های زیر را مشاهده کنید:
هشدار: برخی از عکسها قدیمی هستند، زیرا طراحی بیشتر بهبود یافته است. با این حال، ایده ارائه شده در اینجا هنوز معتبر است.
مرحله 1: ابزار
ابزارهای زیر برای ساخت این نمونه اولیه مورد نیاز است:
- اره دستی (برای انجام برش های اولیه ورق اکریلیک)
- پیچ گوشتی (برای قرار دادن پیچ و مهره)
- خط کش (برای اندازه گیری ابعاد)
- چاقوی کاربردی (برای برش ورق اکریلیک)
- دستگاه دریل (برای ایجاد سوراخ برای پیچ ها)
- کاغذ سنباده (برای صاف کردن لبه های زبر)
مرحله 2: ساختار مکانیکی و مواد
برای ساخت یک ربات سفارشی، ابتدا باید ساختار مکانیکی خود را طراحی کنید. ممکن است بسته به برنامه شما آسان باشد یا پر از جزئیات و قید ها باشد. بسته به پیچیدگی مدل خود، ممکن است لازم باشد آن را در یک نرم افزار CAD سه بعدی طراحی کنید یا فقط آن را به صورت دو بعدی بکشید.
همچنین اگر نمی خواهید سازه مکانیکی خود را بسازید، می توانید سازه کامل را به صورت آنلاین خریداری کنید. کیت های رباتیک زیادی به صورت آنلاین موجود است. در این مورد، ممکن است به مرحله 6 بروید.
برای این آموزش، یک قاب اکریلیک ارزان قیمت برای اتصال موتورها و سایر اجزا طراحی شده است. ساختار ارائه شده در این آموزش به صورت سه بعدی با استفاده از نرم افزار 123D Design CAD طراحی شده است. بعداً هر قسمت با استفاده از نرم افزار Draftsight به دو بعدی تبدیل شد.
از مواد زیر استفاده شده است:
- ورق اکریلیک 2 میلی متری
- چرخهای 42×19 میلیمتری با لاستیک آج لاستیکی (x2)
- چرخ omni توپ فولادی 49x20x32mm (x1)
- پیچ M2 x 10mm (x12)
- مهره M2 x 1.5mm (x12)
- پیچ M3 x 10mm (x8)
- مهره M3 x 1.5mm (x8)
- پیچ و مهره 5/32 اینچ 1 اینچ (x3)
- مهره 5/32 اینچی (x6)
- گیره چوب سلفی دستی
- براکت آلومینیومی 3 × 3 سانتی متر (x4)
ساخت سازه پایه به مراحل زیر تقسیم می شود:
1.پایه اکریلیک را با توجه به ابعاد در رسم دو بعدی برش دهید.
2.سوراخ ها را در موقعیت های نشان داده شده در نقاشی دو بعدی دریل کنید.
3.طبق نقشه سه بعدی قطعات را با پیچ و مهره نصب کنید.
متأسفانه قطر شفت موتور پله ای بیشتر از روزنه روی چرخ است. بنابراین احتمالاً برای جفت کردن این اجزا باید از چسب استفاده کنید.
برای این آموزش از یک اتصال چوبی بین شفت موتور و چرخ را تعبیه کرده و ساخته شده است.
مرحله 3: برش سازه
ابتدا باید ابعاد مدل خود را به ورق اکریلیک منتقل کنید. طراحی دو بعدی خود را با استفاده از یک چاپگر معمولی روی کاغذ چسب دار چاپ کنید، سپس کاغذ را در ابعاد مناسب برش دهید و آن ماسک کاغذی را روی سطح اکریلیک بزنید.
ممکن است از یک اره دستی برای برش اکریلیک با توجه به ابعاد خود استفاده کنید یا از تکنیک شکستن که در توضیح داده شده استفاده کنید.
با یک چاقوی کاربردی و به کمک خط کش یا اندازه گیری، اکریلیک را در خطوط مستقیم برش دهید. شما نیازی به برش کامل ورق نخواهید داشت، فقط آن را نشانه گذاری کنید و شیارهایی ایجاد کنید که بعداً تکه ها بریده می شود.
اکریلیک را روی یک سطح صاف قرار دهید، آن را با چند گیره در جای خود نگه دارید و کمی فشار دهید تا ورق به دو نیم شود. این روند را تا زمانی که تمام برش ها انجام شود تکرار کنید. پس از آن، از یک کاغذ سنباده برای صاف کردن لبه های زبر ممکن است لازم شود استفاده کنید.
مرحله 4: دریل کردن پایه
سوراخ ها را در موقعیت های نشان داده شده در رسم دو بعدی (که در ماسک کاغذی نشان داده شده است) با دستگاه دریل سوراخ کنید.
دریل اکریلیک نسبتاً آسان است. بنابراین اگر دستگاه دریل ندارید، می توانید سوراخ ها را به صورت دستی با یک ابزار نوک تیز، مانند یک چاقو، سوراخ کنید. همچنین می توانید از آن برای بزرگ کردن سوراخ های کوچک متناسب با اندازه پیچ استفاده کنید.
ماسک را بردارید و پایه شما آماده خواهد بود.
مرحله 5: مونتاژ سازه
طبق تصاویر قطعات را با پیچ و مهره نصب کنید و سازه شما آماده حرکت خواهد بود.
پیچ و مهره های M3 برای نصب موتورهای پله ای و پیچ های 5/32 اینچی برای نصب چرخ جلو و گیره گوشی هوشمند استفاده می شود.
حالا استراحت کنید و در مرحله زیر شروع به جمع آوری مدار کنید.
مرحله 6: الکترونیک
شما به قطعات الکترونیکی زیر نیاز دارید:
- آردوینو یونو
- ESP8266
- Protoshield (برای یک نسخه فشرده تر) یا خرید یک برد بورد معمولی
- مقاومت 1K اهم (x2)
- مقاومت 10K اهم (x1)
- چند سیم جامپر
- استپر موتور با درایور ULN2003 (x2)
- یک کامپیوتر (برای کامپایل و آپلود کد آردوینو)
- پاور بانک (خرید)
- کابل یو اس بی
برای مونتاژ مدار به ابزار خاصی نیاز نخواهید داشت. همه اجزا را می توان به صورت آنلاین در فروشگاه الکترونیکی مورد علاقه شما پیدا کرد. تغذیه مدار توسط یک پاوربانک متصل به پورت USB آردوینو تامین می شود.
تمام کامپونت ها را مطابق شماتیک وصل کنید. برای اتصال ماژول ESP-8266 و استپر موتورها به چند سیم جامپر نیاز دارید. شما ممکن است از یک پروتو شیلد استفاده کنید (برای مدار فشردهتر)، یک برد بورد معمولی، یا طراحیتان روی شیلد آردوینو باشد. کابل USB را به برد آردوینو Uno وصل کنید و به مرحله بعدی بروید.
مرحله 7: کد آردوینو
آخرین ورژن Arduino IDE را نصب کنید. در این پروژه از کتابخانه stepper.h برای کنترل موتورهای پله ای استفاده شد. هیچ کتابخانه اضافی برای ارتباط با ماژول ESP-8266 مورد نیاز نیست. لطفاً Baudrate ESP8266 خود را بررسی کنید و آن را به درستی در کد تنظیم کنید.
کد آردوینو (stepperRobot.ino) را دانلود کنید و XXXXX را با wifi router SSID خود و YYYYY را با router password جایگزین کنید. برد آردوینو را به پورت USB کامپیوتر خود وصل کنید و کد را آپلود کنید.
مرحله 8: دوربین IP اندروید
یک گوشی هوشمند اندرویدی برای پخش ویدئو و صدا از ربات به رابط کنترل استفاده شده است. ممکن است برنامه را در فروشگاه Google Play ( /play.google.com ) پیدا کنید.
آن را نصب کنید و به مرحله بعدی بروید.
مرحله 9: مدارها را در ربات قرار دهید
همانطور که در تصاویر نشان داده شده است، مدارها را در بالای ربات با استفاده از چند پیچ M1 نصب کنید.
پس از آن، پاوربانک خود را با استفاده از یک نوار دو طرفه (چون بعدا به راحتی جدا می شود) در پشت ربات بچسبانید و گوشی هوشمند خود را در گیره قرار دهید.
مرحله 10: رابط کنترل مبتنی بر وب
یک رابط html برای کنترل ربات طراحی شده است.
Interface.rar را دانلود کنید و تمام فایل ها را در یک پوشه مشخص استخراج کنید. سپس آن را در فایرفاکس باز کنید.
یک فرم جعبه متنی در آن رابط برای وارد کردن آدرس های IP ماژول ESP و سرور ویدئو/صوتی (از برنامه وب کم اندروید IP) استفاده می شود.
یک آزمایش اما وجود دارد که باعث می شود ربات بچرخد تا زمانی که دستور دیگری دریافت شود. از کلیدهای جهت دار صفحه کلید برای حرکت روبات به جلو یا عقب و چرخش به چپ یا راست استفاده می شود.
مرحله 11: کاربرد
هنگامی که آردوینو راه اندازی مجدد می شود، سعی می کند به طور خودکار شبکه وای فای شما را متصل کند. از مانیتور سریال برای بررسی اینکه آیا اتصال با موفقیت انجام شده است یا خیر و اینکه کدام IP توسط روتر شما به ESP-8266 شما اختصاص داده شده است، استفاده کنید. فایل html را در یک مرورگر اینترنتی (Firefox) باز کنید و این آدرس IP را در جعبه متن اطلاع دهید.
همچنین ممکن است از ابزارهای دیگری برای پیدا کردن آدرس IP که روتر به دستگاه شما اختصاص داده است استفاده کنید.
Arduino Uno را از کامپیوتر خود جدا کرده و آن را به پاور بانک وصل کنید. صبر کنید تا دوباره وصل شود.
برنامه IP Webcam را در گوشی هوشمند متصل به ربات راه اندازی کنید. IP ویدیو/صوتی را در رابط کنترلی خود تایپ کنید و به سرور متصل شوید و آماده حرکت خواهید بود. ممکن است لازم باشد وضوح ویدیو را در برنامه کاهش دهید تا تأخیر بین انتقال را کاهش دهید.
برای چرخاندن ربات یا حرکت دادن آن به جلو/عقب روی دکمه های پیکان صفحه کلید خود کلیک کنید و نگه دارید و از کاوش در محیط خود لذت ببرید.
کد:
<!-- wp:code --> <pre class="wp-block-code"><code class="">//include libraries #include <SoftwareSerial.h> #include <Stepper.h> SoftwareSerial esp8266(3, 2); //RX pin = 3, TX pin = 2 //definition of variables #define DEBUG true //show messages between ESP8266 and Arduino in serial port const int stepsPerRevolution = 500; int state = 5; Stepper rightStepper(stepsPerRevolution, 8,10,9,11); Stepper leftStepper(stepsPerRevolution, 4,6,5,7); //***** //SETUP //***** void setup() { //start communication Serial.begin(9600); esp8266.begin(19200); sendData("AT+RST\r\n", 2000, DEBUG); //reset module sendData("AT+CWMODE=1\r\n", 1000, DEBUG); //set station mode sendData("AT+CWJAP=\"XXXXX\",\"YYYYY\"\r\n", 2000, DEBUG); //connect wi-fi network while(!esp8266.find("OK")) { //wait for connection } sendData("AT+CIFSR\r\n", 1000, DEBUG); //show IP address sendData("AT+CIPMUX=1\r\n", 1000, DEBUG); //allow multiple connections sendData("AT+CIPSERVER=1,80\r\n", 1000, DEBUG); // start web server on port 80 //Define motor speed rightStepper.setSpeed(60); leftStepper.setSpeed(60); } void loop() { if (esp8266.available()) //verify incoming data { if (esp8266.find("+IPD,")) //if there is a message { String msg; esp8266.find("?"); //look for the message msg = esp8266.readStringUntil(' '); //read whole message String command = msg.substring(0, 3); //first 3 characters = command String valueStr = msg.substring(4); //next 3 characters = value int value = valueStr.toInt(); if (DEBUG) { Serial.println(command); Serial.println(value); } //move forward if(command == "cm1") { state = 1; } //move backward if(command == "cm2") { state = 2; } //turn right if(command == "cm3") { state = 3; } //turn left if(command == "cm4") { state = 4; } //do nothing if(command == "cm5") { state = 5; } } } //move forward if (state == 1) { rightStepper.step(1); leftStepper.step(-1); } //move backward if (state == 2) { rightStepper.step(-1); leftStepper.step(1); } //move right if (state == 3) { rightStepper.step(1); leftStepper.step(1); } //move left if (state == 4) { rightStepper.step(-1); leftStepper.step(-1); } //do nothing if (state == 5) { } } //******************* //Auxiliary functions //******************* String sendData(String command, const int timeout, boolean debug) { String response = ""; esp8266.print(command); long int time = millis(); while ( (time + timeout) > millis()) { while (esp8266.available()) { char c = esp8266.read(); response += c; } } if (debug) { Serial.print(response); } return response; }</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p></p> <!-- /wp:paragraph -->
قطعات و محفظه های سفارشی: hacksterio.s3.a bb.pdf tico.pdf rev1.fzz فیلم: فیلم منبع این مطالب: