Difference between revisions of "Open Source Electric Drive Cube Robot"
From Microduino Wiki
(Created page with "{| style="width: 800px;" |- | ==Outline== *Project: Open Source Electric Drive Cube Robot *Objective: To make a Cube Robot car **Can be controlled by Joypad. **Also can su...") |
|||
(35 intermediate revisions by 5 users not shown) | |||
Line 21: | Line 21: | ||
|[[Microduino-USBTTL]]||1||Program download module | |[[Microduino-USBTTL]]||1||Program download module | ||
|- | |- | ||
− | |[[Microduino- | + | |[[Microduino-nRF24]]||2||Wireless communication module |
|- | |- | ||
− | |[[Microduino- | + | |[[Microduino-Joypad]]||1||Remote control module |
|- | |- | ||
− | |[[Microduino- | + | |[[Microduino-TFT]]||1||Display module |
|- | |- | ||
− | |[[Microduino- | + | |[[Microduino-Robot]]||1||Drive board |
|} | |} | ||
− | |||
===Bill of Module(Bluetooth mode) === | ===Bill of Module(Bluetooth mode) === | ||
Line 40: | Line 39: | ||
|[[Microduino-USBTTL]]||1||Program download program | |[[Microduino-USBTTL]]||1||Program download program | ||
|- | |- | ||
− | |[[Microduino- | + | |[[Microduino-BT]]||1||Bluetooth communication module |
|- | |- | ||
− | |[[Microduino- | + | |[[Microduino-Robot]]||1||Drive board |
|} | |} | ||
Line 65: | Line 64: | ||
|} | |} | ||
− | [[File: | + | [[File:Boxz Materials.jpg||1000px|left]] |
==Principle of the Experiment== | ==Principle of the Experiment== | ||
*There are various kinds of Robot cars, such as robot car of tracking, barrier, Bluetooth control, which with different functions and need to adopt different sensors. | *There are various kinds of Robot cars, such as robot car of tracking, barrier, Bluetooth control, which with different functions and need to adopt different sensors. | ||
*However, all those Robot cars are basically controlled in the same way, that is, moving in four directions. | *However, all those Robot cars are basically controlled in the same way, that is, moving in four directions. | ||
− | |||
*Here we adopt two-wheel drive structure. By control the rotation of two wheels, we can achieve moving forward and backward, or spinning. Of course, it needs auxiliary wheel to keep balance. | *Here we adopt two-wheel drive structure. By control the rotation of two wheels, we can achieve moving forward and backward, or spinning. Of course, it needs auxiliary wheel to keep balance. | ||
*This car has a simple structure, including wheels, body and control system. | *This car has a simple structure, including wheels, body and control system. | ||
Line 80: | Line 78: | ||
**Adopt [[Microduino-Core]] as the core. Just like the CPU of a computer, it can analyze and process complicated things. | **Adopt [[Microduino-Core]] as the core. Just like the CPU of a computer, it can analyze and process complicated things. | ||
*Wireless commmunciation | *Wireless commmunciation | ||
− | **Adopt [[Microduino- | + | **Adopt [[Microduino-nRF24]] wireless communication scheme with fast communication response and the control range of about 50m in the open area. |
− | **Or adopt [[Microduino- | + | **Or adopt [[Microduino-BT]] wireless communication scheme, which can work with phone APP to directly control. The control range is about 20m in the open area. |
*Motor control | *Motor control | ||
− | **Adopt a group of built-in DC motor drive unit on the [[Microduino- | + | **Adopt a group of built-in DC motor drive unit on the [[Microduino-Robot]], and a unit can drive two motors. |
*Power supply system | *Power supply system | ||
− | **Adopt a built-in sing-cell Li-ion battery management unit on the [[Microduino- | + | **Adopt a built-in sing-cell Li-ion battery management unit on the [[Microduino-Robot]] to manage charging and discharging function. |
==Program Download== | ==Program Download== | ||
Line 99: | Line 97: | ||
==Installation== | ==Installation== | ||
− | *'''Step1''': | + | |
+ | *'''Step1''': | ||
+ | **Adopt '''Motor fixation base''' to fixate the two '''N20 gear motors ''' on the '''Structure-A1'''. | ||
+ | **Assemble the '''Wheels''', '''tyres''' and '''Couplings''', then install them with the fixated '''N20 gear motor'''. | ||
+ | |||
[[File:Cubestep1.jpg||600px|center]] | [[File:Cubestep1.jpg||600px|center]] | ||
− | *'''Step2''':Insert A2 into the slot of | + | |
+ | |||
+ | *'''Step2''': | ||
+ | *Insert '''Structure-A2''' into the slot of the two sides of '''Structure-A1'''. | ||
+ | *Use two '''Structure-A4''' to fixate the bottom of '''Auxiliary wheel''' on the '''Structure-A3'''. | ||
+ | *Prepare '''Structure-A3''' and '''Structure-B1''' from up to down as the picture shows below. | ||
[[File:Cubestep2.jpg||600px|center]] | [[File:Cubestep2.jpg||600px|center]] | ||
− | *'''Step3''': | + | |
+ | |||
+ | *'''Step3''': | ||
+ | *Fixate the'''Structure-B2''' and '''Structure-C1''' on the two sides. | ||
[[File:Cubestep3.jpg||600px|center]] | [[File:Cubestep3.jpg||600px|center]] | ||
− | *'''Step4''': | + | |
+ | *'''Step4''': | ||
+ | *Stack the following modules on the'''[[Microduino-Robot]]'''. | ||
+ | **Core module: '''[[Microduino-Core]]''' | ||
+ | **Communication module: | ||
+ | ***Under Joypad mode, the communication module is '''[[Microduino-nRF24]]'''('''Install the antenna firstly''') | ||
+ | ***Under Bluetooth mode, the communication module is '''[[Microduino-BT]]''' | ||
+ | *Connect '''Battery''' to the '''Battery interface''' on the base of '''[[Microduino-Robot]]'''. | ||
+ | *Connect two '''N20 gear motors''' to the A.A/A.B motor interfaces on the base of '''[[Microduino-Robot]]'''. | ||
+ | *Fixate '''[[Microduino-Robot]]''' on'''Structure-B1''' with screws. | ||
[[File:Cubestep4.jpg||600px|center]] | [[File:Cubestep4.jpg||600px|center]] | ||
− | *'''Step5''':Fixate C2 | + | |
+ | |||
+ | *'''Step5''': | ||
+ | *Fixate '''Auxiliary wheels''' on '''Structure-C2''' with two '''Structure-C3'''. | ||
+ | *Insert the '''Structure-C2''' to the front side. | ||
[[File:Cubestep5.jpg||600px|center]] | [[File:Cubestep5.jpg||600px|center]] | ||
− | *'''Step6''': | + | |
+ | *'''Step6''': | ||
+ | *Insert'''Structure-D2''' to the back side and stick the antenna. | ||
+ | *Put the '''Structure-D1''' on the top and by here, congratulations! You just completed the installation. | ||
[[File:Cubestep6.jpg||600px|center]] | [[File:Cubestep6.jpg||600px|center]] | ||
Line 115: | Line 141: | ||
*'''If stacking the nRF module and start, the system will enter the Joypad control mode by default, otherwise, it'll enter the Bluetooth mode. ''' | *'''If stacking the nRF module and start, the system will enter the Joypad control mode by default, otherwise, it'll enter the Bluetooth mode. ''' | ||
− | ===Guide for Joypad | + | ===Guide for Joypad Control=== |
*For the installation, you can refer to the following page: '''[https://wiki.microduino.cc/index.php?title=Microduino-Joypad_Getting_started]''' | *For the installation, you can refer to the following page: '''[https://wiki.microduino.cc/index.php?title=Microduino-Joypad_Getting_started]''' | ||
*'''Joypad Communication Mode Configuration '''* | *'''Joypad Communication Mode Configuration '''* | ||
− | *For the mode configuration, you can refer to the following page: '''[https://wiki.microduino.cc/index.php?title=Microduino-Joypad_Getting_started # | + | *For the mode configuration, you can refer to the following page: '''[https://wiki.microduino.cc/index.php?title=Microduino-Joypad_Getting_started#Communication_Protocol_Configuration Communication Protocol Configuration]''' |
− | **When we use [[Microduino- | + | **When we use '''[[Microduino-nRF24]]''' as the '''communication module''', for the Joypad, it can choose '''nRF mode''' correspondingly. |
*'''Instruction of Joypad Battery Use '''* | *'''Instruction of Joypad Battery Use '''* | ||
− | *For the battery use, you can refer to: '''[https://wiki.microduino.cc/index.php?title=Microduino-Joypad_Getting_started #Step- | + | *For the battery use, you can refer to: '''[https://wiki.microduino.cc/index.php?title=Microduino-Joypad_Getting_started#Step-3:Power-on_via_battery Power-on via Battery]''' |
− | |||
===Guide for Bluetooth Control=== | ===Guide for Bluetooth Control=== | ||
− | * | + | *First of all, download remote control APP(Android): '''[[File:mTank.rar]]''' |
+ | *Confirm that the version of your phone is above Android 4.3 and the Bluetooth is open. | ||
+ | *Search the Bluetooth device named '''"Microduino"''', and connect to it. | ||
+ | *Then you can control it remotely by APP. | ||
+ | *For details, please refer to '''[[mRobot]]''' | ||
==Code Description== | ==Code Description== | ||
*Find the configuration file in " user_def.h ". | *Find the configuration file in " user_def.h ". | ||
*The following codes can configure the channel under nRF mode, which needs to keep consistent with Joypad controller. | *The following codes can configure the channel under nRF mode, which needs to keep consistent with Joypad controller. | ||
− | *For the Joypad's nRF mode channel configuraton, you can refer to: [https://wiki.microduino.cc/index.php?title=Microduino-Joypad_Getting_started # | + | *For the Joypad's nRF mode channel configuraton, you can refer to: '''[https://wiki.microduino.cc/index.php?title=Microduino-Joypad_Getting_started#Channel_Configuration_of_nRF_Mode Channel Configuration of nRF Mode]''' |
<source lang = "cpp"> | <source lang = "cpp"> | ||
#define NRF_CHANNEL 70 //nRF channel | #define NRF_CHANNEL 70 //nRF channel | ||
Line 138: | Line 167: | ||
*The following codes can configure the throttle and the corresponding steering channel. | *The following codes can configure the throttle and the corresponding steering channel. | ||
− | *For the corresponding channel, you can refer to: [https://wiki.microduino.cc/index.php?title=Microduino-Joypad_Getting_started #Step- | + | *For the corresponding channel, you can refer to: '''[https://wiki.microduino.cc/index.php?title=Microduino-Joypad_Getting_started#Step-6:_Channel.2FOperation_Description Channel/Operation Description]''' |
<source lang = "cpp"> | <source lang = "cpp"> | ||
#define CHANNEL_THROTTLE 2 //Throttle channel | #define CHANNEL_THROTTLE 2 //Throttle channel | ||
Line 154: | Line 183: | ||
</source> | </source> | ||
− | == | + | == FAQ== |
+ | *Q:'''How to choose Joypad mode or Bluetooth mode for this CUBE robot? ''' | ||
+ | **A:You don't have to select manually but stack nRF24 module when power-on. The system will enter the Joypad mode by default, or it'll enter Bluetooth mode. | ||
+ | |||
+ | *Q:'''What type of battery does the CUBE robot support? ''' | ||
+ | **A:It supports 3.7V 1S lithium battery. | ||
+ | |||
+ | *Q:'''How to connect the motors? ''' | ||
+ | **A:You can connect the two motors to the A.A/A.B interfaces respectively. | ||
+ | |||
+ | *Q:'''Does my phone support Bluetooth control? ''' | ||
+ | **A:It is supportable for phones of Android 4.3 or higher. | ||
+ | |||
|} | |} |
Latest revision as of 03:13, 30 March 2017
ContentsOutline
Bill of MaterialBill of Modules(Joypad mode)
Bill of Module(Bluetooth mode)
Other Material
Principle of the Experiment
Program Download
Programming
Installation
Instructions of the Remote Control
Guide for Joypad Control
Guide for Bluetooth Control
Code Description
#define NRF_CHANNEL 70 //nRF channel
#define CHANNEL_THROTTLE 2 //Throttle channel
#define CHANNEL_STEERING 1 //Steering channel
#define motor_fixL 1 //Speed correction (-1 to 1)
#define motor_fixR 1 // Speed correction (-1 to 1) FAQ
|