Introduction: Arduino Based 4WD Bluetooth Microbot
This microbot is inspired by Arduino-Nano-based-Microbot. Instead of using 2 servos, this robot is powered by 4, eliminating the need for tracks.
The micro controller I use is Bluno Beetle, which is a tiny Arduino based controller with builtin BT 4.0. Though on the specification its working voltage is 5V, I found that it also works at 3.7V if it is connected to the 5V pin (not VIN).
I got my Bluno Beetle from an Insectbot Kit, and it comes with a shield that allows me to plug servo plugs right in. If you don't have one, you can use a mini breadboard.
You'll need:
- Bluno Beetle
- 4x continuous micro servos
- 4x wheels
- 3M Double Sided Adhesive Sticky Pad Tape
- Beetle shield or a mini breadboard
- A small 3.7V LiPo battery with JST connector
- (Optional) JST connector for charging the battery
- (Optional) A small switch if you use a breadboard
Step 1: Construct the Body
Use the 3M double sided foam tape to stick 4 servos and the battery together. A small box will help you align the servos. (In my case a Raspberry Pi case)
Stick the wheels on to the servos. Depending on your wheel shape size, you may need to cut the tape into proper shape.
Stick the micro controller or mini breadboard on the top of the battery.
Step 2: Connect the Wires
Connect the power and ground of servos and the micro controller to the battery. A JST plug is handy if you need to charge the battery.
Connect servo pulse pin to digital pin 2, 3, 4, 5 on Bluno Beetle. If you use a breadboard, connect the servos as the figure shown above.
Never mind if you can't remember the order of the pins (me neither), we can change it later in the code.
Step 3: Debug the Servos
Notice: Disconnect the 3.7V battery before plugging in USB cable!
Test if the servos work properly:
#include <Servo.h>
Servo servo;
void setup(){
servo.attach(2);
servo.write(90);
}
void loop (){
}
Try different values and find a value at which the servo stops for your servos. Also find proper values for the wheel to move forward and backward.
Step 4: Add Remote Control
The next step is to add remote control. I'm going to use an existing app called GoBLE.
Download GoBLE library and install the library in your Arduino folder. Also install Metro library with Arduino Library Manager.
You can download the complete code below:
https://gist.github.com/clowwindy/e8117e5efb81cdcf1451
Notice if the USB cable is connected, the bluetooth serial probably works at 9600, but if you disconnect the USB cable and use the battery power, the baudrate may become 115200. To fix this problem, you will need to use different baudrate for USB power and battery power.
Step 5: You're Done!
Powered by micro servos, this little robot is capable of carrying more stuff.
Since there're 4 analog pins, you can also add IR sensors. By connecting 2 servos on the same side to the same digital pin, you can also save 2 digital pins for ultrasonic sensors.
You probably noticed that the chassis of the robot is about the same size of a Raspberry Pi. Why not build a Raspberry Pi with wheels? (The above photo gives you an idea how it will be like, but you can actually build it.)
My next goal is to make this robot smaller and connected to the Internet with the ESP8266 module.