Here is a very nice and interesting application of controlling a missile launcher model through a smartphone using an android Bluetooth application. The model of the missile launcher is built using two servo motors. One servo motor (azimuth motor) turns the missile launcher left and right while another servo motor (elevation motor) moves the missile launcher up and down. These two servo motors are controlled using an android Bluetooth application in a smartphone. The user presses buttons in the application to move missile launcher up / down or to turn left/right and the application will send commands through phone inbuilt Bluetooth. The project is built using Bluetooth module and Arduino NANO board that will receive commands from smartphones and rotates both servo motors to position missile launcher as per user commands.
The application demonstrates control of two servo motors using a smartphone with the help of Bluetooth module and Arduino NANO. It’s very simple, easy to build, but yet very interesting project. It requires only two to three components and few connections and that’s all!!!
So let’s start building the project. First let’s start with a schematic diagram, its connections and followed by its operation.
As shown in figure there are only 4 components in the circuit, one Bluetooth module HC-05, one Arduino NANO board, and 2 servo motors
- HC-05 has 4 pins for interface (1) Vcc (2) Gnd (3) Tx and (4) Rx. Its Vcc and Gnd pins are connected with Arduino board 5V and Gnd pins respectively. Other two pins Tx and Rx are connected with Rx (D1) and Tx (D0) pins of Arduino respectively
- Both servo motors have 3 wires for interface (1) Vcc (2) Gnd and (3) signal. Again it’s Vcc and Gnd pins are connected with Arduino board 5V and Gnd pins respectively
- Signal input of servo motor 1 is connected with PWM output pin D9 of Arduino board and signal input of servo motor 2 is connected with PWM output pin D10 of Arduino board
The circuit is energized by giving 5 V through USB or through an external 5 V power supply. When supply is given, both motor attains 0o and missile launcher points to its initial position.
Now to rotate missile launcher in azimuth (horizontal) direction or elevation (vertical) direction, one has to send commands from his smartphone using Bluetooth android application
- Firstly, one has to open the android application on their smartphone. This application will search and pair with HC05 module (for pairing the first time it is required to enter a Bluetooth passkey for HC05 module which is by default 1234)k
- Then, someone can send different commands from an application that is transmitted via a built-in Bluetooth phone
- Four different commands are set in the program to turn missile launcher clockwise, anticlockwise, move up and down
- Servo motor 2 is elevation motor. It moves missile launcher up and down by rotating motor CW or CCW. It moves missile launcher from 0o to maximum 45o
- When command is sent from phone, it is received by HC-05 module. The module gives this command to Arduino microcontroller through serial communication
- Arduino microcontroller gets this command and compares it with all 4 set commands. As per match found, it will rotate servo motor 1 or servo motor 2 either CW or CCW and move missile launcher up / down or turn it CW or CCW
This working and operation of the circuit is as per the program embedded into the Arduino NANO microcontroller ATMega328. So let us see the software program for this systemServo motor 1 is azimuth motor. It turns missile launcher LEFT or RIGHT by rotating motor CW or CCW. It can rotate missile launcher from 0o to maximum 180o.
The program is written in C / C++ language using Arduino IDE software tool. It is also compiled and downloaded into the internal memory (FLASH) of the ATMega328 microcontroller using this same software. Here is the program code.