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

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

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

 

کنترل موتور DC به وسیله بلوتوث
کنترل موتور 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” رو بزنید.

 

منبع:  میکرودیزاینرالکترونیک

 

مطلب قبلیمفهوم نام‌گذاری میکروکنترلرهای کمپانی ST
مطلب بعدیآموزش پروتکل TCP/IP در LabVIEW (ارتباط با شبکه در لب ویو)

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید