While a mouse sensor didn't end up to be the ideal solution I thought it was, it still was much fun implementing the software and playing with the bot. There are a few more advantages to using a mouse sensor too: for example, one of the earliest things I did is check if a register containing the detected surface quality is zero and turn off the motors when that happened. Why? Simply put: when you pick up the bot, the image it sees goes out of focus and the sensor can't distinguish anything anymore. It indicates this by sensing out a zero or really low 'surface quality'-value. So, what I did was make the bot stop dead as soon as I picked it up, which was really handy when I was tinkering with its programming.

Another thing that's doable is detect the lightness of the surface underneath. I decided to 'cage' my bot inside a circle drawn on my floor with whiteboard-marker: with the mouse-sensor I could both detect the line and use the X-movement to do a 180 degrees turn. The effect is quite nice; the only problem seems to be the bot detecting the line in the wood-grain of the floor:

The firmware for this incarnation is downloadable, as usual, and is licensed under the GPLv3. Get it here.

In conclusion: without a second sensor, a bristlebot can't really detect its precise location and angle. The addition of a second sensor and some intelligent calculations of the measurements of the two might work to offset the strafing-effect of the bristlebot. You can have much fun with just one sensor too, though. I know I did.

« Prev 4 


Boo wrote at 5 Nov 2016, 15.01:

Cool cool cool cool

Amos wrote at 15 Nov 2010, 11.02:

I would have used a MEMS accelerometer, but the end result is kinda cute... It almost looks more lifelike with the \"waggle\" motion. You should add a random start/stop routine, so it looks like it\'s \"hunting\" for something. :) Also, put some feeler switches on it and get it navigating a maze!

Kaijuu wrote at 21 Jun 2009, 20.04:

Nice one. :) A typical Sprite Project yet again.

andre wrote at 17 Jun 2009, 20.39:

two words. dead mobiles. Nice little disk motors in Samsungs and many others, you can even take them off the dead screen assemblies (ask your local phone shop really nicely and offer them a few $) Interestingly, its possible to drive these from a single PIC 10F20x output at 3V, just add a parallel tantalum capacitor to limit surges. i did also come up with an idea, software control the LED to compensate for surface variations.

JoeJoe wrote at 17 Jun 2009, 17.13:

As I said, not everyone can use flash.. so you just see nothing but blank space.

Keenan wrote at 17 Jun 2009, 5.15:

You can get the YouTube URL from the embedded widget easily. Just click the little arrow thing in the bottom right, then the little control panel looking thing. The URL will appear. Clicking it once will place it in your clipboard.

sbeam wrote at 16 Jun 2009, 16.31:

hahaha, you just had to exaggerate :) awesome!

Ultraman wrote at 16 Jun 2009, 11.08:

O nice one. Perhaps I'll get started on one of these when summer break kicks in ;) JoeJoe: Why not make it embedded video and a direct link? I like the embeds in this case because I can afford a CPU that has enough horsepower for flash videos.

Sprite_tm wrote at 16 Jun 2009, 8.17:

I'll see if I can put a link to the original video there next time.

JoeJoe wrote at 16 Jun 2009, 0.58:

Pure awesome, but in the future can you just post a link to Youtube? that way we don't have to search the HTML code to find the video ID and paste into a download site. Not everyone has flash.

Leave a comment:

Your name:

What does this picture say?
Sorry, this is a captcha

Your comment:

© 2006-2022 Sprite_tm - Contact