This is my second version of my arduino robot after “Build your first robot”. My Second version is slightly complicated as compared to my first one but offers better features. In this instructable I’m going to show you how to build a fast robot which can measure temperature, find things in front of it, stream videos and a lot more. With a pair of 1000RPM motors this robot can go very fast and this version uses WIFI to give a better range. This robot has two sensors on board, a ultrasonic distance sensor and a temperature sensor. The android mobile gives it additional senors to work with further more it also gives a live video stream.
The main purpose of this inscrutable is-
- Because I like posting here
- To win the sensor contest because the prizes will help me with further projects.
What upgrades have I done?
Well this is bigger than my previous version its controlled over Bluetooth but can also be switched to WIFI. This version uses 1000RPM, while my previous version uses 150RPM. With a 1000RPM my robot is capable of going over almost all terrain easily.
Now you can also voice control your robot, refer step 11.
Step 1: Tools and Components
Let’s start with gathering is all the parts. You may want to go step-wise or you will end up running all around when you start your build.
- 1x Arduino Uno R3 (or similar board)
- 1x Ultrasonic ranging module or (link)
- 1x Temperature sensor (lM35)
- 1x Bluetooth Module (HC05)
- 1x PCB
- 4x Li-ion Batery (3.7V) or (1x 12V)
- 1x L298 IC or Motor Bridge
- 4x Wheels
- 1x Switch
- Clamps, wires, screws, etc
- Soldering iron
Step 2: Motor Driver (H-Bridge)
This version also uses the same H-Bridge as the previous version. You could use an H-Bridge shield instead of this, but this a cheaper alternative and works as same as the shield. This H-Bridge uses L298 IC to control the circuit.
For motor driver L298, refer the image and connect the pins as mentioned bellow.
2—-Pin 1 of Left Side Motors
3—-Pin 2 for Left Side Motors
4—- +12v battery
5—- Arduino Pin 2
6—- Arduino Pin 3
7—- Arduino Pin 4
9—- +5v from Arduino
10—- Arduino Pin 5
11—- Arduino Pin 6
12—- Arduino Pin 7
13—- Pin 1 of Right Side Motors
14—- Pin 2 of Right Side Motors
You could also etch a PCB if you don’t want to build the circuit. I used Firtzing to build the circuit and the PCB layout, you could download the project in the attachment to modify the circuit. To the power the motors I used 4x 3.7V Li-ion batteries in series, this gives us power for both the arduino and the motors. I got the batteries from an old laptop battery pack it had 8 batteries in it.
If you mess up with the wiring the IC would get really hot. So if you have a hot IC turn off the power and check for your connections and maybe go with the PCB etching instead. If you plan to use low power motors then use l293.
Step 3: Ultrasonic module
For the ultrasonic range module I used HC-SR04 as it is easy to find and I had it available at my house from my previous robot. The module has a maximum distance of 4m. The readings are quite precise and it has its own library. You can find the library here. Try the examples first if you are new to this. The examples are included in the library.
Connect the module-
HC-SR04 VCC pin to the Arduino
5v HC-SR04 GND pin to the Arduino GND
HC-SR04 TRG pin to the Arduino Digital pin
HC-12SR04 ECHO pin to the Arduino Digital pin 11.
Step 4: Body
I assembled this robot on a plywood board, which I got a local hardware store. I also used clamps and shafts to hold the wheels and motors in place (also found at the local hardware store). The red coloured part just below the front heel is the Li-ion pack, I will describe about it later in the instructable. The body was not hard to assemble all you have to do is align the wheels with the board or you would have the robot going in different directions.
Step 5: Temperature Sensor
Time for the temperature sensor this is quite easy to build.
Connect the LM35 as (refer to the image for pin configuration)-
+vs to arduino 5v
Vout to arduino analog pin 0
Gnd to arduino ground
LM35 gives us an analog signal as a output so we need to convert it to digital. Which is done in the code. To check the IC (if you’r doing this for the first time) use the code at the end of this step.
int tempPin = 0;
temp = analogRead(tempPin);
temp = temp * 0.48828125;
Serial.print(“TEMPRATURE = “);
Step 6: Bluetooth
For the Bluetooth module I used HC05 which is the cheapest module I could find (on EBay). The only thing with this board is that you need to create a voltage divider as the arduino gives 5V output in its Tx pin while the HC05 accepts only 3.3 so a voltage divider is required to prevent the burning out of the board.
If you want to make it simple you could buy thismodule instead which does not require any voltage divider.
Step 7: IP Camera app
For this step you could use any IP camera, but I used an android phone instead because I can add on the features of any smartphone on to my robot.
To get the app
- Visit android Play Store
- And Download the app named “IP Camera Android“
- After installing the app start a server