Hey guys! I Hope you already enjoyed my previous tutorial "Online Weather Station (NodeMCU)" and you are ready for a new one, After the SMARS model robot that we assembled last time, today’s project, is also about robots learning and we will use the OTTO robot model in this video and it’s going to be a really amazing project, this project could be a great start in robotics world.
During the making of this project, we tried to make sure that this tutorial will be the best guide for you in order to help you if you want to make your own robot, so we hope that this tutorial contain the needed documents.
This project is so handy to make specially after getting the customized PCB that we’ve ordered from JLCPCB to improve the appearance of our electronic device and also there is enough documents and codes in this guide to assist you create your beautiful robot.
We've made this project in just 5 days only, just two days to get the robot 3D printed parts all the needed electronics components then two more days to finish the hardware making and the assemble, then one day to prepare the code to suit our project and we have started the testing and the adjustments.
- Making the components selection depending on its functionalities.
- Understand the robot mecanisme.
- Prepare the circuit diagram to connect all the choosen components.
- Solder the electronic parts to the PCB.
- Assemble all the project parts (robot body).
- Start the first test and validate the project.
Starting with the project description, as I said already, we will reproduce the OTTO robot model that you can have its 3D designed parts for free from the OTTO community but what we will add in our project is a customized PCB design to control the robot so we will use the ATmega328 microcontroller instead of using a whole Arduino Nano board the way the community did for this project.
The robot has many features and you will like its movements performed by 4 servo motors and its sounds diplayed through an active buzzer, the robot will be powered by a simple 9V lithium battery and controlled by a Bluetooth module through an android app that you can download directly for free from playstore and appstore.
The robot movements are performed by 4 servo motors so we have 2 servos in each leg and also there is an upgraded version of the OTTO robot to control the hands movements too but we will not do this in this instractable and we will upgrade the controle board for this task in our coming tutorial.
In order to gather all the electronics components together I chose to create my own PCB design for this project and produce it from JLCPCB, I moved to easyEDA platform where I prepared the following circuit diagram and as you can see all the components that we need, then I transformed the circuit design into a PCB design with the required dimensions to fit the robot chassis.
After preparing the circuit, I transformed it into a customized PCB design with the reuired dimentions and shape to suit our robot chasis. The next step is generating the GERBER files of the PCB design and upload it to JLCPCB order page to produce our PCB.
Four days to wait for the PCBs and here we are. This is the first time we try the yellow color for the PCBs and it really looks so great.
Moving to the robot body parts, as I already mentioned in the presentation you could have the STL files of this robot from the OTTO community website through this link in order to produce these parts through a 3D printer.
Now we have everything ready to go so let’s review the components list:
★☆★ The necessary components (Amazon links) ★☆★
- The PCB that we have ordered from JLCPCB
- ATmega328 microcontroller : https://www.amazon.com/gp/product/B07PZWYW2F/ref=...
- HC-05 Bluetooth module : https://www.amazon.com/gp/product/B01G9KSAF6/ref=...
- Ultrasonic sensor : https://www.amazon.com/gp/product/B01G9KSAF6/ref=...
- 4 servo motors : https://www.amazon.com/gp/product/B01G9KSAF6/ref=...
- 22pF capacitors : https://www.amazon.com/gp/product/B01G9KSAF6/ref=...
- 10uF capacitors : https://www.amazon.com/gp/product/B01G9KSAF6/ref=...
- An oscillator : https://www.amazon.com/gp/product/B01G9KSAF6/ref=...
- L7805 Voltage regulator : https://www.amazon.com/gp/product/B01G9KSAF6/ref=...
- A buzzer : https://www.amazon.com/gp/product/B01G9KSAF6/ref=...
- 9V battery : https://www.amazon.com/gp/product/B01G9KSAF6/ref=...
- Header connector : https://www.amazon.com/gp/product/B01G9KSAF6/ref=...
Now we need to upload the robot code to the microcontroller so we will need the Arduino Uno board to do this, about the robot software you can use the Arduino IDE to upload your code or you can simply download the OTTO blockly IDE which will assist you with some examples to start making your own program for the robot, in our case we will upload this code provided by the community, this code allows me to access all the robot features from the android app.
You can have the last updated version from this link, or you can simply download the below attached file related to the code version 9 that we used in our project.
We made the electronic part ready so let’s start soldering our electronic components to the PCB.
As you can see through the pictures, using this PCB is so easy due to its very high quality making and without forgetting the labels that will guide you guys while soldering each component because you will find on the top silk layer a label of each component indicating its placement on the board and this way you will be 100% sure that you will not make any soldering mistakes.
I’ve soldered each component to its placement, about this PCB it is a two layers PCB this means that you can use both sides of it to solder your electronic components.
Before starting the assembly I advise you to calibrate all your servo motors to 90° angle, just use a basic Arduino servo demo to do this.
The assembly is just couldn’t be easier than this:
- take the robot body and two servo motors and screw them from the top side.
- then join the legs to the assembled servos to control the legs movements.
- the next step is joining the other two servos to the legs and attach the foot parts to the servos and this way you will have one servo for each leg and one servo for each foot.
- The next part is the ultrasonic sensor that we will put it on the head of our robot.
- Last step is connecting the ultrasonic sensor to its connector and connect the servos to the PCB.
You can refer to the code where you will find the appropriate symbol for each servo and you will find the same label in the top side of the PCB that we made.
After connecting the battery we attach the head to the body and we can start playing with our robot.
I really enjoyed this project and I hope to see you guys producing this kind of robots, but still some other improvements to perform in our project in order to make it much more butter, that’s why I will be waiting for your comments to improve it.
One last thing, make sure that you are doing electronics every day.
It was BEE MB from MEGA DAS see you next time.
No preview (download only).