Persistence of Vision Display with Accelerometer

In this project I have fixed an accelerometer to a 10-segment display (it has 10 green LEDs put into a single component) and used an Arduino to control it.

So there you have it. As you wave it, it senses this motion and switches ON the display. And one another benefit that I was really looking for is that it writes only from left to right. I mean when you wave your hand it goes left to right to left. Right? My old AccPOV was amateur enough to keep displaying text all the time left to right and back too. So that has been eliminated. And its so cool now!

I am calling it the AccPOV that is a accelerometer based Persistence of Vision Display. I really liked this idea of an Accelerometer that I got though it is commonly available on the net. Code attached. You need Arduino software to compile it.

The Blue Board is the Arduino Decimelia. It programs and takes power from the USB(the grey wire).

The General Purpose PCB is a shield; which is the word used for attachment boards created for the Arduino.

I have mounted the display on that.

Then the tiny green PCB on the side is the Accelerometer Board. So thats it. Took one and half day to materialize.

Next I plan to use RGB LEDs to be able to see 6 colors!! So that should be fun!

Thanks for Reading!! I know it all sounds too formal, as if I am selling something. But it is just a discussion. A concept.

In case you don't get the heck what I am talking about read this: This project uses Persistence of Vision. So I can use just 8 LEDs (Yes, I am just using 8 of them. ) to display text. Now as you wave it in the air, the 8 LEDs quickly change states to appear as if something is written in the air. It gives superb effect in the dark. For effect in the daylight I need very bright LEDs. So as simple as that. Just wave and read.

You can mail me at paramaggarwal@gmail.com for criticism and comments.

Accelerometer:

Three axis accelerometer from Freescale that gives analog voltage proportional to acceleration. You measure that voltage using a micro controller and you get acceleration!

Controller Board:

Arduinos are so easy!! More info about them at arduino.cc. It is based on the ATMEGA168 with bootloader.

Have a look at sparkfun.com for some great electronics tutorials.

Arduino Code: http://dl.dropbox.com/u/3134506/POV-display-accelecrometer-code.c

Hi Param, nice project, thanks for sharing.

You can't have much RAM spare with that giant text array. If you are considering any enhancements to your sketch, you can halve the RAM usage by changing the text array from ints to a bytes

byte text_array[475] = {

Hey mem, thanks!

Thats an interesting suggestion from you! Never thought of it. Just copy pasted that library....

Happy to help. If you ever need to, you can further reduce the RAM consumption with progmem, see the Arduino reference for info on how to do this: http://www.arduino.cc/en/Reference/PROGMEM

This could come in handy if you decide you want to add lots of strings to your application.

Have fun!

Nice twist on the POV, thanks for sharing! :)

That's a modern twist. I made one of these in the 80s and I used a mercury switch sloshing about to detect the change in direction, but you are not aloud to use mercury any more :( (at least in Europe)

I did the same thing with a 'BBC B', used a micro switch with a large bit of card to trigger from the air flow.... those where the days :-/ :'(

Hey guys, I love the reponse!!!
I have even been blogged on MAKE!
Considering the fact that I am just 18yrs old, I definitely feel proud!
Thanks everyone!

@myozone & @Grumpy_Mike
Ya, even I read about an idea to put some solder blob on a piece of guitar string and have it sense the jerk. But why not do it the high tech way!!

@Syvwlch
Thanks…

@mem
I was using progmem but it was causing problems, I mean to the extent of displaying rubbish… I never found out the reason…

Blog on MAKE: http://blog.makezine.com/archive/2008/10/arduino_minipov_with_acce.html

My Site: http://www.feemoelectronics.com

I was using progmem but it was causing problems, I mean to the extent of displaying rubbish… I never found out the reason…

If you want to fix it, post the code and I am sure someone here will help you out with it.

@mem,

In the code above instead of

int text_array[475]

I used

int PROGMEM text_array[475]

and included the header file too...

isn't your array now bytes instead of ints?

try PROGMEM byte text_array[475]

@mem

okie... i'll try that!

myzone

I did the same thing with a 'BBC B', used a micro switch with a large bit of card to trigger from the air flow.... those where the day

Well I wrote this article in 1989 for the BBC micro with the mercury switch:-

http://www.doc.mmu.ac.uk/STAFF/A.Wiseman/Acorn/BodyBuild/BB89.html