Archive for May, 2006

FailureBot 5 - A Line Following Robot

Saturday, May 27th, 2006
FailureBot 5 - Complete Robot FailureBot 5 - In Action
FailureBot 5 - Complete Robot FailureBot 5 Following A Line

Read the rest of this entry »

AVR Tutorial: Switch Input and Debounce

Monday, May 15th, 2006

Though an input can be from any number of sources, one of the mose common and the easiest to implement, would be a swith. Due to mechanical properties of a switch, when a switch is closed, there is a period of time in which the electrical connection "bounces" between open and closed. To a microcontroller, this "bouncing" can be interpreted as multiple button pushes. Therefore, we must either build a circuit to supress the "bouncing" or we must do so in our software. This is known as "debouncing a switch".

Read the rest of this entry »

AVR Tutorial: About the Clock Source

Friday, May 12th, 2006

The ATMega8 AVR is shipped with it's clock source configured to the internal 1MHz RC oscillator (see: "Calibrated Internal RC Oscillator" in the datasheet p.30). This configuration works fine for many small projects where timing isn't crucial and is also convenient as it reduces parts count (1 crystal and 2 capacitors). However, you may run in to situations where you need a more accurate clock source.

Read the rest of this entry »

AVR Tutorial: Introduction and Digital Output

Friday, May 12th, 2006

The AVR family of 8-bit microcontrollers from Atmel are quickly growing in popularity for electronics and robotics hobbiests. Their major selling point for me, as opposed to the PIC microcontrollers from Microchip, are their being designed to be developed using higher languages such as C. This allows them to be developed using the open-source GNU tools (gcc). This works out especially well for me working in Linux.

Read the rest of this entry »

AVR Controlled GP2D120 Distance Sensor

Thursday, May 11th, 2006

Sharp's GP2D120 (and the GP2D12) is an infared distance sensor which is pretty common in the hobby robotics community. I purshaces a couple of these from DigiKey to use in a small wall-huggin robot. I spent quite a bit of time experimenting with it. This page will provide you with my schematic and AVR gcc source code for my demo file. It simply uses the ADC on an ATMega8 mpu to read the analog output of the GP2D120 and send the distance in centimeters to my laptop through the serial port (actually, through a USB to serial converter).

Read the rest of this entry »