Tuesday, May 26, 2009

RF Transmitter/Receiver and my new AVR

I have just picked up a new AVR microcontroller, the AT90USB647 AVR. This one has a built in USB controller, very neat. Its much larger than the previous AVRs I have used (Atmega8, Atmega48, Attiny13). One of the reasons I purchased this microcontroller was because my AVR-ISP programmer is compatible with it and the other is that it has USB functionality.

For a while now, I have wanted to make use of my RF transmitter and receiver. As I have stated before, I am rather cheap at this time, and I purchased a basic transmitter and a basic receiver. They are seperate modules, the transceivers are a bit too fancy for me right now.

As I put this circuit together, my goal was to implement a basic loopback system to test RF and USART functionality. The USART is handling the hardware protocol for RF transmission. The program I wrote sends data via the RF transmitter to the RF receiver and displays data received on Port A through 8 LEDs.



Everything in my circuit built and program being executed. The red wires sticking straight up are acting as my RF antennaes and surprisingly enough make quite a difference.

Gyroscope - Angular Rate Sensor

So I was looking for a new sensor to tinker with and I really wanted an Accelerometer. However, I am cheap and don't have a whole lot of money and so I bought a Gyroscope instead. This sensor measure the angular rate of movement. So here it is.


The Angular Rate Sensor XV-3500CB Gyroscope

Of course I did my usualy thing, build a test circuit to utilize this sensor. Using an Atmel Atmega48 AVR microcontroller I interfaced this sensor to it and used an LED light bar to indicate the rate of movement. To be honest, I was rather dissappointed with this sensor, it was well kind of boring. Its circuit is already designed and built onto this chip, using I2C bus or an A/D Converter, so no external hardware is needed.

And the last thing about Gyroscopes, they are not widely used. They don't give position, only angular movement. So one can use an Accelerometer instead, poll it periodically, and compare those positions with respect to time and calculate angular movement with some Physics.