Show Posts
Pages: [1]
1  Topics / Robotics / Re: Lego Ultrasound Sensor - please help on: August 31, 2012, 05:53:39 pm
Hey skier,

You probably know this, but each protocol is essentially just a language for data transmission.  You may understand english, but someone else may speak Spanish.  If you aren't speaking the same languages with the proper grammar, then you can't understand each other.

I2C is a simplistic communication protocal developed for communicating over a bus with two wires.  More can be read about it here:

In terms of using i2c to interact with the sensor - I have never done this with any of the NXT hardware, so if you have access to an oscilloscope, you might want to try and view / record some of the serial interactions that are being sent over the bus.  Otherwise, If you don't I would read the wikipedia article to get more information about i2c.  There is a lot more information out there too, but the arduino has the ability to communicate over i2c.

If this is too complicated for you, you can also use the NXT as a "translator" device by sending the NXT direct bluetooth commands.  A quick and complete guide of the Bluetooth commands can be read here:

You will have to get a serial to bluetooth dongle such as this one:

to do that, and just based on economics, you might be better off getting a PING(( sensor.  Either way, there is a lot of information out there and if you have any questions, let me know!

2  Using Arduino / Networking, Protocols, and Devices / Re: NXT and Arduino on: August 31, 2012, 05:39:27 pm
I'm not too sure if you found an answer, but this looks like this might be a good solution:

Get a serial to BlueTooth adapter, and then send commands to the NXT using that.  For the NXT commands you wish to send, there is a great tutorial here:

Hope this helps,
3  Topics / Device Hacking / Re: noob with roomba and arduino. optical sensor question on: July 09, 2012, 08:38:29 pm
I believe what you migth be looking at are the "cliff sensors".  They will detect if the floor from underneath the roomba vanishes - and thus it will stop to avoid driving down some stairs or over a big dropoff.

I don't know if you could utilize these sensors to follow  a line unless it was driving over a very "controlled" surface.  You probably would have the best chance at utilizing the sensors to do this by using alumium tape for the best reflectivity, and driving the roomba on a rug (very un-reflective).

The roomba itlsef is not very smart however, so you'd have to feed the sensor feedback into arduino, and maybe power the emitters with a lower voltage level.  I assume that since the leds are so close - they might be "saturating" the reciever no matter if the surface is dull / diffuse.

If you look at teh setup of the sensors, they are set at a specific angle - so really the sensors are more setup to work to complete a "light circuit" just based on geometry.  When there is no floor for the light to reflect on - the reciever will no longer pick up the reflected light - and detect the cliff.

Check this out / this will probably give you some info on it:

Hope this helps, and if you have any further questions about this, programming or electronics, ask away!
4  Using Arduino / Project Guidance / Re: roomba help? on: July 09, 2012, 08:24:01 pm
Hey JoeO:

A great place to start would be to look up "arduino serial port communication", or looking up some turtorials about that.  I'm unclear if you are getting lost with the arduino, or just what types of commands you need to send to the roomba.

If you are just trying to learn more about the roomba communication, I would highly recomend taking a look at this turtorial:

It doens't specifically use an arduino, but it uses the serial port of a PC computer - which should operate identically in nature to what the arduino's serial port should do. 

If you are starting from a point where you totally lost - i would recomend reading and folowing the turtorial.  You will need to get a roomba serial cable, but you can make a DIY one (I think there is one up on sparkfun).  Additionally you will either need a serial to USB dongle (they are cheap), or an older computer with a serial port.  Follow the steps and once you get the roomba moving around - I would try to duplicate it with your ardunio.

Again - I don't know where you are starting from, but if you have any questions - please ask away!  hope this helps smiley-razz.
5  Using Arduino / Project Guidance / Re: tear apart roomba or reprogram it? on: July 09, 2012, 08:13:57 pm
Yeah - i would do the same.  The roomba is already a complete package - so you might as well get some new batteries and then use your arduino to control it.

I haven't spent much time opening up the roomba, but I would assume that if you pulled it all apart, you'de just have to spend more time building or purchasing amplification electronics for the motors, and other stuff that you wouldn't have to worry about.

If you are looking for a really good & simple introductory how-to writeup to look at about programming the roomba, I'd recomend checking this out:

Additionally there are some other resources up there you might be able to use.  Hope this helps, and if you have any specific questions - ask back and I'll try to help you out as much as I can.
Pages: [1]