Arduino - Control DC Motor via Bluetooth
Hi guys,
In this
project we will control a DC motor with a smartphone via bluetooth. This
project is great to learn more about:
-DC motor
-Interfacing
Arduino with your smartphone
-Bluetooth
module
-L293D
Step 1: Parts
required
1x Arduino
Uno
1x Bluetooth
Module (for example: HC-05)
1x
Smartphone (any Android will work)
BlueTerm
application
1x L293D IC
1x DC motor
1x
Breadboard
Jumper
Cables
Step 2:
Schematics and common mistakes
/*
* Control DC motor with Smartphone via bluetooth
* 2013
*/
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;
}
}
}
For the
android communication with our bluetooth module I’ve used the BlueTerm app, It’s completely free, so you just need
to go to “Play store” and download it. Then you just need to connect your
smarthphone with the bluetooth module. Remember to remove the TX and RX cables.
(you can see in youtube video below how that’s done).
Step 4: Final
Product
I’ve only set 3 commands to control
the DC motor:
’0′ – Turns off the DC motor
’1′ – DC motor rotates to right
’2′ – DC motor rotates to left
You can also read
the article here : http://www.instructables.com/id/Arduino-Control-DC-Motor-via-Bluetooth/