This is another LED Game based on Takuya Matsubara's funning LED Game for AVR. There are some differences between this LED Game and Matsubara san's original LED Game:

  • I use four 8x8 LED dot-matrix displays to assemble a 16x16 dot-matrix display, because it's hard to buy a 16x16 unit in our local market.

  • I add a dual-axis accelerometer ADXL311 and a demo program to show a rolling ball on the display.

  • Instead of the four direction keys, a navigation switch (joystick switch) has been used.

  • I made a little change in firmware library led.c to fit my LED display.

  • I write a simple program to convert Binary Constant (i.e. “0b1101”) to shift mode (i.e.“((1<<3)|(1<<2)|1)”), because Binary Constant seems not supported by my GCC.

Hardware

I use ATMEGA88 for this project, and the schematics is simillar with Mr. Matsubara's. I built it on two bread boards: the lower and the upper.

Figure: schematics of the lower board
Figure: schematics of the upper board
Figure: picture of the lower board
Figure: picture of the upper board (backside)
Note
LED dot-matrix which I bought is DX7088A/B, I create a Eagle library for it.

Firmware

You can download another-ledgame.tar.gz, there are some resources in it:

roll-ball

Demo program. It's simulating a rolling ball on a 16x16 grids plane. To play it, first download test.hex to AVR. When “ROLL BALL” being displayed, press switch B (S2) to start.

demo

Demo program from LED Game for AVR, with some changes to fit this environment.

aruke, block and space-flight

Games from LED Game for AVR, with some changes to fit this environment.

bin2shift.l

Lex code for converting Binary Constant (i.e. “0b1101”) to shift mode (i.e.“((1<<3)|(1<<2)|1)”). To use this tool,

$lex -obin2shift.c bin2shift.l
$gcc -o bin2shift bin2shift.c -lfl
$mv test.c test.c.in
$cat test.c.in | ./bin2shift >test.c

All above programs can be built under GNU Tool Chain.

Note
In order to have a nice display effect, AVR running in 8MHz is fine.
Tip
This Another LED Game can run most games listed in LED Game for AVR. Just copy roll-ball/led.c and roll-ball/led.h in my package to overwrite the same name files of other games.

Video Demo

Todo