share awesome hardware AlphaBot 2 User Manual AlphaBot 2 User Manual August 2017 V1.
share awesome hardware AlphaBot 2 User Manual To the Reader Selection Guide Note: Accessories may be different in different product package. This manual describes all the compatible accessories but perhaps the product you bought doesn’t contain some of them.
share awesome hardware AlphaBot 2 User Manual Recommendation Reading this document can be a challenge for a freshman. We advise that the reader need to have some knowledge of the programming in Raspberry Pi Python or Arduino, which can be helpful for understanding the programming fundamentals. Due to space constraint, only a few of the programming fundamentals can be explored here. If you want to have a thorough understand of them, please check the source code.
share awesome hardware AlphaBot 2 User Manual Contents AlphaBot 2 User Manual 1 To the Reader 2 Selection Guide 2 Recommendation 3 Get details 3 Contents 4 What’s on board? 5 Introduction 5 AlphaBot2-Base 6 AlphaBot2-Ar 7 AlphaBot2-Pi 8 AlphaBot2-PiZero 9 Quick start 10 Arduino examples 10 Raspberry Pi examples 24 FAQ 52 Safety Precautions 55 Notice Please reserve the following information for future use.
share awesome hardware AlphaBot 2 User Manual What’s on board? Introduction AlphaBot2 robot kits includes a chassis (AlphaBot2-Base chassis) and an adapter board (one of the adapter boards AlphaBot2-Ar / AlphaBot2-Pi / AlphaBot2-PiZero). The robot supports Arduino / Raspberry Pi 3 Model B / Raspberry Pi Zero W with different adapter boards. It features rich common robot functions including line tracking, obstacle avoiding, Bluetooth / infrared / WiFi remote control, video monitoring, etc.
share awesome hardware AlphaBot 2 User Manual AlphaBot2-Base 1. AlphaBot2 control interface: for connecting sorts of controller adapter board 2. Ultrasonic module interface 3. Obstacle avoiding indicators 4. Omni-direction wheel 5. ST188: reflective infrared photoelectric sensor, for obstacle avoiding 6. ITR20001/T: reflective infrared photoelectric sensor, for line tracking 7. Potentiometer for adjusting obstacle avoiding range 8. TB6612FNG dual H-bridge motor driver 9. LM393 voltage comparator 10.
share awesome hardware AlphaBot 2 User Manual AlphaBot2-Ar 1. 2. 3. 4. 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 5. IR receiver 6. PC8574: I/O expander, SPI interface 7. Arduino peripheral jumpers 8. TLC1543: 10-bit AD acquisition chip 9. Buzzer 10. 0.
share awesome hardware AlphaBot 2 User Manual AlphaBot2-Pi 1. AlphaBot2 control interface: for connecting AlphaBot2-Base 2. Raspberry Pi interface: for connecting Raspberry Pi 3 Model B 3. Servo interface 4. USB TO UART: easy for controlling the Pi via UART 5. LM2596: 5V voltage regulator 6. TLC1543: 10-bit AD acquisition chip, allows the Pi to use analog sensors 7. PCA9685: servo controller, make it more smoothly to rotate the pan head 8. CP2102: USB TO UART converter 9. Joystick 10. IR receiver 11.
share awesome hardware AlphaBot 2 User Manual AlphaBot2-PiZero 1. AlphaBot2 control interface: for connecting AlphaBot2-Base 2. LM2596: 5V voltage regulator 3. Raspberry Pi interface: for connecting Raspberry Pi Zero/Zero W 4. IR receiver 5. Buzzer 6. FE1.1S: USB HUB chip 7. 12M crystal 8. USB TO UART: easy for controlling the Pi via UART 9. USB HUB interface: extends the USB port of Raspberry Pi Zero/Zero W 10. CP2102: USB TO UART converter 11.
share awesome hardware AlphaBot 2 User Manual Quick start We have provided the control programs for Arduino and Raspberry Pi, which can implement many functions, such as tracking, obstacle avoidance, remote control, video monitoring and so on. You can get the example programs described in the following sections from the website of Waveshare Wiki.
share awesome hardware AlphaBot 2 User Manual settings in the demos, like: 5-way Joystick 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.
share awesome hardware AlphaBot 2 User Manual 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.
share awesome hardware AlphaBot 2 User Manual 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.
share awesome hardware AlphaBot 2 User Manual 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.
share awesome hardware AlphaBot 2 User Manual 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.
share awesome hardware AlphaBot 2 User Manual 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. RGB LEDs 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. OLED Compile and download the program OLED.
share awesome hardware AlphaBot 2 User Manual 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 running mazes Compile and download the program MazeSolver.
share awesome hardware AlphaBot 2 User Manual 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.
share awesome hardware AlphaBot 2 User Manual 19
share awesome hardware AlphaBot 2 User Manual 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.
share awesome hardware AlphaBot 2 User Manual 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.
share awesome hardware AlphaBot 2 User Manual 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.
share awesome hardware AlphaBot 2 User Manual For more information about Dual-mode Bluetooth, please refer to the corresponding user manual Chinese user manual: http://www.waveshare.net/wiki/Dual-mode_Bluetooth English user manual: http://www.waveshare.com/wiki/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.
share awesome hardware AlphaBot 2 User Manual Raspberry Pi examples Extract the package AlphaBot2.tar.gz and place it to the directory of /home/pi under raspbian system. Before using this extension board, you should install the library python to your Raspberry Pi. In case that the example is unable to be performed after installing the library, you can try to apply the command chmod +x filename to grant the program the executable permission.
share awesome hardware AlphaBot 2 User Manual 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. 5-way joystick Enter the Linux terminal, and input the following commands: cd ~/AlphaBot2/python sudo python Joystick.
share awesome hardware AlphaBot 2 User Manual 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. (Note: The key encoding may change with different Infrared remote controller. You can modify the program as required.
share awesome hardware AlphaBot 2 User Manual Ultrasonic distance measurement (Raspberry Pi 3B kit does not contain ultrasonic unit) Enter the Linux terminal, and input the following commands: cd ~/AlphaBot2/python sudo python Infrared_Obstacle_Avoidance.py Expectation result: The robot goes straight when there is no obstacle detected by the sensor on the left, and turns right when obstacle is detected. RGB LED Copy the file rpi_ws281x-master.
share awesome hardware AlphaBot 2 User Manual Run the following command to perform the testing, you can see the RGB LED flickering. sudo ./test Enter the commands below to install the library python. cd python sudo python setup.py install Run the library python for testing, you can see the RGB LED flickering. cd examples sudo python lowlevel.py Now, the library has been installed. Enter the following commands under the terminal: cd ~/AlphaBot2/python sudo python ws2812.
share awesome hardware AlphaBot 2 User Manual Tracker sensor testing Enter the Linux terminal, and input the following commands: cd ~/AlphaBot2/python sudo python TRSensors.py Expectation result: You can see five set of data printed on the terminal, they are corresponding to five sensors. When the smart robot is placed on the white KT board, the data value will be in the range of 800~900. When it is held in the air, the value can be in the range of 0~100.
share awesome hardware AlphaBot 2 User Manual Expectation result::The servo will move to left and right, and its rotational range can reach 180 degree. mjpg-streamer software real-time monitoring "MJPG-streamer" takes JPGE from the web camera, and streams them over an IP-based network to various types of viewers.
share awesome hardware AlphaBot 2 User Manual The software mjpg-streamer in the program has been compiled. You only need to run the following lines to start up the mjpg-streamer: cd AlphaBot2/lib/mjpg-streamer sudo ./start.sh Then, open the browser, and enter the IP address of RPi and the port number: 8080 into the address bar. (Notices: the port number here is 8080, other than 8000 what we used before.) The website will show the information about the M-JPEG streamer.
share awesome hardware AlphaBot 2 User Manual Under the terminal, pressing the keys Ctrl + C can end the program. However, we recommend you to keep the program running, since we still need it in the following operations. Remote control via webiopi Webiopi is a web framework that can control GPIO of RPi.
share awesome hardware AlphaBot 2 User Manual http://webiopi.trouch.com/ However, this software is no longer to be updated after the version 0.7.1. The software here we provided is the improvement version, able to support Raspberry Pi 3B. To install the webiopi, you should open a new terminal, and keep the route described above running. cd AlphaBot2/lib/WebIOPi-0.7.1-raspi2 sudo ./setuo.sh Check if the library is installed successfully by running the line webiopi –h.
share awesome hardware AlphaBot 2 User Manual Then, open the browser on your PC or cell phone, and enter the IP address of RPi and the port number: 8000 into the address bar. For example, input http://192.168.1.16:8000 (the address can be changeable according to your actual condition). To login the website, you should enter your account and password. The default account name is webiopi, and the original password is raspberry.
share awesome hardware AlphaBot 2 User Manual Enter the directory of mjpg-AlphaBot, and modify the video source IP. cd ~/AlphaBot2/mjpg-AlphaBot/ sudo nano index.html Find out the link: http://192.168.10.235:8080/?action=stream In here, 192.168.10.235 is the IP address of RPi, and it can be changeable according to your actual condition. The port number should be set to 8080 (This port is used for transmitting stream).
share awesome hardware AlphaBot 2 User Manual Then, open the browser, and enter the IP address of RPi and the port number: 8000 into the address bar. (Notices: the port number here is 8000, other than 8080.) The image captured by the camera will be shown in the website. Clicking the direction icon on the website can control the action of the robot. ! If you cannot enter this webpage, we recommend you to use the Chrome browser or the Firefox browser.
share awesome hardware AlphaBot 2 User Manual sudo vi /etc/rc.local Add the commands following the comments. Please make sure the line exit 0 is the last line. And then, save the modification and exit. cd /home/pi/AlphaBot2/lib/mjpg-streamer sudo ./start.sh & Remote control via Bottle Bottle is a simple and effective micro python Web framework complying with WSGI. By Bottle, you can fast and easily implement Web control.
share awesome hardware AlphaBot 2 User Manual To implement web video control the smart robot by Bottle, you should modify the IP address for the video stream. cd ~/AlphaBot2/Web-Control vi index.html Find out the line below, and change the IP address to the actual RPI address and set the port to the stream port.
PAGE 39
share awesome hardware AlphaBot 2 User Manual you can see the following webpage. Clicking the direction icon on the website can control the action of the robot. You can set the program to be started up on boot. Open the file /etc/rc.local with your editor and add the following line into it. sudo vi /etc/rc.local Add the commands following the comments. Please make sure the line exit 0 is the last line. And then, save the modification and exit. cd /home/pi/AlphaBot2/lib/mjpg-streamer sudo ./start.
share awesome hardware AlphaBot 2 User Manual Since the Raspberry Pi uses dynamic IP which may change each time the device restart, you can add the following lines under the directory of /etc/dhcpcd.comf to set the static IP: interface wlan0 static ip_address = 192.168.1.114/24 static routers = 192.168.1.1 In here, “192.168.1.1” is the router IP address, and “192.168.1.114” is the IP address to be set, following which the“/24” should not be removed.
share awesome hardware AlphaBot 2 User Manual Click the button Viedeo Connet to connect to the video. When the connection is built up, the button will turn to green. Then, click the button Cmd Connect to connect to the smart robot sever. You will see the button turn to green, if the connection is successful. Now, you can control the action of the smart robot by pressing down the keys on the left, and control the camera and steer by the keys on the right.
share awesome hardware AlphaBot 2 User Manual Enter the actual IP address of RPi, and click the button Connect. Then, you can see the images captured by the camera. Next, click the button Connect under the image. When the control port has been connected to the program, this button will change from green to blue. Now, you can control the actions of the smart robot and the steer by pressing down the corresponding keys. By dragging the slider, you can change the speed of the robot. Open the file /etc/rc.
share awesome hardware AlphaBot 2 User Manual You should connect the Raspberry Pi to the router at every restart. Of course, you can enable the AP function of the RPi wireless network adapter, taking the RPi as sever. For more information about the operation, please refer to the Raspberry Pi tutorial. Remote control via RPi Bluetooth 1) Upgrade the relative packages of the Bluetooth, and install the depended-upon software.
share awesome hardware AlphaBot 2 User Manual After restarted the RPi, enter the command hciconfig (similar to the command ifconfig) to check the Bluetooth service. If the Bluetooth has been working, you will see the device hci0 displayed on the screen. When the Bluetooth does not work, no Bluetooth device can be identified. Note: If the line dtoverlay=pi3-miniuart-bt exists in the file /boot/config.txt, it should be commented out.
share awesome hardware AlphaBot 2 User Manual agent on After entered the interface, input the following lines (you can input the command help to check the command list after entered the interface). agent on default-agent Following the scan on, you can see the physical address of the scanned Bluetooth device, similar to XX:XX:XX:XX:XX:XX. For Bluetooth pairing, use the following command (In here, XX:XX:XX:XX:XX:XX can be replaced to your device address.
share awesome hardware AlphaBot 2 User Manual When pairing is successful, add the device to the trust list. trust XX:XX:XX:XX:XX:XX Next, connect to the device. connect XX:XX:XX:XX:XX:XX At last, enter the command quit to exit the interface. After the settings above, as the Bluetooth device is turned on, the Raspberry Pi will automatically connect to it.
share awesome hardware AlphaBot 2 User Manual enter the graphic interface to make the connection. Click the Bluetooth icon and add new device. Select the corresponding Bluetooth device. Please make sure the Bluetooth on the mobile phone should be enable and set to discoverable.
share awesome hardware AlphaBot 2 User Manual On the RPi, select the option OK for pairing. And at the same time, on the mobile phone, click the option Pair. Then, you may see the prompt saying that “Paired successfully, but this device has no services which can be used with Raspberry Pi.
share awesome hardware AlphaBot 2 User Manual 49
share awesome hardware AlphaBot 2 User Manual Now, the connection has been built up. Run the following commands to start the program: cd /AlphaBot2/Bluetooth-Control sudo rfcomm watch hci0 1 python bluetooth.py Then, scan the QR code below with your mobile phone, and download the relative APP. (This is the software for controlling the Dual-mode Bluetooth module. If you has installed this software in your Arduino mobile phone, you can skip this step) Start the APP, and click the option Scan.
share awesome hardware AlphaBot 2 User Manual If the Bluetooth of the Raspberry PI can not be searched, you can run the following lines to enable the Bluetooth and set it to discoverable.
share awesome hardware AlphaBot 2 User Manual FAQ Question 1: Comparing with AlphaBot, is there any improvement on AlphaBot2? Answer: AlphaBot2 has a smarter dimensions and more stable structure. Sensors are highly integrated in it. High-precision metal motor with low noise. TB6612FNG motor driver chip with high efficiency, smarter dimensions, and no heat produced, comparing with L298P. Increase more peripherals for debugging, such as keys, buzzer, RBG LED, USB converter and the likes.
share awesome hardware AlphaBot 2 User Manual lowest voltage should not be lower than 2.75V, or else the battery may be permanently damaged. This battery has a same dimensions with AA battery. But you should not use the AA battery to replace it, since the AA battery cannot provide enough voltage. Question 3: Why the smart robot cannot perform infrared obstacle avoidance? Answer: Firstly, you should check the whether the infrared detection module on the smart robot works properly.
share awesome hardware AlphaBot 2 User Manual Question 6: How to know if the battery has power? Answer: If there is low battery, the smart robot will move slowly. Normally, when the Raspberry Pi shuts down or become unable to connect, you should charge the battery. When the battery voltage is low, you should stop using the battery, or else it may be permanently damaged and cannot be applied any more. Question 7: Can other MCUs control the base board of the smart robot? Answer: Of course, they can.
share awesome hardware AlphaBot 2 User Manual Safety Precautions Notice Please reserve the following information for future use. Caution To prevent AlphaBot2, a precision device, from breaking down or being damaged, please follow the requirement listed below. The product employs two series 14500 batteries for power supply with input voltage of 7.4V. When working with Arduino and Raspberry Pi at a same time, the external power supply should be applied.
share awesome hardware AlphaBot 2 User Manual Protect the printed circuit board and the components on it from mechanical or electrical damages, in the course of any operations. Avoid touching the energized printed circuit board in the course of any operations. Touching the edge of the board is allowed, which can reduce the risk electrostatic discharge.