Introduction: 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.

Comments

author
PaulaG49 (author)2016-07-18

SNAKES TELL ME WHAT CONTROLLER I SHOULD BUY

author

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.

author
PaulaG49 (author)2016-07-08

what remote should I buy?

author
EmanueleS5 made it! (author)2016-06-06

i done same projet, but i used springrc sm-s4303r 360° servomotors, and i don't know what kind of battery i need... any tip?

robot works perfectly, if i solve the battery problem :(

IMG-20160518-WA0007[1].jpegIMG_20160606_231525[2].jpg
author

If a 4AA battery pack does not work there must be something wrong. What exactly do you mean by "robot works perfectly"? What power supply did you test it with?

author
EmanueleS5 made it! (author)CoreTechRobotics2016-06-13

i tested it with arduino in 5V pin and works, but when i use the batteries with a transformer (to transform 6V of batteries to 5V) it doesn't: the robot rotates, but attiny85 doesn't works.. it doesn't tell the servomotors how to move and the robot rotate around himself. it also make a different sound: if i connect it to arduino without batteries the sound is more powerful and every component does his job.. if you have facebook or whatsapp i can send you more photos and videos, the strange thing is that 5V from arduino worked, 5 from batteries not

IMG-20160512-WA0005[1].jpeg
author

Hi, your robot is looking very nice so far.

I am using a 3.7V LiPo battery, those are widely available for rc planes and drones.

4 AA batteries should also work but I don't think there is enough room left for them in your robot.

author

i used 4 AA and 4 AAA batteries but the robot doesn't work.. so i'll buy this battery, thank you :) how much long is the battery life?

author
Scramblbot126 (author)2016-05-13

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!

author
Scramblbot126 (author)2016-05-08

Does this ronot move atonomously without the remote or do you have to reprogram the chip? I really like your design!

author

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.

author

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.

author

Thanks!

author
EmanueleS5 (author)Scramblbot1262016-05-11

i tried to modify the code , but no results.. can anyone help please :( ?

author
Scramblbot126 (author)EmanueleS52016-05-11

What did you try?

author
EmanueleS5 (author)Scramblbot1262016-05-12

I tried to make the code work without the ir reciver, but robot keeps walking , i'm not good to programmming, can you do tjee code for me please? I only need to delete the infrared part

author
robobot3112 (author)2016-05-06

you think laser cutting would work?

author
SunixDev (author)2016-05-02

Nice project , to bad for me i cant get 3d printer...

author
BradBuilds (author)SunixDev2016-05-04

I can print and ship it for you. Email me at 3dprintstore5 at gmail.com

author
EdensGrandma (author)SunixDev2016-05-03

I don't know where you are, but some libraries are getting 3D printers.

author
LucaR6 (author)2016-05-02

did you put the ultrasonic sensor for balancing? thx

author
CoreTechRobotics (author)LucaR62016-05-02

The sensor is for only autonomous navigation. The robot balances by itself because there is more weight at the bottom than at the top.

author
LucaR6 (author)CoreTechRobotics2016-05-02

yes, but how can you control the pitch? can you share a video about it? with it controller? thanks I'm very interested :)

author
CoreTechRobotics (author)LucaR62016-05-02

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.

author
LucaR6 (author)CoreTechRobotics2016-05-02

do you have a link for sphero? thx a lot! :)

author
CoreTechRobotics (author)LucaR62016-05-02

You could have googled it :)

https://www.google.com/search?q=sphero

author
LucaR6 (author)CoreTechRobotics2016-05-02

yes but I mean the instructions XD btw no problem :) now I try to build something similar with pitch controll and camera