We’re going to have to take [Mike’s] word for it that he built Conway’s Game of Life with high-definition video output. That’s because this screenshot is his only proof and it looks a bit fuzzy to us. But we are interested in the project which used an FPGA to generate a 1080p VGA output of the classic programming challenge.
One of the biggest benefits of using an FPGA for this application is the hardware’s parallel processing ability. For every frame of the game, the area around each living cell must be analyzed to produce the next evolutionary step. Most of the time this means processing all of the pixels in the playing area, which is the case here. [Mike] is using VHDL to program a Papilio Plus which has a Spartan 6 chip on it. He separated his code into the different components when writing about it. This makes it easy to find the chunks relating to the game if that’s what you’re interested in. If you just want to see how he implemented the VGA interface that’s well documented as well.
If you’re not familiar, Conway’s Game of Life has simple rules regarding when a cell will live, die, or be reborn. As [Mike] points out, every programmer should give it a shot at some point. We’ve seen many iterations from the very large to the very small.
[Arthur Benemann] started a little project for his electrical engineering program, and suffered the worst case of feature creep we’ve ever seen. He just posted an instructable of his picChess project that is able to play chess on a VGA monitor with a keyboard, with sound, a clock, temperature sensor. Apparently, [Arthur] was bored one evening and threw in an implementation of Conway’s game of life.
[Arthur] chose a DSPIC33F μC for his project with everything laid out on a bread board. He’s quite proud of his VGA routine, the first time he’s ever used DMA. We’re really impressed by [Arthur]’s chess engine – his is the first homebrew chess engine we’ve seen on Hack A Day. Although the engine is a brute-force search with Alpha-beta pruning, the engine itself seems fairly advanced that will even supports castling.
Although a few rules aren’t supported and the ELO rating of the engine isn’t known, [Arthur]’s engine should still be able to beat an amateur player. A fairly impressive feat indeed.
Check out [Arthur]’s video after the break.
Continue reading “Playing chess on a microcontroller”
[Ben] is getting himself up to speed with microcontrollers. He jumped into the deep end by taking on this Charlieplex LED matrix build. As you can see after the break, he not only made the display work, but coded Conway’s game of life to run on the ATtiny85 that drives the device. What you see above is the prototype version that [Ben] used to make sure he had the hardware just right. He’s seeing the project through to a manufactured board and this is where the layout tip comes from. In order to make sure he had enough space for all of his components he printed out the board artwork, taped it to some Styrofoam, and then inserted all of the through-hole parts. Now he can be sure that physically the design works, we’ll keep our fingers crossed that everything is also kosher electrically.
Continue reading “A Charlieplex display and a board layout tip”
White board beats chalk board, LED marquee beats white board, and an LED white board trumps them all.
This hybrid lets you draw on the surface with dry erase markers while Conway’s game of life plays out underneath. [Bert] sent us this tip after seeing yesterday’s office marquee. This version is quite similar in appearance but the guts are very different. Inside you’ll find a Parallax SX28 microcontroller doing the heavy lifting. The display is multiplexed but they didn’t go with a common 595 shift register, but a beefier MAX6979 LED driver. We’re not too familiar with this part but it does have a lot of nice features like constant current, and automatic shutdown if serial data stalls for more than 1 second. This is a low-side driver so transistors are used to connect voltage to the rows; the opposite from the setup we looked at yesterday. This was built several years ago and is still working happily even though its permanent home is a breadboard. Source code can be found on this page.
Most of the LED matrix posts we run delve into the hardware design. This time around [J Bremnant] used prefab modules and focused on writing code to address the display. The hardware combines two 24×16 LED boards from Sure Electronics with a Teensy 2.0 to drive the display and provide a USB connection. The firmware comes in just under 8k, leaving graphic manipulation up to a PC.
[J Bremnant’s] Python script offers a lot of flexibility when working with the display. There are three modes selectable through a terminal interface. One just tests the display and then drops into Conway’s Game of Life. The second mode lets you send commands via serial interface so it can be used as a message ticker. The final feature is frame addressing that allows graphics to be dropped into the display. See each of these featured in the video after the break.
Continue reading “Communicating with an LED matrix”
This hoodie senses your heartbeat and uses it to control Life. Conway’s Game of Life, popular in all kinds of electronics projects, uses a grid of cells coupled with a set of rules to mimic the life and death of simple organisms. This iteration displays the game over your own heart, then taps into your heart rate, resetting the game at the beginning of each cardiac cycle. We guess you could say that Life goes on only if you do not.
The EKG circuit that detects the heartbeat is made up of an IR transmitter shining through the tip of your finger to a receiver. An ATmega168 running the Arduino bootloader controls the EKG circuit and resets an ATmega48 which is responsible for Life. [Joe] admits that this is overkill but he’s currently without an AVR programmer; he went this route to make it work. The stylishly-geeky hoodie is taken for a test run (er… test-hop?) after the break.
Continue reading “Reboot Life in a heartbeat”
Projects involving Conway’s Game of Life and utilizing a Nokia 3310 screen are quite popular with electronics hobbyists. [Droky] put these two together and went one step further by adding capacitive sensors to control the Game of Life. His work is a great example of how to use the Atmel QTouch capacitive sensor (QT100a datasheet). This chip does the heavy lifting that we’ve seen in other touch sensitive solutions. It operates from 2V-5.5V, requires only three capacitors and a resistor, has a one pin active high output, and sells for around $1 in low quantities. One thing [Droky] overlooked in his board layout is the ground pad on the bottom of the WSON6 chip. He was able to make it work by masking the trace that runs under the chip but you will want to alter the layout in your own designs.
If you’ve used the QT100a before we’d like to hear about your experience, and find out if button debounce handling is necessary with this chip. Let us know in the comments. You can see a video of it in action after the break.
Continue reading “Capacitive buttons control all life”