Introduction: Yogy - the Arduino Powered Robot Made for Kids
In this Instructable I will show you how to make a cute and kid friendly Obstacle Avoiding Robot I like to call Yogy.
Yogy gets his name from the Yoghurt tub body he is made from. I am a sucker for seeing the best in trash and this Yoghurt tub looked too good to be thrown away. I salvaged it and decided to give it a new life, a better life, a life as a robot!
You can follow through with me and make Yogy by following the written steps or pictures, which are pretty self explanatory.
Or if you don't feel like reading through and clicking with your mouse, you can check out the videos of the build with commentary!
Yogy gets his name from the Yoghurt tub body he is made from. I am a sucker for seeing the best in trash and this Yoghurt tub looked too good to be thrown away. I salvaged it and decided to give it a new life, a better life, a life as a robot!
You can follow through with me and make Yogy by following the written steps or pictures, which are pretty self explanatory.
Or if you don't feel like reading through and clicking with your mouse, you can check out the videos of the build with commentary!
Step 1: Parts List
Electrical Parts:
• Arduino Uno
• Prototyping Shield + Mini Breadboard
• 2 * Continous Rotation Servos + 2 * Wheel Servo Horns
• HC-SR04
• 8 Ohm Speaker
• Male and Female Breadboarding Jumper Cables
• 4 * AA Batteries + Pack
• 9V Battery
• LED
• Power Switch
Construction Parts:
• Yoghurt Tub
• Acrylic or a CD (or any other material you can make a base from)
• Small Square Bracket
• Small Screws
• Coke Bottle Lids
Tools:
• Coping Saw
• Screwdriver
• Stanley Knife
• Hot Glue Gun + Glue Sticks
• Wire Cutters
• Wire Strippers
• Double Sided Foam Tape
Optional Extras:
• 2 * APC220 RF modules
• Soldering Iron + Solder
• Scrap Pieces of Cardboard
• Electrical Tape
• Arduino Uno
• Prototyping Shield + Mini Breadboard
• 2 * Continous Rotation Servos + 2 * Wheel Servo Horns
• HC-SR04
• 8 Ohm Speaker
• Male and Female Breadboarding Jumper Cables
• 4 * AA Batteries + Pack
• 9V Battery
• LED
• Power Switch
Construction Parts:
• Yoghurt Tub
• Acrylic or a CD (or any other material you can make a base from)
• Small Square Bracket
• Small Screws
• Coke Bottle Lids
Tools:
• Coping Saw
• Screwdriver
• Stanley Knife
• Hot Glue Gun + Glue Sticks
• Wire Cutters
• Wire Strippers
• Double Sided Foam Tape
Optional Extras:
• 2 * APC220 RF modules
• Soldering Iron + Solder
• Scrap Pieces of Cardboard
• Electrical Tape
Step 2: Marking the Layout
First you will need to trace the outline of your yoghurt tub onto the material that you wish to use as the base of the robot. This particular tub is 12.5 cm in diameter and 10 cm tall. If you can’t find something similar in size go larger, as any smaller and all the components won’t fit.
Next you will want to place your continuous rotation servos onto the template and arrange them so that the output splines are in the centre of the circle. This is important as it keeps the centre of rotation in the centre of the robot, meaning the robot can turn around on a point. Once you have them where you would like trace around the servos with a marker.
Next grab the circular servo horns and mark around them. You do this because we will have to cut holes in the base to allow the wheels to poke through. Make sure you have sufficient room and mark the holes you need to cut out.
Next you will want to place your continuous rotation servos onto the template and arrange them so that the output splines are in the centre of the circle. This is important as it keeps the centre of rotation in the centre of the robot, meaning the robot can turn around on a point. Once you have them where you would like trace around the servos with a marker.
Next grab the circular servo horns and mark around them. You do this because we will have to cut holes in the base to allow the wheels to poke through. Make sure you have sufficient room and mark the holes you need to cut out.
Step 3: Preparing the Drivetrain
One method to cut out the wheel holes is to drill two holes either end of the wheel hole with a drill bit the same diameter as that of the width of the hole. Using a Coping Saw connect the two holes together. Once this is done double check to make sure there is enough clearance between your wheel and the hole as you don’t want the two to rub against each other.
Once you are happy that your two servos and wheels are going to fit nicely you can peel the protective sheet off the acrylic.
Attach a strip of Double Sided Foam Tape to the side of the servo, this will be used to attach it to the base.
Attach another strip of Double Sided Foam Tape to the bottom of the servo, this will be used to join the two servos together.
Once you are happy that your two servos and wheels are going to fit nicely you can peel the protective sheet off the acrylic.
Attach a strip of Double Sided Foam Tape to the side of the servo, this will be used to attach it to the base.
Attach another strip of Double Sided Foam Tape to the bottom of the servo, this will be used to join the two servos together.
Step 4: Attaching Drivetrain and Power
Peel the protective sheet off the bottom strip of tape and join the two servos together. Press them together quite firmly and hold for a few seconds to ensure the bond is adequate.
Then peel the protective sheets of the two sides of tape and press them against the base. Again it is important to press and hold to make sure they are really well stuck together. The next stage is to mount the batteries. In my case I am using a 4.8V rechargeable battery pack so first I need to see if it can fit.
Placing the battery pack at the back of the servos and placing the yoghurt tub over them all makes it clear that it will all fit together nicely. You can then begin to attach Double Sided Foam Tape to the back of the battery pack.
Peel the protective sheet off the tape and attach it to the two servos.
Then peel the protective sheets of the two sides of tape and press them against the base. Again it is important to press and hold to make sure they are really well stuck together. The next stage is to mount the batteries. In my case I am using a 4.8V rechargeable battery pack so first I need to see if it can fit.
Placing the battery pack at the back of the servos and placing the yoghurt tub over them all makes it clear that it will all fit together nicely. You can then begin to attach Double Sided Foam Tape to the back of the battery pack.
Peel the protective sheet off the tape and attach it to the two servos.
Step 5: Attaching Arduino
Next attach another bit of Double Sided Foam Tape to one servo and attach the Arduino Uno to it on the flat section of the underside. (The bit where the Arduino logo is)
After doing this, your robot should look a little something like this.
After doing this, your robot should look a little something like this.
Step 6: Sensor Mounting and Wiring
Next grab a scrap bit of cardboard and create a template for the Ultrasonic Sensor. Cut out the template and the holes for where the ‘eyes’ will go.
Tape the template to the yoghurt tub where you would like the sensor to go and trace around the ‘eye’ holes with a marker. You can then cut or drill out these holes and insert your sensor into it. Using a combination of Female and Male Breadboarding Jumper Cables connect the Trigger of the sensor up to Digital pin 6 of the Arduino. Connect the Echo to Digital pin 7. Connect the Vcc up to the 5V and connect the GND up to the Ground of the Arduino. Next you will need to connect your two continuous rotation servos shown in the included diagram.
Tape the template to the yoghurt tub where you would like the sensor to go and trace around the ‘eye’ holes with a marker. You can then cut or drill out these holes and insert your sensor into it. Using a combination of Female and Male Breadboarding Jumper Cables connect the Trigger of the sensor up to Digital pin 6 of the Arduino. Connect the Echo to Digital pin 7. Connect the Vcc up to the 5V and connect the GND up to the Ground of the Arduino. Next you will need to connect your two continuous rotation servos shown in the included diagram.
Step 7: Checkpoint
Now your robot should be looking something a little like this.
Step 8: Giving the Arduino Power
Next we will need to give power to the Arduino, we will be doing this with a 9V battery. The 9V battery will be placed underneath the Arduino and in-between the two mounting brackets on the Continous Rotation Servos. We will need a power switch as so we don’t need to keep pulling the robots lid off to turn it on and off, so we need to mount it on the body. Measure the travel distance of your switch.
Mark an appropriately sized hole on the body large enough for the travel distance of your switch and cut it out. Test your switch to make sure it has enough room to move.
Mark an appropriately sized hole on the body large enough for the travel distance of your switch and cut it out. Test your switch to make sure it has enough room to move.
Step 9: Mounting Switch and Battery
Now attach the the switch to the body using some small screws. You can use a metal scewer to poke holes in the yoghurt tub to allow the screws to go through. Next measure up the Aluminium Square Bracket along the 9V battery to see how much you will need to hold it in place.
Mark on the body where it will go and mark on the bracket how much you will need. Cut it to shape using a Coping Saw and attach it to the body using Hot Glue. There should only be just enough room to allow your 9V battery to slide in as you want it to be a tight fit to hold it in place. Connect the 9V battery up to the switch and connect the positive end of the switch to the Vin pin of the Arduino and the ground to the GND pin on the Arduino.
Mark on the body where it will go and mark on the bracket how much you will need. Cut it to shape using a Coping Saw and attach it to the body using Hot Glue. There should only be just enough room to allow your 9V battery to slide in as you want it to be a tight fit to hold it in place. Connect the 9V battery up to the switch and connect the positive end of the switch to the Vin pin of the Arduino and the ground to the GND pin on the Arduino.
Step 10: Attaching Wheels and Castors
Now you will want to attach your wheels to your servos using the screws that come with your servos. Next grab two coke bottle lids and place them alongside your robot, these will act as castors to prevent your robot from wobbling too much.
Mark how much you need to cut off with a marker and cut it with wire cutters.
Grab the two smooth ends of the coke bottle lids and hot glue them to the underside of your robot.
Now you can drill some small holes around the perimeter of your bot and screw the body in place.
Mark how much you need to cut off with a marker and cut it with wire cutters.
Grab the two smooth ends of the coke bottle lids and hot glue them to the underside of your robot.
Now you can drill some small holes around the perimeter of your bot and screw the body in place.
Step 11: Coding
Now I have attached two code files here. One is for basic obstacle avoidance use and is heavily commented. The other code is for more advanced users and offers a lot of cool features with no commenting.
The more Advanced code uses some speaker functions and some serial control.
Basic Code: https://www.dropbox.com/sh/z30enwcpb96gr1n/cZ8jOGxW3u
Advanced Code: https://www.dropbox.com/sh/grtgno84hgk5teo/KeqeLq5I_M
The more Advanced code uses some speaker functions and some serial control.
Basic Code: https://www.dropbox.com/sh/z30enwcpb96gr1n/cZ8jOGxW3u
Advanced Code: https://www.dropbox.com/sh/grtgno84hgk5teo/KeqeLq5I_M
Step 12: Finished!
Now one of the main points of this bot is to completely customize it how you want. I've added a speaker, LED and an RF module onto mine to turn it into a really cool little toy for kids. You can watch the videos below to see how he goes. All the fancy things he does are included in the Advanced code but just the plain and simple Obstacle Avoidance is in the basic. You will also see in the videos I have created a wireless SNES controller to control him. The SNES controller is great for kids as it has basic controls and the buttons are colour coded. I will show you how to make your own controller soon :)
Have fun!
Have fun!