Table of Contents
We will briefly described Altera's (Intel FPGA and SoC) embedded in Terasic's Development and Education (DE) series Field Programmable Gate Array board DE10-Nano
to understand the basics of this Self Balancing Robot Project.
Front view of the robot
Back view of the robot
Bird's-eye view of the robot
Prepare the MicroSD card and download the package of the demonstration from:
Insert the MicroSD card
Set the slide switches
Robot stays in balance mode
To adjust the brightness of the target, please follow the steps below:
Place the ball at the center of D8M’s angle of view – the ball should be placed
approximately 40 cm in front of the robot, as shown in Figure 12 and Figure 13.
Figure 12 Side view for placing the ball
Figure 13 Overhead view for placing the ball.
When pressing KEY2, the LED [3:0] will light on. The robot is ready for brightness
adjustment. After three seconds, when LED [3:0] turns off, the robot starts to adjust the
brightness automatically (please keep the ball static). When LED [3:0] light is on again, it means
the brightness adjustment is completed. Figure 14 and Figure 15 display the LED [3:0] status.
Figure 14 Before pressing the KEY2
Figure 15 After pressing the KEY2
Set the SW3 to “0”, as shown in Figure 16, to set the robot to the ball following mode.
Figure 16 Set the SW3 to “0”
Now you can move the ball and the robot will start to follow it.
2nd control option
The robot can also be remotely controlled by a Smartphone APP.
This section describes how to control the robot by this Bal Car APP.
Users can download and install the Smartphone APP (only support for
Android OS phone) by copying the link below:
After the installation is completed, the APP icon is shown as
Bal Car APP icon
Power on the robot, set SW0~3 of the DE10-Nano to Down position, as shown in Figure below:
Set SW0~3 to Down position
Turn on phone Bluetooth switch, scan for available devices, normally the robot Bluetooth device
name begins with "30", as shown below:
Scan for robot Bluetooth device
Click the "30:..."available device to pair the robot, after they are paired successfully, the phone will
show the actual name of the Bluetooth device, such as "Terasic Bal-Car 011", as shown below:
Bluetooth device paired
Run the robot APP, click the search icon on the upper right corner of the APP GUI, as shown below:
Click the search icon on the APP GUI
When the actual robot device name appears, select it as the device to connect, as shown below:
Connect to robot Bluetooth device
After connecting to the robot successfully, it will display connection status "connected to Terasic
Bal-Car ..." at the top left corner of the APP, as shown below:
connected to the robot successfully
Now users can click the yellow direction keys, STOP key and DEMO key to control the robot, the
next Figure shows the direction keys functions:
Forward → robot moves forward (Ensure the ultrasonic module is installed)
Backward → robot moves backward
Turn left → robot turns left
Turn right → robot turns right
STOP → robot stops moving
DEMO mode → when clicking the DEMO button, the robot will perform the
scheduled action. After finishing the action, it will exit the DEMO mode
automatically; if you click DEMO button again or click Stop button during
DEMO mode, the robot will exit the DEMO mode automatically and keep
balance where it is; if you click Forward/Backward/Left/Right button during
the DEMO mode, the robot will exit the DEMO mode immediately and perform
the action according to the button.
Now you are enabled to play with the Self Balancing Robot: P0509-KIT-ND
on your own.
If you want to have a closer look in the code itself, here are the links:
You can switch on your own if the Balancing algorithm is run within the
FPGA as software solution or within the ARM core as faster hardware