Let's Make Robots!

My first robot, RP-01

RP-01_example.bas18.5 KB

***As demanded I added a code example of his code. It is really messy and has comments in swedish, finnish and english. As my laptop broke down on me, this is a code I found on a USB stick. It is not his final code, but it works.


'Digital outputs:
'    0    servo 0            Head
'    1    Piezo             Sound 1
'    2    LCD                Serout 2
'     3    SRF-005            Pulse
'    4,5,6,7                MOTORS trough L293D

'Digital inputs:
'    0    Infra                           irin
'    1    Driving lights               High portc 1
'    2    Bumperswitch             if pin2 = 1 then
'    3    Tunnelmavalaistus( red mood-light)        High Portc 3
'    4    LASER                      high portc 4
'    5    Linesensor IR-LED      high portc 5
'    6    SRF-005       
'    7    mouth-lights                high portc 7

'Analog inputs:
'    1    Sharp        readadc 1,b1
'    2    LDR        readadc 2



***Uppdate 17 august -10

Finally I got my lasy ass to finish this blog and make a video of my first robot. He has ben ready for over 6 months. 

Thanks LMR for all the free information and hospitality!






The making of RPO

I was going to attend a lecture in a course called designing machine parts, but our professor had a important meeting somewhere on the other side of the world. So instead another professor had a lecture about mechatronics. I was stunned.

I have always been interested in mechanical things, woodworking and electronics. Programming is not my  strongest skill, but I know the basics in java and have programmed some everyday useful programs to my mobile phone.

Suddenly I realized that mechatronics is just the right way to combine many interesting things into one delicious project. Making a robot just suited me.

I decided to make a robot a week ago, and thanks to this site my robot is now working although with very basic navigation. (pretty much copy paste from "start here" with some additional features)


I ordered the parts 8those witch I could not find in my country9 online and started to build the base of my robot. so when my picaxe 28x1 arrived on Monday it already had its own place.

I added some additional features to my project right away. A piezo speaker, LED.s and I managed to hook up a LDR to one of the inputs so my RP-01 knows how bright/dark it is.



RP-01 is still under construction.  I need to seal the electronic components (make a hood) and Make it navigate correctly.

For now my program only makes the robot drive forward end stop when it comes to close to a wall. Then it looks right and left and decides which way to go. If you put your hand in front of it, it will move backwards. When it gets dark it puts on its "driving lights", and when it gets even darker it stops.  It makes different sounds depending on what it sees/do.

PS. Sorry for my bad English






Yesterday some more parts arrived in my mailbox. (I made my own cable for the shapr sensor, but it was not so good so I decided to order a "real" cable). And when I was paying for the shipping already, why not order a extra servo and a extra pair of eyes for upcomming  robot projects? :)

Today i am gonna drink beer and just play with programming editor and try different codes on my robot. It is still very stupid... 



'''''''*******************  Uppdate 7.12 (or12.7, anyway december...)


 Have had problems of thinking about anything other than robots the last days... :D

I have tried many different ways of teaching my little Rp-o to navigate better. Some of them have worked better than others but I am not quite satisfied with any of them. It migth be that I never will be. I am trying to use different ranges and sectors to make him do different things depending on where he sees an object. A big problem has been making it understand that he is in a corner, but I am working on it

I have also made a hood out of the same plastics as the rest of the bot , AND I have added a small servo with tilt so that Rp-o can look up and down.

 RP-01 with new servo



Yesterday I was checking my bank account and found out that  the
tax refund had come. And it was more than I imagined

 soo... I ordered some more parts! heheh... What I ordered will be a surprise for you!

I will have to read about how to change the digital inputs on a picaxe 28-x1 to digital outputs because my 8 outputs are alredy full.

(-motors (4), servos(2),piezo and lights) 


- I will have much to do in school for the following two weeks, but I hope to get some time to work on RP-01.

 I will uppdate this again when something new has happend.



 '''''''*******************  Uppdate 27.12.2009

 I have been reading and experimenting a lot. With everything. Here is RP-01 today

 I have added a LCD display (16*2, serial), changed the Sharp sensor to a SRF-005 ultrasonic and added Infrared control (picaxe infrared upgrade).

I tried to have a tilt/shift servo for the head, but did not like it so i removed the servo but the "head" suited him/it :)  fine so I left it there. ( I did not likeit cause all my output ports are full, and yes I am aware of the portc command, but as far as I know there is no way to use it with motors, servos, piezo or srf-005. If anybody knows some way to make any of those work from a digital input let me know, will you.)



 I am going to add the Sharp sensor back and make it look at the ground in an angle so that it doesn't fall down stairs or other sudden edges. I am going to put a Bumper switch in the front so that if he hits something small he can turn away from it.

 I have been experimenting with custom characters with the LCD. He will probably be smoking cigarettes soon... bad robot!

There have been many problems along the rode, but I hope to solve as many of them as possible before I can call this project ready.

For now I can control Rpo with a remote or have him in autonomous mode. (change the mode with the remote). I am mostly using the LCD for debugging, witch I am doing a lot.


Uppdate 17.8 2010

RPO is ready!

This is RPO today



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

It looks just cool, man! Love the hardhat! :)

Really nice work with hardware! Neat and sturdy! Keep it up! :D

Applause, applause!! :D

Worth the wait, very nice first robot and video and all!!

If this is really your first robot, then I am looking forward to the third! Second as well, but third is going to be interesting! :D

Thanks for sharing (finally!) :)

For your first robot this is SO great! I loved the video too. Great use of LED backlighting.

Congrat my friend,I love your first robot,you did an excellent job. Can you give us a bit of your coding and board connections? Appreciate it. I will read all your posts. Keep up the good work,and your english is realy good.

It's amazingly cool! I  now know I have to add some more features to rommel the boring bot :) and yes, please post the code! It's always good to see some examples of that!

Jeah! I did not show all his features in the video. The Ldr controls the headlights so that when it gets dark he puts them on. And if you leave him with no commands for ~60s he puts on the red backgroundlights and starts to smoke a cigarette on the LCD :D

The code is on my laptop witch is broken. BUT I think I have a Copy of it on a external harddrive, and a USB stick somewere. I will try to find it and post some of it.

Be aware! the code has comments in Swedish, Finnish and English. And it is very very messy, but it works and that is enough for me.

Code added.

Please tell us what software does those nice moving labels. They look very nerdy and flashy at the same time. You must have spent quite ome time editing this video and music.

One more request: please tag your youtube video with these tags: "robot", "letsmakerobots.com" and "lmr". That way, people finding your awesome video will find may other LMR videos. I added this video to the playlist of "LMR classics".

The video editing software I used is Sony Vegas. It didn't take to many hours to put it together.

Video tagged!