- 1 Introduction
- 2 What’s on board?
- 3 Quick start
- 3.1 Motor testing
- 3.2 5-way Joystick
- 3.3 Infrared remote control
- 3.4 Infrared obstacle avoidance
- 3.5 Ultrasonic distance measurement
- 3.6 Ultrasonic obstacle avoidance
- 3.7 Ultrasonic infrared obstacle avoidance
- 3.8 Tracker sensor testing
- 3.9 Infrared line tracking
- 3.10 RGB LEDs
- 3.11 OLED
- 3.12 Comprehensive program
- 3.13 Smart robot mazes running
- 3.14 Bluetooth control smart robot
- 4 Resources
- 5 Support
AlphaBot2 robot building kit for Arduino
What’s on board?
AlphaBot2-Ar robot kits includes a chassis (AlphaBot2-Base chassis) and an adapter board AlphaBot2-Ar. The robot supports Arduino with AlphaBot2-Ar adapter board.
Thanks to the highly integrated modular design, it is fairly easy to assemble by a snap, no soldering, no wiring. After a few minutes spent on hardware assembling, you're almost there, our open source demo codes is ready to help you get started fast.
Accessories may be different in different product package. This page describes the compatible accessories for Arduino UNO board.
- Ultrasonic module interface
- AlphaBot2 control interface: for connecting sorts of controller adapter board
- Obstacle avoiding indicators
- Omni-direction wheel
- ST188: reflective infrared photoelectric sensor, for obstacle avoiding
- ITR20001/T: reflective infrared photoelectric sensor, for line tracking
- Potentiometer for adjusting obstacle avoiding range
- TB6612FNG dual H-bridge motor driver
- LM393 voltage comparator
- N20 micro gear motor reduction rate 1:30, 6V/600RPM
- Rubber wheels diameter 42mm, width 19mm
- Power switch
- Battery holder: supports 14500 batteries
- WS2812B: true color RGB LEDs
- Power indicator
- AlphaBot2 control interface: for connecting AlphaBot2-Base
- Arduino expansion header: for connecting Arduino shields
- Arduino interface: for connecting Arduino compatible controller
- Xbee connector: for connecting dual-mode Bluetooth module, remotely control the robot via Bluetooth
- IR receiver
- PC8574: I/O expander, SPI interface
- Arduino peripheral jumpers
- TLC1543: 10-bit AD acquisition chip
- 0.96inch OLED SSD1306 driver, 128x64 resolution
We have provided the control programs for Arduino, which can implement many functions, such as tracking, obstacle avoidance, remote control and so on.
You can get the example programs described in the following sections from File:AlphaBot2-Demo.7z. To apply these examples to your application, you need to copy the file libraries under the directory of Arduino into the folder libraries under the installation directory of Arduino IDE. Then, restart the Ariduino IDE, and click File-> Example to see if there is an option TRSensors. If yes, it means the libraries are imported successfully.
Compile and download the program Run-Test. Normally, the smart robot moves forward when the program runs and drives the motor to rotate. In case that the direction of motion is wrong, you may need to modify the motor wring or change the pin settings in your program. We recommend the latter one. If left wheels of the robot run in a wrong direction, you should exchange the settings of AIN1 and AIN2. For right wheels, exchange the settings of BIN1 and BIN2.
In the event that all the wheels run in a wrong direction, you should modify the settings in the demos, like:
Compile and download the program Joystick. This Joystick has 5 control directions: Up, Down, Left, Right and Center (Enter). Open the serial monitor, and set the baud rate to 115200. Then, the monitor displays the current key press. When there is a key pressed down, the buzzer sounds and the motor rotates in the direction according to the key. If the wheel(s) runs in the wrong direction, you should modify the settings of the corresponding pins.
Infrared remote control
Compile and download the program IR. You can control the smart robot by pressing down the numeric keys on the infrared remote controller, in which, “2”is for go forwards, “8” for go backwards, “4” for turn left, “6” for turn right, and “5” for stop. Keys “-“ and “+” can adjust the speed of the robot, and “EQ” can restore the default setting of the speed.
The key encoding may change with different Infrared remote controller. You can modify the program as required.
Infrared obstacle avoidance
Compile and download the program Infrared-Obstacle-Avoidance. When there is no obstacle ahead of the robot, the green LEDs on the robot are off. When the obstacle is detected, the green LEDs will light up. In case that the LEDs are always off or always on, you can try to adjusted the potentiometers on the bottom of the robot to make the LEDs work properly.
In this example, the robot goes straight when there is no obstacle, and turns right when obstacle is detected.
Ultrasonic distance measurement
Compile and download the program Ultrasonic_Ranging. Open the serial monitor, and set the baud rate to 115200. Then, the monitor displays the current measured distance.
Ultrasonic obstacle avoidance
Compile and download the program Ultrasonic-Obstacle-Avoidance. In this example, the robot goes straight when there is no obstacle, and turns right when obstacle is detected. Since the ultrasonic can be reflected, if the obstacle is not in the front of the robot, but is at an angle with the robot, the distance measured between the robot and the obstacle may be inaccurate.
Ultrasonic infrared obstacle avoidance
Compile and download the program Ultrasonic-Infrared-Obstacle-Avoidance. In this example, the robot goes straight when there is no obstacle, and turns right when obstacle is detected.
Tracker sensor testing
Import the library TRSensors to the file libraries under the installation directory of Arduino IDE. Then, click File -> Example -> TRSensors ->TRSensorExample to open the project. Compile and download the program to the development board Arduino.
The tracker sensor can detect the black line in the background color of white. You can choose a black adhesive tape with 15cm width, and paste it to a white KT board to create the smart robot tracking line scenario. The dark background color will reduce the capability of the smart robot on the tracking line.
Open the serial monitor, and set the baud rate to 115200. When the monitor displays the characters “TRSensor example”, you should hold the robot in the middle of the black line and close to the ground, then swing the robot from side to side. Then, the smart robot goes into the calibration mode, identifying the Max. and the Min. threshed of each sensor. Calibration can have a direct influence to the tracking line capability of the robot.
After the calibration, the monitor shows the Max. and the Min. threshed of each sensor. And then, the measured values of sensors are displayed as well. The larger value means the deeper color. The last column of values indicate the position of the black line, in which “2000” means the black line is in the middle of the robot, “0” means the black line is on the leftmost side of the robot, and “4000” means the black line is on the rightmost side of the robot.
When this program runs well, the line tracking sensor works properly. Or else, the sensor cannot perform line tracking.
Infrared line tracking
Compile and download the program Infrared-Line-Tracking. Turn on the power adapter, and hold the robot in the middle of the black line and close to the ground, then swing the robot from side to side. The smart robot goes into the calibration mode, identifying the Max. and the Min. threshed of each sensor. Calibration can have a direct influence to the tracking line capability of the robot. When the wheels of the robot begin to move, you can release the robot and it will run along with the black line.
Compile and download the program W2812. There are 4 RGBn LEDs (red, green, blue and yellow, respectively) on the bottom of the robot.
To run this program, you should import the corresponding library to Arduino IDE.
Compile and download the program OLED. The example program demonstrates the basic functions of character display and drawing operation, including drawing line, cycle, rectangle box and the likes. To run this program, you should import the corresponding library to Arduino IDE.
Compile and download the program Line-Tracking. Turned on the power adapter, you can see the OLED display the characters “AlphaBot2”. Then, place the robot on the black line and press down the key. Now, the smart robot goes into the calibration mode, moving to left and then right. And the RGB LED is in green. When the calibration finished, the RGB LED is in blue. OLED shows the information as the figure below on the right, in which “**”indicates the current position of the black line. When the smart robot moves to left or right, this symbol will be moved along. Pressing down the key again, the smart robot runs along with the black line, and the RGB LED shows different colors. When there is an obstacle detected, the smart robot stops and the buzzer sounds. When the obstacle disappears, the smart robot continue to run. If you take up the robot, it will stop as well. Then, place it on the black line, it will run again.
Smart robot mazes running
Compile and download the program MazeSolver. Turned on the power adapter, you can see the OLED display the characters “AlphaBot2”. Then, place the robot on the black line and press down the key. Now, the smart robot goes into the calibration mode, moving to left and then right. And the RGB LED is in green. When the calibration finished, the RGB LED is in blue. OLED shows the information as the figure below on the right, in which “**”indicates the current position of the black line. When the smart robot moves to left or right, this symbol will be moved along. If the smart robot comes across the right angle, it will take a turn and look for the end automatically. The smart robot stops when it arrives the end. Now, put the smart robot to the start again, and press down the key, you will find that the smart robot runs to the end along with the shortest route.
Here are some requirements in making the maze: the corner should be a right angle, and the maze should not has any loop.
About the program: when the smart robot detects any corner, it will slow down and detects if there is a corner once again. As the difference at motor and operation voltage in used, the smart robot may be unable to identify the corner. In this case, you can modify the speed setting and delay time in the program. Further, when the smart robot has to turn a corner, it need to increase delay time to judge the degree of the angle. Therefore, if there is any problem in turning a corner, you can modify the speed setting and delay time in the program as well.
Bluetooth control smart robot
Compile and download the program Bluetooth. You should remove the Bluetooth module from the smart robot before downloading, or else the program cannot be loaded. When finished, you should insert the Bluetooth module to the smart robot again.
Then, scan the QR code below with your mobile phone, and download the relative APP according to your mobile phone OS. For iOS, Bluetooth BLE is applied to communicate with the module, and iphone4S or above is required. For Android, Bluetooth EDR is applied.
Startup the APP, and click the option “Scan” (Note: Turn on the Bluetooth on your mobile phone). Then, insert the Bluetooth module to the smart robot. After a few second, you can find the corresponding Bluetooth device in the list. For iOS, select “Waveshare_BLE” device. For Android, select “Waveshare_ERD” device. Then, enter the next page, and choose “remote control mode”.
Note: If your Android mobile phone support Bluetooth BLE as well, it will scan two devices. At this moment, please select the device with the MAC address of 00:0E:0E.
Select “Remote control mode”, and click the option Settings to configure the commands according to the program. When there is key pressed down, it will trigger corresponding command. And when the key is released and bound up, it will trigger the “Stop” command.
When the color of the speed button changes from gray to black, it means the program has been linked. Now, pressing down the key, you can control the smart robot. At a meanwhile, the RGB LED display different colors. For more information about Dual-mode Bluetooth, please refer to the corresponding page: Dual-mode_Bluetooth
Bluetooth control smart robot (JSON formatted command)
Remove the Bluetooth module, then, compile and download the program Bluetooth-json. Next, startup the APP, and insert the Bluetooth module to the robot. Then, select the option “Remote control mode” to control the robot, and choose the option “Peripheral control” to control the buzzer to sound and RGD LED to display different colors. (RGD LED may be unavailable in other robot. So you may not control it on other robot.)
- PuTTY for serial debugging
- SecureCRT for serial debugging
- Bluetooth Apps: iOS, Android
- Windows Qt client
- WiFi video console for Android