کنترل موتور DC به وسیله بلوتوث

امروز تو این آموزش یاد می‌گیرین چطوری با موبایل خودتون از طریق بلوتوث یک موتور DC رو کنترل کنید. این پروژه از جهات زیادی حائز اهمیت هستش؛ چون تو این پروژه ابتدا با اساس کار موتور های DC و تراشه L293D که درایور موتور هستش، آشنا میشید. بعد از اون کار با ماژول‌های بلوتوث رو یاد می‌گیرید و در آخر ایجاد ارتباط بین آردوینو با گوشی همراهتون.
اگه نمیخواین از L293D استفاده کنید میتونین از پل H بجاش بهره ببرین ولی توصیه من اینه که از این IC استفاده کنید تا هم حجم مدار کمتر بشه و با بورد ساده تری مواجه باشیم و همچنین با دیتاشیت این IC بیشتر آشنا بشید.

کنترل موتور DC به وسیله بلوتوث

قطعاتی که باید تهیه کنید عبارتند از:

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” رو بزنید.

مطلب پیشنهادی:  فارسی نویسی در tft lcd های موجود در بازار

مطلب مرتبط: آموزش برنامه نویسی اپلیکیشن کنترل با بلوتوث اندروید (به زبان خیلی ساده)

دیگر جلسات این آموزش

مطلب پیشنهادی:  پروژه تشخیص آلودگی هوا

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

4 دیدگاه

  1. سلام من میخوام با دوتا موتور کنترل کنم باید چیکارکنم؟

    • سلام ، خیلی ساده میایید و یک موتور دیگر به به مدار اضافه میکنید. این آیسی قابلیت کنترل دوتا موتور را داره. فقط میمونه برنامه نویسی شما که میتونید با دقت در برنامه بالا اونم خودتان کپی ، تغییر و اضافه کنید.

  2. قطعات مورد نیازو میشه فارسی بنویسین؟؟

    • برد آردویو مدل Uno
      ماژول بلوتوث ( برای مثال HC05 یا HC06 )
      موبایل یا تبلت اندرویدی بلوتوث دار
      اپلیکیشن بلوتوث مثلا ( BlueTerm )
      آیسی درایور موتور L293D
      موتور DC کوچک
      برد بورد
      کابل بردبردی یا سیم برای سیم کشی روی برد برد