Radar Simulator

Few days ago I started wondering how could I make a Radar Simulator with Processing.
I have already placed an ultrasound range finder on a servo motor and sent its data into the radar program, one video will be posted soon.

Now I want to have my wireless communication module setup complete and working on a robot, and I can have the sensor data being displayed on a screen as the robots move around the space. This will be a visual reference of the robot perception, it is also a good exercise of physical computing.

This applet simulates the sensor data through the Y mouse coordinate, have fun :]

Farrusco tries to write ‘LMR’

While coding new interactivity into this robot and trying to achieve better control on the way it moved, I thought it would be cool to see what happened if I mounted one little servo to hold a pen and asked it to write ‘LMR’ – the initials of the website:  www.letsmakerobots.com

The idea came from this challenge… and I thought I could give it a shot.


The result was far from what I expected.
The pen was not centered on the chassis.. the correct position for the pen should be exactly between the wheels..
At the same time, it was nice to see this little creature drawing lines on its own  :)

This is what could be drawn if the pen was centered.
I have a lot of difficulty keeping right angles everytime I move on to the next letter..  :)

Easy Arduino Robot Tutorial – Part I

VERSÃO EM PORTUGUÊS

UPDATE: I decided to remove the H-Bridge part, now the motors are directly connected to the AA batteries, and the Arduino is connected to the 9V battery. This little bot will move only forward.

In Part II, I will add an H-Bridge and two SPDT Bump Switches. The robot will move in both directions and avoid obstacles.

————————————————————

Hi! And Welcome to the Easy Arduino Robot Tutorial – Part I !!
For your own sake read this before you move further : ]

Index:

1 – Introduction
2 – Before Start
3 – Parts List
4 – Hello Hardware!
5 – Assemble Process
5.1 – First Car
5.2 – Second Car
5.3 – Servo and front wheels
5.4 – Batteries
5.5 – The Circuit
5.6 – The Servo
5.7 – LDR
6 – Program!!!

—————————————————

1 – Introduction

In this tutorial you will see that you don´t have to be an electronic guru, or a super skilled programmer to make a simple, easy and funny robot.

It won´t have any IR sensor or ultrasonic.

So what will this robot do.. you may ask..
It will be an insane light seeker!!

If you decide to follow this tutorial, at least you should be able to use a breadboard, and if possible to do a little solder, and a bit of hot glue.

————————————————–

2 – Before Start

————-

Have you ever used one BREADBOARD ?

Here you have a nice tutorial and explanation on the way it works:
http://letsmakerobots.com/node/596

————-


In section 4 I will show you how to read analog inputs and how to make one servo move but..

If you don´t know:
–    how to blink a LED;
–    read a potenciomenter analog input;
–    use the Serial command;
–    understand the basics of OOP (Object Oriented Program).

I suggest you to visit this link:

Getting Started with Arduino

Here is a nice set of tutorials:

http://itp.nyu.edu/physcomp/Tutorials/Tutorials

http://todbot.com/blog/bionicarduino/
http://todbot.com/blog/spookyarduino/

NOTE:
Always take one step at a time. Every time you assemble something test it, and if you are successful, move on to the next step.
This is a good practice, and it will make you save precious time and patience.

—————————————————

3 – Parts list:

Generic parts:

1 Arduino Diemicila
1 Breadboard
1 Servo
2 LDR (Light Dependant Resistance)
2 10k resistors
2 On / off switchs
5 – 1 Ohm resistor (this will depend on your motor power)
Prototype Wires (colored if possible)

Customizable parts:

Batteries – it depends on your motors needs

I will use:

1 9V battery  with power plug to connect to the Arduino
3 AA NiMh to power the motor

————

I choose to use toys instead of premade parts. It is faster to get them and they are also cheap, and fun to work with. Besides, it enhances your criativity and you get used to be a solution finder.

————

In 1 Euro stores, or chinese stores you can find lots of cheap toys, waiting to be vandalized!  : )

This one was 5€ and I will use its chassis as a platform

This little car was 2€ and I will use its front wheels for steering.

——————————————————–

4 – Hello Hardware:

LDR – Light Dependant Resistors

This part is for beginners in Arduino, I will show briefly how to move a servo, and read analog inputs through LDR´s.

———–

Reading LDR analog inputs:

The LDR can be placed in either way and so do the resistors. This means they don´t have a + or – .

Take one wire and connect into one Arduino Analog Pin of your choice

LDR CODE

———–

Now for the Servo:

Before you use the servo code, you must install Servotimer1 library. Unpack it into your hardware/libraries folder to add the library. Then restart the Arduino Software.

Take the black wire that comes from the servo and plug it into the black line on the breadboard, the Red wire into the red line on the breadboard, and the Yellow wire into the Arduino pin 9.

Take two more wires and connect the 5V on the Arduino into the red line on the breadboard and the GND on the Arduino into the black line on the breadboard.

The Arduino can be powered from USB cable.

SERVO CODE

Now that you are more familiar with Arduino bits and bytes, LET THE FUN BEGIN   :D

———————————————————

5 – Assemble Process

5.1 – First Car

Disassemble the car which will provide platform for components and also traction system, and remove all the parts except the rear wheels and the motor.

Solder two cables to the motor pins.

Also soldered one black wire to the Ground pin on the battery case and one red wire to the power switch.

This was the first and the last time you see soldering in this tutorial.     :)

———–

5.2 – Second Car

Another little car was vandalized, this time I will use the front wheels to have the steerings.

———–

5.3 – Servo and Front Wheels:

This is not a very pretty glue work i know..  try to center the wheels the best you can.

Next, I used hot glue to place the servo next to the chassis.

ATTENTION: Certify that both wheels touch the ground when turning, otherwise you might have problems.

Left wheel doens´t touch the ground = PROBLEM

Both wheels touch the ground = Problem solved      : ]

———–

5.4 – Batteries

I was lucky with this little car. The 9V battery fits perfectly inside the chassis,  and I can use the 3 AA batteries case, and save space to put the breadboard on the top.


———–

5.5 – The Circuit

The Arduino is plugged from the 9V battery.
Red and black wires connect the 5V and Ground from the Arduino to the breadboard main row´s.

Now connect the Red wire from the AA batts into one row of the breadboard

Next, I will use five resistor´s of 1 ohm between the motor and the 3 AA batts.

This is low value resistors, each one of this resistors will make the motor go slower.

I could use only one resistor of 5 ohms, but using five of 1 ohm, I can have better control on the motor power.

If I want less or more motor power, I will remove or add another 1 ohm resistor.

This way the motor won´t burn out and it still has got a good speed.

Note the Ground wire is connected to another row.

And this way I connect the motor wires. Turn on the power and see if it moves forward and if has enough power to drive your robot.

———–

5.6 – The Servo

Connect the Servo to the breadboard.

Grab two wires and connect them into the breadboard main row´s 5V and Ground.
Grab another wire and connect the Servo Signal wire into Digital Pin 9 on the Arduino.

———–

5.7 – LDR

Final step:

Place the LDR and resistors, they don´t have + or -. So you can place them in any direction.


The green wires to connect them into the Arduino Analog Input Pins 4 and 5.

——————

( test the LDR as you did before)

This is the final look of our circuit.
Every physical steps are done! So now let´s upload some code into the Arduino.

———————————————————

6 – Program!!!

Robot Program

——————————————————-


I´ve made the LDR antennas longer so it can be more sensitive to light variations.

——————————————————-

———————————————————

I hope you find this tutorial useful!!  And I hope to see your Arduino robots posted soon  ;)

———————————————————
———————————————————
———————————————————

5 . Feb . 2009

just to say there won´t be any part I, I apologize for this.

I´ve done it, but its a bit wacky, too many wires and connections just to achieve a stupid goal… it was a good intention though..

sorry mates

3256087317_304c5a6ce7.jpg?v=0

3256917228_e245c527c4.jpg?v=0

Snail the Light Seeker

This creature roams through the surrounding environment and seeks for light sources. When an object is too close it reverses motion and turns around, and then goes on seeking light.

I used an old toy motor and platform, then added two LDR light sensors, a SHARP infrared sensor on the front and Arduino Diecimila for the brain.

2813738381_fe8cc3380f.jpg?v=0

2813737687_8f62852f83.jpg?v=0

2814588794_accdaa2efa.jpg?v=0

—————————————————————————-

11-11-08 UPDATE:
My Snail bot is on WIRED  :)

http://lab.guilhermemartins.net/?p=308

Farrusco

With a better understanding of robot building and navigation programming I came up with this robot!

I think that the great improvement here was that I’ve made a plan of what I wanted to build and looked after solutions before the assemble process. So, this one came out a more successful robot!!

This is my first real approach of avoiding obstacles and navigation programming and I’ve had a lot of fun with it! Nevertheless, the values that return from the sensor fluctuate a little and I need to work on it!

2802936768_b45c9ed761.jpg?v=0

2802937418_54b426c7a3.jpg?v=0

2802064089_cd78f6d959.jpg?v=0

2802064305_5f1238bbe3.jpg?v=0

big br0 (work in progress)

Here goes my second robot. This turns out to be the 4th robot actually  :)

I found this offroad car in an old junk and it was love at first sight!

Now I want to add some brains and sensors and give him a new life :]

The steering DCmotor burned out and I’ve removed all the gears and stuff around it. I’ve made a hole and installed a servo motor to do the steering, it seems to work out good!  I can´t post a video because the motor shield I was using burned out as well, now I’m working on a custom motor driver  …  (it seems I’m having lots of burning issues lately)  :D

2818515954_61d0860f87.jpg?v=0

2817666703_8c2ff22e9a.jpg?v=0

2008 – 09 – 22 —- update ———————————

My custom motor controller seems to work quite well!  These videos show the servo steering.

Baratinha (My 1st Robot)

This was my first robotic experiment, I used an arduino and a motor shield with one servo for steering and a small dc motor for traction.

I didn’t have any cool sensors like infrared or ultrasonic at the moment, so I used two micro-switches to be like bug sensors. And I called it “baratinha”, a Portuguese word for “little cockroach”.

Recently I found that this project is featured in ladyada´s ranting !
And also on MAKE blog !

I´m so proud of my little Baratinha!!  :]               Thanks to João Silva for putting me up-to-date!

2778075637_f996b1cfa4.jpg?v=0

2778075763_2b1bbec3b2.jpg?v=0

I thought this was a finished project… I was wrong!! :]
I’ve decided to change the structure and the geometry of the chassis. Now the gravity center is lower, which performs more stability. I’ve decided to remove the other power switches and put these smaller ones, one below the other, so that I can switch on all the system at once. And now about the ultrasonic sensor :)
I’m programming the navigation system, and it’s being another challenge for me! But I’m having lots of fun with it!!
I’ll be out for one week so see you soon guys! ;)

2786011389_9e87cb7752.jpg?v=0

2786011287_e801cc6c16.jpg?v=0

Just a final note: I thought that if I created a blog post and assigned it to my robot project it would appear in this page.. but it didn’t.. so, I’ll update only this page from now on..

—– ** —– —– ** —– —– ** —– —– ** —– —– ** —– —– ** —–

1 week later.. :)

I´m closing this project because the motor that I’m using is very weak and it doesn’t have enough strength to run with all that stuff. I’ll make a similar one with a stronger motor and bigger wheels, and with a better understanding of robot design!

It was a good way to start and I’ve learned a lot about hand crafts, physical construction, materials and programming. :)

I started this robot without any planning at all, I was just adding more and more stuff, and when a problem was solved, another problem was created, so this resulted very time consuming. It was something like adding something here and something there, then I didn´t liked it there so changed it… Now I must fix this because I’m thinking about a new way of doing it… so it was like a never ending project  :)

The main purpose here was to build something, to understand how work some materials, like hot glue,  and to program an interaction system.

2802841202_7958acfe7d.jpg?v=0

The main purpose here was to build something, understand how some materials work like hot glue, and program an interaction system.

G_Cube

This was my final project at Restart in the course Digital Art and New Media.
It is an Immersive Sound Installation where the visitor is invited to interact with a cube and to use it to experience sound.

The sounds are a fusion between recorded samples of native and ritual sounds and songs (Didgeridoo´s, Djambes, Shamanic rituals, Portuguese Traditional Songs from Miranda do Douro) and real time sounds generated by software synthesizers created in MAX-MSP.

By touching the cube faces the visitor changes sound tracks and enables / disables sound effects. In real time a projection is created and returns a reference of the sounds being played, at the same time that the visitor´s hand position is analyzed beyond the cube thus changing equalization and triggering more sound effects. The cube color and the projection color change when new sounds are triggered.

Special thanks to Pedro Pestana, André Sier, André Gonçalves and to all my classmates  ;)

Video and more photos soon

Hardware:
2 Arduinos Diecimila
2 RGB LED
Computer

Software:
MAX MSP JITTER
Processing