تا حالا فکر کرده اید، چگونه یک لابیرنت که از طریق تلفن همراه کنترل شود بسازید یا فکر کرده اید که این پروژه خیلی سخت است و منصرف از ساختن آن شده اید. در این سری از آموزش پروژه های آردوینو می خواهیم پروژه راه اندازی لابیرنت(Labyrinth) توسط برد آردوینو و کنترل این بازی توسط تلفن همراه را شرح دهیم. همانطور که می دانید لابیرنت یک بازی مبتنی بر تمرکز و حواس است به طوری که باید یک گوی فلزی را از یک سمت لابیرنت(نقطه شروع) به سمت دیگر آن(نقطه پایان) برسانیم. در صورتی که تمرکز خود را نتوانید کنترل یا جمع کنید با کوچکترین خطایی گوی فلزی به داخل حفره هایی که بر روی لابیرنت تعبیه شده است، می افتد و بازنده می شوید.
با انجام این پروژه شما می توانید از آنچه که یاد گرفته اید یا آموخته اید برای پیشرفت و کارهای دیگر از آن استفاده کنید پس بگذارید برای جلوگیری از اتلاف وقت هر چه سریعتر شروع به انجام پروژه کنیم.
لیست قطعات مورد نیاز
برد آردوینو Arduino UNO R3 مدل DIP | 1 عدد |
سروو موتور میکرو SG90 مدل 180 درجه | 1 عدد |
ماژول بلوتوث HC-06 با خروجی سریال و هدر بوردی | 1 عدد |
برد بورد (پروجکت برد) مدل GL | 1 عدد |
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی) | 1 عدد |
نحوه اتصال تجهیزات به برد آردوینو
1. سیم زرد سروموتور ۱ را به پین 5 دیجیتال آردوینو اتصال دهید.
2. سیم زرد سروموتور 2 را به پین 6 دیجیتال آردوینو متصل کنید.
3. سیم های قرمز هر دو سروموتور را به پین 5ولت آردوینو وصل نمائید.
4. سیم های قهوه ای یا مشکی هر دو سروموتور را به پین زمین یا GND آردوینو اتصال دهید.
5. در این مرحله پایه های VCC و GND ماژول بلوتوث را به ترتیب به پین زمین و 5ولت آردوینو متصل کنید.
6. پایه های TX و RX ماژول بلوتوث را به ترتیب به پین های TX0 و RX0 برد آردوینو وصل نمائید.
شماتیک زیر نحوه اتصال تجهیزات به برد آردوینو را به طور کامل نشان می دهد.
برنامه نویسی پروژه
قبل از برنامه نویسی باید نرم افزار app جهت پیدا و انتخاب کردن ماژول بلوتوث را دانلود و بر روی گوشی خود نصب کنید تا بتوانید از طریق این نرم افزار و تلفن همراه برد لابیرنت را کنترل نمائید.
دانلود نرم افزار ماژول بلوتوث Select Bluetooth module
بعد از اتصال قطعات به یکدیگر، کدهای زیر را در نرم افزار آردوینو کپی نموده سپس به برد آردوینو آپلود کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
#include <Servo.h> // Create two servo objects Servo myServoX,myServoY; //for two axixs int accX,accY; //Variable to store recieved value long int pos = 0; void setup() { //attach the servos at pin 5 and 6 of arduino myServoX.attach(5); myServoY.attach(6); //starting positions of the servos myServoY.write(130); myServoX.write(85); delay(500); Serial.setTimeout(5); Serial.begin(9600); } void loop() { if(Serial.available()>=0){ pos =Serial.parseInt(); //Since recieved int has two parts the last 3 digits is the cordinate for Y axis and the first 3 digits for X axis accY = (pos%1000); accX= (pos/1000); //Feeding the x axixs servo if(accX>0&&accX<190){ accX= map(accX,0,190,35,145); myServoX.write(accX); } //feeding the y axix servo if(accY>0&&accY<190){ accY= map(accY,0,190,70,180); myServoY.write(accY); } } } |
سلام میشه با یک سرو موتور راه اندازی کرد
سلام دوست عزیز
اگر هدفتان ساخت لابیرنت است باید دو سرو موتور داشته باشید، اما اگر تنها هدف شما کنترل سرو موتور با موبایل است می توانید با یک سرو موتور نیز مدار را آزمایش کنید.
سلام ببخشید با همین کد ها
سلام دوست عزیز
سوالتان را کامل مطرح کنید! منظورتان از این کد چیست؟
سلام،خسته نباشید.من هرکاری میکنم نمیتونم اپلیکیشن رودانلودکنم لطفاً راهنمایی بفرمایید.باتشکر
سلام دوست عزیز
لینک دانلود بررسی شد و مشکلی یافت نشد، در صورتیکه از ابزار تغییر آی پی استفاده می کنید آنرا غیر فعال کنید.
سلام.خسته نباشید.آیابه جای ماژولhc06میشه ازhc05استفاده کرد.ممنون که جواب میدین
با سلام و احترام
با توجه به عملکرد یکسان هر دو ماژول به احتمال بسیار زیاد بتوانید از ماژول hc06 استفاده کنید البته این موضوع از سمت ما به صورت عملی بر روی این پروژه تست نشده است و باید آنرا آزمایش کنید.