امروز تو این آموزش یاد میگیرین چطوری با موبایل خودتون از طریق بلوتوث یک موتور DC رو کنترل کنید. این پروژه از جهات زیادی حائز اهمیت هستش؛ چون تو این پروژه ابتدا با اساس کار موتور های DC و تراشه L293D که درایور موتور هستش، آشنا میشید. بعد از اون کار با ماژولهای بلوتوث رو یاد میگیرید و در آخر ایجاد ارتباط بین آردوینو با گوشی همراهتون. اگه نمیخواین از L293D استفاده کنید میتونین از پل H بجاش بهره ببرین ولی توصیه من اینه که از این IC استفاده کنید تا هم حجم مدار کمتر بشه و با بورد ساده تری مواجه باشیم و همچنین با دیتاشیت این IC بیشتر آشنا بشید.
قطعاتی که باید تهیه کنید عبارتند از:
Arduino Uno Bluetooth Module ( for example: HC-05 or 06 ) Smartphone (any Android will work) BlueTerm application L293D IC DC motor Breadboard Jumper Cables
دقت کنید که قبل اینکه کد رو روی آردوینوی خودتون آپلود کنید حتما اتصالات RX و TX بوردتون رو قطع کنید چون تو مرحله آپلود مشکل ایجاد می کنه و اجازه پروگرام شدن رو به آردوینو نمیده. بعد آپلود کد هم دقت کنید که tx و rx رو درست وصل کنید. اینجا پین tx ماژول بلوتوث باید به پین rx آردوینو وصل بشه و پین rx ماژول بلوتوث هم به پین tx آردوینو!
int motorPin1 = 3; // pin 2 on L293D IC int motorPin2 = 4; // pin 7 on L293D IC int enablePin = 5; // pin 1 on L293D IC int state; int flag=0; //makes sure that the serial only prints once the state void setup() { // sets the pins as outputs: pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT); pinMode(enablePin, OUTPUT); // sets enablePin high so that motor can turn on: digitalWrite(enablePin, HIGH); // initialize serial communication at 9600 bits per second: Serial.begin(9600); } void loop() { //if some date is sent, reads it and saves in state if(Serial.available() > 0){ state = Serial.read(); flag=0; } // if the state is '0' the DC motor will turn off if (state == '0') { digitalWrite(motorPin1, LOW); // set pin 2 on L293D low digitalWrite(motorPin2, LOW); // set pin 7 on L293D low if(flag == 0){ Serial.println("Motor: off"); flag=1; } } // if the state is '1' the motor will turn right else if (state == '1') { digitalWrite(motorPin1, LOW); // set pin 2 on L293D low digitalWrite(motorPin2, HIGH); // set pin 7 on L293D high if(flag == 0){ Serial.println("Motor: right"); flag=1; } } // if the state is '2' the motor will turn left else if (state == '2') { digitalWrite(motorPin1, HIGH); // set pin 2 on L293D high digitalWrite(motorPin2, LOW); // set pin 7 on L293D low if(flag == 0){ Serial.println("Motor: left"); flag=1; } } }
برای ارتباط بین تلفن همراه و ماژول بلوتوث از برنامه BlueTerm استفاده می کنیم. قابل ذکر هستش که این برنامه کاملا رایگانه و میتونین از استور اندرویید دانلود کنید. بعدش فقط لازمه که از طریق بلوتوث گوشیتون به ماژول بلوتوث وصل بشید. ما اینجا فقط سه تا دستور برای کنترل موتور DCمون داریم:
'0' - Turns off the DC motor '1' - DC motor rotates to right '2' - DC motor rotates to left
نکته: اگه ماژول بلوتوث HC-05 رمزی برای اجازه دسترسی درخواست کرد “1234” رو بزنید.
مطلب مرتبط: آموزش برنامه نویسی اپلیکیشن کنترل با بلوتوث اندروید (به زبان خیلی ساده)
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.
سلام من میخوام با دوتا موتور کنترل کنم باید چیکارکنم؟
سلام ، خیلی ساده میایید و یک موتور دیگر به به مدار اضافه میکنید. این آیسی قابلیت کنترل دوتا موتور را داره. فقط میمونه برنامه نویسی شما که میتونید با دقت در برنامه بالا اونم خودتان کپی ، تغییر و اضافه کنید.
قطعات مورد نیازو میشه فارسی بنویسین؟؟
برد آردویو مدل Uno
ماژول بلوتوث ( برای مثال HC05 یا HC06 )
موبایل یا تبلت اندرویدی بلوتوث دار
اپلیکیشن بلوتوث مثلا ( BlueTerm )
آیسی درایور موتور L293D
موتور DC کوچک
برد بورد
کابل بردبردی یا سیم برای سیم کشی روی برد برد
متشکر از اینهمه لزف و اطلاعات که بدون چشم داشتی دراختیار دوستان قرار میدهید
بامید موفقیت در ساخت ایرانی جوان و اباد
چگونه به عقب می گردد
سلام، در آخر نوشته در مورد کدهای راست گرد و چپ گرد و همچنین توقف نوشته شده. کدهای ۰ ۱ ۲ را تست کنید.
سلام من میخام با بلوتوث ماژولesp32 و نرم افزار اردینو سرعت موتورdc رو کنترل کنم باید چکار کنم
قطعات مورد نیاز رو دارم کامل
سلام پروزه سرراست فعل حاضر در سایت نداریم ولی لینک های زیر را ببنید شاید کمکتون کنن و بزودی یک پروژه منتشر میکنیم براتون:
آموزش آردوینو
شروع کار با آردوینو برای افراد مبتدی
راه اندازی ماژول ESP8266
سلام
اگه بخواهیم یک موتور دیگه به مدار وصل کنیم. اون رو باید به پایه چند آی سی وصل کنیم چون پایه ۳ و ۶ خوروجی یا output هستش که برای اتصال دو موتور هست ولی اینجا هر دو پین خروجی رو به یک موتور وصل کردین.!
پایه های ۱۱ و ۱۴ هم خروجی هستند که در پروژه ازشون استفاده نشده
سلام تشکر از آموزش مفیدتون.
هربار که بلوتوث قطع و وصل میشه (مثلا اردوینو یا گوشی زو خاموش کنیم) از اول مراحل اتصال بلوتوث رو باید انجام بدیم؟
سلام خسته نباشید.برنامه ای که باید بریزیم فقط اون سه خط خاموش کردن و چپ و راست کردن هست یا اون چند خط بالا هم هست؟