Outline
- Project: Microduino BOXZ Mini Robot.
- Purpose: To control BOXZ Mini Robot by Microduino-Joypad.
- Difficulty: High
- Time-consuming: 3-Hour
- Maker: Microduino Studio-YLB
Principle
Microduino BOXZ Mini Robot is driven by two wheels, which can move around under the control of Microduino-Joypad.
So, you only need to control the rotation direction of the two wheels if you want to control the robot.
Structure
The structure of the robot is simple, including three parts:
- Wheel
- The wheel adopts two speed reduction motors with big torque, which can be controlled easily. (Capable of PWN speed adjustment).
- Framework of the robot.
- Adopt acrylic board with the size of8cm*8cm*8cm.
- Control system
- The whole control system includes four parts.
- Power supply system
- Since the size of BOXZ is small, so we adopt 9V battery for power supply. Users can change battery according to personal needs, but the voltage must be higher than 5V for the 5V core power supply Robot board adopts voltage drop schedule.
- CPU
- CPU is the core of the robot, which can handle complex event. Choose Microduino-Core+ as the core.
- Wireless communication
- The robot adopts Microduino-nRF24 wireless communication, which has fast communication and a control range of about 100m.
- Motor control
- Adopt Microduino-Motor motor drive module, capable of driving two motors with only one module. Besides, with Microduino-Robot board, the core and motor modules can be connected perfectly.
Advantage
The robot is highly integrated with less wire, ready to plug in for use. It is simple and powerful.
Bill of Material
USB cable |
1 |
Program download
|
BOXZ mini framework |
1 |
Frame buildup
|
9V-battery |
1 |
BOXZ mini power supply
|
7th battery |
3 |
Microduino-Joypad power supply
|
9V battery box |
1 |
Battery load
|
7th battery box |
1 |
Battery load
|
Document
Microduino-Joypad Debugging
Build Microduino-Joypad
- Microduino modules needed
Module |
Number |
Function
|
USB cable |
1 |
Data transmission
|
Battery box |
1 |
Battery load
|
7th battery |
3 |
Power supply
|
Microduino-Joypad buildup reference Microduino-Joypad Getting start。
You also need to stack Microduino-nRF24 on the base board of Microduino-Joypad.
Software Debugging
- Library file download: https://github.com/wasdpkj/libraries;
- You will also need: _01_Microduino_TFT , _08_Microduino_Shield_Joypad, _05_Microduino_10DOF, _03_Microduino_nRF24_RF24 and _03_Microduino_nRF24_RF24Network;Decompress the downloaded library file to libraries of Arduino IDE and restart IDE compiler.
- Downlaod Microduino_Joypad_Ctrl program:
https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced_Tutorial/Microduino_Joypad_QuadCopter/Joypad_RC_2.4
- Open Microduino_Joypad_Ctrl program, select the right board ()Microduino Core (Atmega328P@16M,5V) after successful compiling and then download.
Debug Microduino-Joypad
- Adopt battery power supply, plug off the USB cable, turn on the switch of the remote controller and press the reset key (the one on the right of the left USB port) and then enter the system. Please press 【key1】(the first one from the left) within four seconds and enter the mode of adjustment and control.
- Select control mode
- We can choose to control Quad. Or Robot via【key3】. Under the mode of Robot, we can control the self-balance robot and BOXZ mini. The black means “select”, so here we need to choose Robot mode.
- We can choose somatosensory control mode by【key4】, under which you must stack Microduino-10DOF module and select “MPU ON”. If under joystick mode, please select “MPU OFF”.
- Joystick adjustment
- Give a full spin of the two joysticks and see if there is data change on TFT screen. If no data change, please press【key2】and play.
- Turn on the top left switch and move the joystick to watch changes on the screen.
- The right switch is range adjustment mode. By turning the switch to the top and you can control Robot fully. Otherwise, you can only control the robot slowly and the speed also changes to a limited extent.
Build BOXZ mini
- Microduino modules needed
Module |
Number |
Function
|
BOXZ mini framework|1 |
Framework buildup
|
USB cable |
1 |
Data transmission
|
Battery box |
1 |
Battery load
|
9V Battery |
1 |
Power supply
|
Hardware Buildup
- Structure Installation Video:
- Install the wheel on the speed reduction motor
- Install the fixed frame on the wheel
- Fixate the wheel on the No. 1 acrylic board and the four copper posts on the board and make sure the wheels are installed right, which can refer to the picture:
- Fixate No. 2 acrylic board on the four copper posts
Notice: Make sure Core+ is at the bottom and Microduino-Motor on the base board off M.A.
- Fixate the system on No2 acrylic board and make sure the switch is outward-facing. Meantime, connect the DC motor to Microduino-Motor module.
- Install sensor fixing plate.
- Install the acrylic boards
- You can use USB cable to debug
Software Debugging
- Download Microduino_Robot_BOXZ program:
- Open Microduino_Robot_BOXZ program, choose the right board (Microduino Core+ (Atmega644P@16M,5V)) after successful compiling and download.
- Open Microduino-Joypad after the download, select “Robot” and “MCU OFF” mode and turn on the remote control and play. (Note: Please make sure the joystick is adjusted correctly.)
- You only need the right joystick. Please keep the direction of the joystick same with that of the BOXZ. You can try joystick to find if there is any problem. If there is, you can change the pin definition.
int mic_left = 6;
int mic_right = 8;
int mic_head = 5;
int mic_back = 7;
Eg. If the left and the right rotation is opposite, you can change:
int mic_left = 7;
int mic_right = 5;
int mic_head = 8;
int mic_back = 6;
- After the test, you can take off USB cable and Microduino-USBTTL, then connect the battery for power supply.
- First, turn off the Robot switch for fear that reverse connection of the battery may lead to circuit board burn-down.
- Connect the battery and the battery contact, then put it into BOXZ mini.
- Turn on the switch of Robot on the base board and you can see the red led go on, which means normal power supply.
|