Attiny Canbot
Intro: Attiny Canbot
This short Instructable will show you how to create a remote-controlled robot using 3D-printed parts and an Attiny85.
STEP 1: Aquire Components
Parts list:
1x Atmel Attiny85
2x HXT900 from Hobbyking or any same sized micro servo
1x 3,7V LiPo battery (e.g. http://www.dx.com/de/p/tigers-3-7v-600mah-15c-lith...)
1x HC-SR04 Ultrasonic range sensor
1x 38kHz Infrared receiver (e.g. https://www.conrad.de/de/ir-empfaenger-sonderform-...)
1x 9 x 4mm switch (or use a jumper)
3D printed parts: http://www.thingiverse.com/thing:965449
1x bottom.stl
1x top.stl
2x wheel.stl
Print the top and bottom parts with the flat side down and supports enabled.
Depending on your printer and servos you will have to sand those parts down a bit.
STEP 2: Electronics
Modify the servos for continuous rotation. You can find a nice tutorial here:
https://learn.adafruit.com/modifying-servos-for-co...
Connect the components as shown in the circuit diagram.
It may help to use a small prototyping pcb and thin wires.
STEP 3: Programming
You can program the Attiny85 using Arduino code and an Arduino as a programmer:
http://highlowtech.org/?p=1695
The full source code can be downloaded from this Instructable (or the Thingiverse page).
The infrared receiver works best with Sony remotes.
You will have to flash the code to an Arduino and output the data via Serial.print().
This way you can find out which button corresponds to which code.
STEP 4: Assembly
Place the components inside the robot using hot glue.
The two halves of the 3D-printed shell can be assembled using the screws that come with the servos.
23 Comments
pingsinoca 1 year ago
Hello everyone, I'm from Taiwan, and I'm going to do this project. I also bought the remote control. I'm using the remote control to press buttons (front/rear/left/right/auto mode) to watch the transmit code, it has appeared, the code is saved Down, after the initial activation of the code, the remote control action command has also been modified, and all the other materials are prepared (attached picture), and the assembly will start today, and it will not be long before I will post a comment!
PaulaG49 7 years ago
SNAKES TELL ME WHAT CONTROLLER I SHOULD BUY
CoreTechRobotics 7 years ago
What's up with snakes?
What remote you need depends on how experienced you are with Arduino and electronics. If you needs something for beginners you could look for a complete kit like this: https://www.sparkfun.com/products/13235
You can also take the remote from your TV and figure out the code somehow. But that is more difficult.
PaulaG49 7 years ago
what remote should I buy?
Scramblbot126 7 years ago
Sorry to bother you again but, do you have to sync the remote to make it work or does the sensor just take in the info? Thanks again!
Scramblbot126 7 years ago
Does this ronot move atonomously without the remote or do you have to reprogram the chip? I really like your design!
CoreTechRobotics 7 years ago
The easiest way would be to delete the IR function and place just this in the main loop:
if(getDistance() < 10){ // check if you are in front of an obstacle
moveMotors(94, 20); // drive backward in a curve
delay(400); // give the robot time to balance out
}
else{
moveMotors(120, 120); //drive straight forward
}
But you have to experiment a bit until it will work.
CoreTechRobotics 7 years ago
Thanks!
Right now you need to press a button on the remote to enter the autonomous mode.
But if you are capable of programming the Attiny with an Arduino, changing a few lines in the code should not be a problem for you.
Scramblbot126 7 years ago
Thanks!
EmanueleS5 7 years ago
i tried to modify the code , but no results.. can anyone help please :( ?
Scramblbot126 7 years ago
What did you try?
EmanueleS5 7 years ago
robobot3112 7 years ago
SunixDev 7 years ago
Nice project , to bad for me i cant get 3d printer...
BradBuilds 7 years ago
I can print and ship it for you. Email me at 3dprintstore5 at gmail.com
EdensGrandma 7 years ago
I don't know where you are, but some libraries are getting 3D printers.
LucaR6 7 years ago
CoreTechRobotics 7 years ago
The sensor is for only autonomous navigation. The robot balances by itself because there is more weight at the bottom than at the top.
LucaR6 7 years ago
CoreTechRobotics 7 years ago
There is a video on top of this page. The robot is can be controlled pretty good, but it is not as smooth as e.g. Sphero which has better motor control and a gyro to stabilize it.