Tutorial For V3
Tutorial For V3
Please check the version of the control board included in the product you purchased first!
Note: Different versions of the control board use different types of batteries.
However, their functions are the same and they use the same code.
If it is marked with V3, please buy battery according to “AboutBattery_for_V3.pdf” and assemble the robot
according to this document.
Marked V3
Marked V2
or unmarked
Welcome
Thank you for choosing Freenove products!
! Please prepare the right batteries and fully charge them before assembling.
(See “AboutBattery_for_V3.pdf”)
How to Start
When reading this, you should have downloaded the ZIP file for this product.
Unzip it and you will get a folder containing tutorials and related files. Please start with this PDF tutorial.
! Unzip the ZIP file instead of opening the file in the ZIP file directly.
! Do not move, delete or rename files in the folder just unzipped.
Get Support
When there are packaging damage, quality problems, questions encountering in use, etc., just send us an
email. We will reply to you within one working day and provide a solution.
support@freenove.com
Attention
This product is not suitable for children under 12 years of age because of small parts and sharp parts.
Minors should use this product under the supervision and guidance of adults.
This product contains small and sharp parts. Do not swallow, prick and scratch to avoid injury.
This product contains conductive parts. Do not hold them to touch power supply and other circuits.
To avoid personal injury, do not touch parts rotating or moving while working.
The wrong operation may cause overheat. Do not touch and disconnect the power supply immediately.
Operate in accordance with the requirements of the tutorial. Fail to do so may damage the parts.
Store this product in a dry and dark environment. Keep away from children.
Turn off the power of the circuit before leaving.
About
Freenove is committed to helping customers learn programming and electronic knowledge, quickly
implement product prototypes, realize their creativity and launch innovative products. Our services include:
To learn more about us or get our latest information, please visit our website:
http://www.freenove.com
Copyright
All the files provided in the ZIP file are released under Creative Commons Attribution-NonCommercial-
ShareAlike 3.0 Unported License. You can find a copy of the license in the ZIP file.
It means you can use these files on your own derived works, in part or completely. But not for commercial
use.
Freenove™ brand and logo are trademarks of Freenove Creative Technology Co., Ltd. Must not be used
without permission.
TM
Contents
Note .......................................................................................................................................................................................................... i
Welcome ................................................................................................................................................................................................ii
Contents ..................................................................................................................................................................................................I
List ........................................................................................................................................................................................................... 1
Acrylic Parts ................................................................................................................................................................................. 1
Calibration Graph ...................................................................................................................................................................... 2
Mechanical Parts ....................................................................................................................................................................... 3
Dynamic Parts ............................................................................................................................................................................ 3
Electronic Parts .......................................................................................................................................................................... 4
Tools .............................................................................................................................................................................................. 5
Required but NOT Contained Parts .................................................................................................................................... 5
Preface ................................................................................................................................................................................................... 6
Arduino IDE .......................................................................................................................................................................................... 7
Arduino IDE ................................................................................................................................................................................. 7
Install Boards .............................................................................................................................................................................. 9
Control Board ........................................................................................................................................................................... 10
First Use ...................................................................................................................................................................................... 10
Processing IDE ................................................................................................................................................................................... 14
Processing IDE.......................................................................................................................................................................... 14
First Use ...................................................................................................................................................................................... 17
Assembly ............................................................................................................................................................................................. 19
Step 01 ........................................................................................................................................................................................ 19
Step 02 ........................................................................................................................................................................................ 22
Step 03 ........................................................................................................................................................................................ 26
Step 04 ........................................................................................................................................................................................ 28
Step 05 ........................................................................................................................................................................................ 32
Step 06 ........................................................................................................................................................................................ 33
Step 07 ........................................................................................................................................................................................ 34
Step 08 ........................................................................................................................................................................................ 35
Step 09 ........................................................................................................................................................................................ 36
Step 10 ........................................................................................................................................................................................ 38
Step 11 ........................................................................................................................................................................................ 40
Step 12 ........................................................................................................................................................................................ 42
Step 13 ........................................................................................................................................................................................ 43
Step 14 ........................................................................................................................................................................................ 44
Step 15 ........................................................................................................................................................................................ 47
Step 16 ........................................................................................................................................................................................ 48
Step 17 ........................................................................................................................................................................................ 49
Default Functions ............................................................................................................................................................................. 52
Use Computer .......................................................................................................................................................................... 52
Use Android Devices or iPhone ......................................................................................................................................... 55
II Contents www.freenove.com █
List
Acrylic Parts
The surface of the acrylic parts is covered with a layer of protective film, you need to remove it first.
Some holes in the acrylic parts may have residues, you also need to clean them before using.
Calibration Graph
Mechanical Parts
Note: If a package of M1.2*7 self-tapping screws cannot be found, it may be packed in the servo package.
Dynamic Parts
Electronic Parts
USB Cable x1
Tools
Cross Screwdriver x1
Preface
This is a robot kit compatible with Arduino IDE and Processing IDE, which are both free and open source
software that can be run on Windows, macOS and Linux computers. We will have a detailed introduction later.
You can use this kit to assemble a cool robot and control it to move and act wirelessly. You can also directly
control the IO ports on control board. In details, you can use the following devices to control the robot:
Laptop or desktop with Wi-Fi adapter. (Run Windows, macOS or Linux, including Raspberry Pi OS)
Android phone or tablet. (Run Android 5.0 or later version, installed Freenove App from Google Play.)
iPhone. (Run iOS 10 or later version, installed Freenove App from App store.)
Remote. (Freenove Remote Control Kit, FNK0028)
We provide complete code, but you can also write code for this robot by yourself easily. By using the code
library we provided, you only need to write a few lines of code to control the action and movement of the
robot. You can also connect sensors and modules to the IO ports and power ports on the control board.
The assembled robot is shown below (the wires are not shown).
Arduino IDE
! Please do NOT skip this chapter even if you have already installed the Arduino IDE.
The control board of the robot is compatible with Arduino IDE. The Arduino IDE is free and open source. We
will use it to write and upload code to the control board.
Arduino IDE
Arduino IDE uses C/C++ programming language. Please visit https://www.arduino.cc/reference/en/ for details.
If you want to learn it easily, please visit http://www.freenove.com for kits designed for starters.
! If you have already installed an earlier version, we recommend uninstalling it before continuing.
First, install Arduino IDE. Visit https://www.arduino.cc/en/software. Then select and download corresponding
installer according to your operating system.
We will explain in the Windows version. The other versions are similar.
Download and complete the installation, an shortcut will be added to your computer's desktop.
Verify
Checks your code for errors compiling it.
Upload
Compiles your code and uploads it to the configured board.
Select Board & Port
Detected boards automatically show up here, along with the port number.
Open Serial Monitor
Opens the Serial Monitor tool, as a new tab in the console.
Sketchbook
Here you will find all of your sketches locally stored on your computer.
Boards Manager
Browse through Arduino & third party packages that can be installed.
Library Manager
Browse through Arduino libraries, made by Arduino & its community.
Debugger
Test and debug programs in real time.
Search
Search for keywords in your code.
Programs written using Arduino IDE are called sketches and are saved with the file extension.ino.
Please visit https://docs.arduino.cc/software/ide-v2/tutorials/getting-started-ide-v2 for more details.
Install Boards
Check if “Arduino AVR Boards“ have been installed. It may be automatically installed when the Arduino IDE
is first opened. If it is not installed, click ”Install“ to install it.
Control Board
The control board of the robot (Freenove Crawling Robot Controller) is used to drive this robot.
It can connect 18 servos, a WLAN module and a wireless module. There are also some IO and power ports
for your use.
First Use
A new device (port) will appear in the PORTS list on the right, click to select it.
Note: Your port name may be different from the following figure, especially on other computer systems.
Can't find the port? You may need to install the driver. Please see folder “Drivers”.
This “Drivers” folder is in the folder that contains this PDF tutorial.
Find "Arduino Mega or Mega 2560" in the BOARDS list on the left and click to select it. Then click “OK”.
Wait a moment for the compiling to be completed. Figure below shows the code size and percentage of
space occupation. If there is any error in the code, the compilation will fail and the details will be shown here.
We will see the LED marked with "L" on the control board starts blinking. It indicates that the code is running!
LED L starts
blinking
So far, we have completed the first use. I believe you have felt the joy of it.
Processing IDE
! Please do not skip this chapter if you have never installed Processing IDE or are not familiar with it.
The Processing IDE is free and open source. It is used to write graphical programs run on computers. Most
code written with it can run directly on Windows, macOS and Linux without any changes.
Processing IDE
Processing IDE uses Java by default. Please visit https://processing.org/reference/ for details.
Do not worry if you do not know Java, because we provide complete code.
! If you have already installed an earlier version, we recommend uninstalling it before continuing.
First, install Processing IDE. Visit https://processing.org/download. Then select and download corresponding
installer according to your operating system.
We will explain in the Windows version. The other versions are similar.
On Windows, you'll have a .zip file. Double-click it, and drag the folder inside to a location on your hard
disk. It could be Program Files or simply the desktop, but the important thing is for the processing folder
to be pulled out of that .zip file. Then double-click processing.exe to start.
The Mac OS X version is also a .zip file. Double-click it and drag the Processing icon to the Applications
folder. If you're using someone else's machine and can't modify the Applications folder, just drag the
application to the desktop. Then double-click the Processing icon to start.
The Linux version is a .tar.gz file, which should be familiar to most Linux users. Download the file to your
home directory, then open a terminal window, and type:
(Replace xxxx with the rest of the file's name, which is the version number.) This will create a folder named
processing-2.0 or something similar. Then change to that directory:
cd processing-xxxx
./processing
With any luck, the main Processing window will now be visible. Everyone's setup is different, so if the program
didn't start, or you're otherwise stuck, visit the troubleshooting page for possible solutions.
Run
Runs the sketch. In Java mode, it compiles the code and opens a new display window.
Stop
Terminates a running sketch.
Programs written using Processing IDE are called sketches and are saved with the file extension .pde.
Please visit https://processing.org/environment for more details.
First Use
If you didn't type it correctly, the Message Area will turn red and complain about an error. If this happens,
make sure that you've copied the example code exactly: the numbers should be contained within parentheses
and have commas between each of them, and the line should end with a semicolon.
You can export Processing sketch to an application to run it directly without opening the Processing.
To export the sketch to the application, you must save it first.
So far, we have completed the first use. I believe you have felt the joy of it.
Assembly
Now let us start assembling the robot.
! Please prepare the right batteries and fully charge them first. (See “AboutBattery_for_V3.pdf”)
Assembling without right batteries will cause installation errors, which may damage the servos.
! Please read and complete the previous chapters “Arduino IDE” and “Processing IDE” first.
In the previous chapters we showed you how to install and configure the required software.
! Please follow the tutorial strictly and do not skip any steps.
Ask our support for help if you encounter a problem instead of ignoring it.
Step 01
First, we need to upload the default sketch to the control board (Freenove Crawling Robot Controller).
Open Arduino IDE, click “Sketch” > “Include Library” > “Add .ZIP Library...” to add a library file.
Add all library files in “ArduinoLibraries” folder. This folder is in the folder that contains this PDF tutorial.
You can find the added libraries in “Sketch” > “Include Library”. Make sure all the following libraries have
been added.
Now open "File" > "Examples" > "FNHR" > "Default" > "Robot".
Then click the “Upload” button to upload the sketch to the control board.
Step 02
Now we need to run a Processing sketch. It will allow us to configure the control board.
We can add library online. Click “Sketch” > “Import Library...” > "Mamage Libraries..." to open
"Contribution Manager".
! If you cannot complete the online installation, you can install it offline.
Find “controlP5.zip” in “ProcessingLibraries” folder. This folder is in the folder that contains this PDF
tutorial. Then unzip it to "libraries" folder in "File" > "Preferences..." > "Sketchbook folder".
Note:
1. Make sure you have unzipped the downloaded file.
2. Keep the files in same folder. Do not seprate them.
Click the “Run” button, then the Processing App window appears.
Now let us try it. Connect the control board to your computer via a USB cable.
Wait for processing. It may take a few seconds. Do NOT click again when it's processing.
When the "CONNECT" button changes to "DISCONNECT", it means the connection is successful.
! If the connection is unsuccessful, the default sketch may not have been uploaded successfully.
Go back to “Step 01”, upload the default sketch to the control board and then try again.
Step 03
Now we will make a test and then set the control board to installation mode.
Take out all the servos and connect all of them to the control board (yellow wire of servo to S, red to +,
black to -). Servos can be connected randomly to the port 22~39.
(The name of the port is marked on the front of the control board.)
Connect the control board to computer via USB cable. Then open Processing App and click “CONNECT”.
After the connection succeeds, turn on the power. The servos will rotate and then stop. The battery voltage
will be displayed on the Processing App.
If there is no problem with the voltage, then we need to set the control board to installation mode.
Click "INSTALLATION" on the top. Wait for processing and the servos will rotate again.
Click “DISCONNECT” to disconnect. The control board will restart and the servos will rotate again.
! The LED "L" on the control board now should flash three times at intervals.
It is indicating that the control board is under installation mode.
If the LED L does not flash like this, you need to use Processing App to set the control baord again.
You have to do this step correctly. Otherwise, it will cause installation errors and damage the servos.
If you meet problems, check your batteries or ask our support team for help.
! Switch the power off, disconnect the USB cable, remove the batteries and disconnect all the servos.
Now let us learn about the signal LED (LED “L” on the control board), which can indicate current state of the
robot. You should always observe it, which is very useful. See “SignalLED.mp4” in “Videos” folder.
The signal LED will flash several times every few seconds (circularly).
In each cycle, if the LED lights up several times and then stays OFF, it indicates different working mode:
The working mode of the robot can be set through Processing App. The robot will remember the working
mode you set, even if you restart the power, the robot will still enter the mode you set originally.
In each cycle, if the LED goes off several times and then stays ON, it indicates an error state:
(Only applicable to V2.0 and later versions control board.)
The robot will stop all movements and cut off power of all servos when there is an error. You must
troubleshoot the error before you can continue to use it.
Step 04
! Make sure the batteries are correct and the control board has been set to the installation mode.
! Please assemble and use the robot on a smooth surface such as a desk.
Assembling and using the robot on rough surfaces such as carpets will damage the servos.
Rotate disc servo arm to align its hole with the hole on the acrylic plate.
M1.2*7 Self-
tapping Screw
Use the same screws to fix other holes of disc servo arm.
Use the same size of screws to fix 5 other disc servo arms to acrylic plate.
Step 05
Use the same size of screws to fix 2 disc servo arms to the following acrylic plate.
Step 06
Use screws and nuts to fix servo to the following acrylic plate.
M2*10 Screw
M2 Nut
Step 07
Use screws and nuts to fix servo to the following Fix them as below. Note the position of the servo
acrylic plate. shaft.
M2*10
Screw
M2 Nut
Step 08
Use screws and nuts to fix servo to the following Fix them as below. Note the position of the servo
acrylic plate. shaft.
M2*10
Screw
M2 Nut
Step 09
Use screws and nuts to fix two parts assembled before. Fix them as below. Three sets of them need to
be assembled.
M3*12
Screw
M3 Nut
Use screws and nuts to fix two parts assembled before. Fix them as below. Three sets of them need to
be assembled.
M3*12
Screw
M3 Nut
Step 10
Use screws and brass standoffs to fix control board to the following part assembled before.
M3*8
Screw
M3*5 Brass
Standoff
M3*27 Brass
Standoff
Make sure the power is turned off, and then connect all servos to control board.
(yellow wire of servo to S, red to +, black to -)
(servos can be connected randomly to port 22~39)
(The name of the port is marked on the front of the control board.)
! Keep all servos connected to the control board unless they are required to disconnect.
Step 11
Turn on the power. The servos will rotate and then stop.
When the power is turned on, the angles of 6 parts should be as shown below.
Please try to get them close to the required angle. A small deviation is acceptable. We will correct the
deviation in future calibration step.
Servo Servo
shaft shaft
Servo Servo
shaft shaft
USB
port
Servo Servo
shaft shaft
Step 12
When you tighten the screws, it may be obstructed by other parts. You can turn off the power
temporarily and rotate the servo to facilitate tightening the screws. When you complete tightening the
screws, you need turn on the power first, then continue following steps.
When the power is turned on, the angle of 6 parts should be as shown below.
Please try to get them close to the required angle. A small deviation is acceptable. We will correct the
deviation in future calibration step.
Horizontal
Step 13
When the power is turned on, the angle of 6 parts should be as shown below.
Please try to get them close to the required angle. A small deviation is acceptable. We will correct the
deviation in later calibration step.
Vertical
Step 14
! Turn off the power and pull off all the wires of servos.
Then reconnect the servos to control board, the ports they should be connected to are shown below.
! The view of the picture below is from the bottom of the robot (you can see the battery).
! The name of the port is marked on the front of the control board.
USB
Port
Hold up the robot and turn on the power. Check whether the posture of the robot is close to that on the
installation page of the Processing App.
! If there is a lot of difference, it means that the servos have not been installed correctly.
Please return to the “Step 1” to reinstall.
If there is not much difference, turn off the power and continue.
Step 15
M3*8
Screw
Fix it as below.
Step 16
WLAN
Module
Fix it as below.
Step 17
Connect the robot with Processing App. After the connection succeeds, click "CALIBRATION" on the top.
Turn on the power. The robot will move to the following posture, indicating it is already in calibration mode.
! If there is a lot of difference, it means that the servos have not been connected correctly.
Please return to the “Step 14” to reconnect.
Put the robot on the calibration graph. The bottom of the robot should coincide with the specific outline in
the graph. USB interface should also coincide with the mark in the graph.
If the calibration graph is missing or damaged, you can print a copy. Print the "CalibrationGraph.pdf_for_V3"
by 1:1 (100%) on A4 paper.
Then start calibrate. Select "LEG1", and then click "X+", "X-", "Y+", "Y-" and "Z+", "Z-", until the end of Leg1
is aligned with the black dots in the graph.
! Please note that each click will only move the leg by 1mm, so you may need to click many times.
You can use keyboard to move the leg. The key is marked in brackets on the button.
Then select the "LEG2", "LEG3", "LEG4", "LEG5"and “LEG6" to move other legs to corresponding dots as
shown below.
Click "CONFIRM" and the calibration data will be stored in the robot.
Click "VERIFY", and then the robot will restore to the state before calibration. Then converted to the state
after calibration, which indicates that the calibration is completed. If the end of legs is not aligned with the
dots, click “RESET” and restart from moving the legs to try again.
The calibration needs to be executed only once. Its data is stored in EEPROM. It will not be changed if you
upload the default sketch again. If you disassemble the robot, replace the servo or control board, you need
to calibrate the robot again. If you are not satisfied with the results of the latest calibration, you can also
choose to calibrate again.
Default Functions
Now we can control the robot.
Use Computer
Now you can connect the robot through WLAN(Wi-Fi). Turn on the switch, the robot will create a Wi-Fi
hotspot named "Freenove Hexapod Robot" with password "Freenove" (case sensitive) in a few seconds.
Connect the computer to this hotspot, select "WI-FI" in Processing App, and then click "CONNECT" button.
! If the Processing App cannot connect to the robot, please try the following:
1. Check if the WLAN module is installed correctly.
2. Fully charge the battery.
3. Go back to step 01 and upload the default sketch for the robot again.
In the "CONTROL" page, you can control the basic functions of the robot.
You can use keyboard to move the leg. The key is marked in brackets on the button.
In the "TWIST BODY" page, you can control the robot to move and rotate body in the place where it stays.
If there is no action command for about 10 seconds, the robot will switch into sleep mode automatically to
save power. Any command can activate the robot again.
You can use Android phone or tablet or iPhone to control this robot.
First, install Freenove App for your device. Visit http://freenove.com/app or:
For Android, search and install “Freenove” on Google Play.
For iPhone, search and install “Freenove” on App store.
After the installation is completed, connect your device to the Wi-Fi hotspot of the robot.
The name of Wi-Fi hotspot is "Freenove Hexapod Robot" and the password is "Freenove" (case sensitive).
Open Freenove App and select “Freenove Hexapod Robot Kit”. The following interface will be displayed.
The App will connect the robot automatically. The online state will appear on the top. If the offline state
appears, you can touch the robot logo on the top left corner to reconnect.
This APP is similar to the Processing App. You can explore it by yourself. There is also a manual about it:
https://github.com/Freenove/Freenove_App_for_Android/raw/master/Tutorial.pdf
Use Remote
You can also use the remote to control this robot if you have purchased it.
The assembled remote is shown below (the wires are not fully shown in the figure).
(The color of the board may be black or blue.)
There are two wireless modules packed with the remote. One has been installed on the remote. Turn off the
power of the robot and then install the other one to it.
Fix wireless module to the control board.
Wireless
Module
Fix it as below.
Now, upload sketch for remote. Open "File" > "Examples" > "FNHR" > "Default" > "Remote".
Click “Select Board" > "Select other board and port...”. Then connect the remote to your computer with a
USB cable. A new device (port) will appear in the PORTS list on the right, click to select it.
Note: Your port name may be different from the following figure. See previous chapter “Arduino IDE”.
Find "Arduino Uno" in the BOARDS list on the left and click to select it. Then click “OK”.
Note: The board of remote is different from the board of robot.
Install a 9V battery for the remote or connect it to any available USB port. Turn on the power switch of remote
and robot. If a wireless connection is established between the remote and the robot, the LED3 on remote will
light up or flash. Then you can use the remote to control the robot.
The remote has 3 toggle switches and 3 buttons. Each toggle switch is connected to the button closer to it.
Turn on or turn off these switches or buttons to control the robot under different mode:
In any case, you can rotate POT2 to adjust the height of robot body.
! If the remote cannot control the robot, please try the following:
1. Check if the wireless modules are installed correctly.
2. Fully charge the battery.
3. Upload the default sketch for the remote again. Only turn on S1.
4. Go back to “Step 01” and upload the default sketch for the robot again.
Programming
It is easy to reprogram this robot.
If you just want to modify the parameters of the default functions, it is very simple.
! In this case, all previous functions will not be affected except the parameters you want to modify.
Just add the corresponding functions under the following line in the default sketch.
1 robot.Start(true);
You can modify the Wi-Fi hotspot name and password by calling the following function.
1 void FNHR::SetWiFi(String name, String password)
Please open "File" > "Examples" > "FNHR" > "ModifyWiFi" > "Robot" to see how to use.
When there are many Wi-Fi signals nearby, you may not be able to connect to the robot or the signal will
be poor. Then you can try to modify the channel by calling the following function.
1 void FNHR::SetWiFiChannel(byte channel)
Please open "File" > "Examples" > "FNHR" > "ModifyWiFiChannel" > "Robot" to see how to use.
You can modify the wireless communication address between robot and remote.
To modify the robot, call the following function.
1 void FNHR::SetRemote(byte byte0, byte byte1, byte byte2, byte byte3, byte byte4)
To modify the remote, call the following function.
1 void FNHRRemote::Set(byte byte0, byte byte1, byte byte2, byte byte3, byte byte4)
You must set them to the same address to control robot with the remote.
Please open "File" > "Examples" > "FNHR" > "ModifyRemote" to see how to use.
You can also modify the wireless communication channel between robot and remote.
To modify the robot, call the following function.
1 void FNHR::SetRemoteChannel(byte byte0, byte byte1, byte byte2, byte byte3, byte byte4)
To modify the remote, call the following function.
1 void FNHRRemote::SetChannel(byte byte0, byte byte1, byte byte2, byte byte3, byte byte4)
You must set them to the same channel to control robot with the remote.
Please open "File" > "Examples" > "FNHR" > "ModifyRemoteChannel" to see how to use.
You can modify the action speed by calling the following function.
1 void FNHR::SetActionSpeed(float speed)
Please open "File" > "Examples" > "FNHR" > "ModifySpeed" > "Robot" to see how to use.
You can modify the action group by calling the following function.
1 void FNHR::SetActionGroup(int group)
There are three different action groups, which determine the way robot moves and turns.
Please open "File" > "Examples" > "FNHR" > "ModifyAction" > "Robot" to see how to use.
Custom Programming
You can also write a new sketch to control the robot by including FNHR library.
! You can add any code you need, not just the functions mentioned in this section.
! You can add sensors and other modules, and the P3 I/O port on the control board is also available.
Create a new blank Arduino sketch, including FNHR library at the beginning.
1 #include <FNHR.h>
Then define a robot object.
2 FNHR robot;
In function setup(), start the robot as follows.
3 void setup() {
4 robot.Start();
5 }
Now, you can directly use the following code in function loop() to control the robot.
6 robot.ActiveMode();
7 robot.SleepMode();
8 robot.SwitchMode();
9 robot.CrawlForward();
10 robot.CrawlBackward();
11 robot.CrawlLeft();
12 robot.CrawlRight();
13 robot.TurnLeft();
14 robot.TurnRight();
15 robot.Crawl(float x, float y, float angle);
16 robot.ChangeBodyHeight(float height);
17 robot.MoveBody(float x, float y, float z);
18 robot.RotateBody(float x, float y, float z);
19 robot.TwistBody(float xMove, float yMove, float zMove, float xRotate, float yRotate, float zRotate);
There are some examples in"File" > "Examples" > "FNHR" > "Examples ". You can open and upload them to
learn how to use FNHR library to control the robot.
The control board provides some IO and power ports for your use. They are not used by this robot in default.
If you want to add other parts for this robot. Please refer to "File" > "Examples" > "FNHR" > "Examples” for to
build your own programming.
Complete Reprogramming
It is NOT recommended that you use your own code to control every servo, which is more difficult and it may
easily damage the servos.
If you want to learn the details of the code, you can view the FNHR library source code.
All the library files already added to Arduino IDE are in the "libraries" folder under "Sketchbook location" in
the “File” > ”Preferences” window.
And if you want to learn the details about the control board, please find the schematic in the folder.
If you have any questions, please contact our support for help.
Hardware
Please find the circuit diagrams of the boards in the “Hardware” folder.
If FNHR library is used, the reference voltage of analog input may be switched to an external.
On V2 and later board: the reference voltage is 2.094V.
On other versions of boards: the reference voltage is 5V by default.
If using a port as an analog input, the voltage that can be measured ranges from 0V to reference voltage.
If the voltage to be measured is higher than the reference voltage, use two resistors to divide the voltage.
What's Next?
THANK YOU for participating in this learning experience!
We have reached the end of this tutorial. If you find errors, omissions or you have suggestions and/or
questions about this tutorial or component contents of this kit, please feel free to contact us:
support@freenove.com
We will make every effort to make changes and correct errors as soon as feasibly possible and publish a
revised version.
After completing this robot, you can try to modify this robot, including purchasing and installing other
electronic modules, or improving the code to achieve different functions you want. You can also try other
Freenove projects.
If you want to learn more about Arduino, Raspberry Pi, micro:bit, robots, smart cars and other interesting
products, please visit our website:
http://www.freenove.com