Glcd Asteroids

This was mainly a test to use only 5 digital pins to control the Glcd through a shift register and some buffers. The frame time shown is in microseconds and the shift register method is only costing about 20ms so it can still get a decent speed.

My method is to use an invert buffer to switch between the chip select which cuts 1 pin out from the start. Then I link the shift register latch and glcd enable using a few of the left over buffers as a natural delay between the latch and glcd clock. The 4049 is naturally a little slow so it works perfectly here as a delay. Now all that's needed is a single chip select, 3 shift register controls and the DI pin.

I used a 2nd 328 to control sound with i2c commands so the main 328 doesn't have to pause.

The button pad is using a i2c port expander.

The source has everything used for this including misc schematic and utility.
http://dl.dropbox.com/u/3647376/blogfiles/GLCD_Asteroids_source.zip

props to both the really impressive project and the dropbox use. Someone introduced me to it during a mech design group project and its amazing

Woah woah...

I don't remember being able to move in Asteroids, I thought you were stationary in the middle, spinning :o 8-)!

Impressive work nonetheless! I too love dropbox, as someone said :). I use it to access my Arduino stuff from any computer (laptop, home computer, friends computers if need be, etc.)

I think the original always had a moving ship but used hyperspace instead of shields which was added in the deluxe version.

yea, there was always a thrust button on the arcade machines

wow!

think thats the first real game remake seen on a arduino :sunglasses:

Very impressive! Can this device work on batteries?

Yes, batteries would work because it probably doesn't take much more than 100ma.

Datasheet for ATmega48/88/168 tells it couldn't take less than 100 uA :frowning:

Faster speed takes more power and this is working at 100% so it might be around 20ma for the uC then the rest is for the screen.

I count 5 chips and LCD :slight_smile:

Datasheet for ATmega48/88/168 tells it couldn't take less than 100 uA

100uA is 1000 times less current than 100mA - what point are you trying to make?

I just attempted to point this device is very useful as an mobile gaming device.