Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Geek Culture / 16x16 LED Matrix project

Author
Message
TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 21st Mar 2013 19:22
I'm in the final stage of this project. The idea was to create a 16x16 RGB LED dot matrix display using a micro controller.

For those that haven't seen it yet in The Posting Competition:




Details:
-16x16 RGB
-12 bit colour depth
-single buffer based (I might improve on this and make it double buffered)
-Communication over UART, baud 115'200
-Command list: clr, dot, box, fillbox, blendcolourbox, blendcolourfillbox, line, blendcolourline, circle, fillcircle, blendcolourfillcircle, setblendmode
-Supported blend modes: replace, add, subtract, multiply, add normalized

The display alone doesn't do anything, you have to send it commands so it knows what to do. That's what I'm working on now. Behold:



The display will be mounted on top of that thing in the end. You'll see there are 4 positions around the display where players can input control. The idea is to program the game "snake" for 4 players.

TheComet

Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 21st Mar 2013 23:19
Did you finish the plasma speaker yet? You're like some kind of super nerd!

"You're all wrong. You're all idiots." ~Fluffy Rabbit
Dark Java Dude 64
Community Leader
14
Years of Service
User Offline
Joined: 21st Sep 2010
Location: Neither here nor there nor anywhere
Posted: 21st Mar 2013 23:21
Quote: "You're like some kind of super nerd!"
As they say, nothing's more dangerous than a programmer with a soldering iron.

Text only signature /troll
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 21st Mar 2013 23:22
I thought they said a screwdriver?

"You're all wrong. You're all idiots." ~Fluffy Rabbit
Dark Java Dude 64
Community Leader
14
Years of Service
User Offline
Joined: 21st Sep 2010
Location: Neither here nor there nor anywhere
Posted: 21st Mar 2013 23:29
Ah! Perhaps it's a soldering iron with a philips screw tip, although that would be an all around crappy soldering iron tip.

Text only signature /troll
TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 25th Mar 2013 17:15 Edited at: 25th Mar 2013 17:17
Quote: "Did you finish the plasma speaker yet? You're like some kind of super nerd!"


Thank you!

Plasma speaker is on hold right now. I have 3 other projects I'm working on in parallel (this is one of them), and all of them will have an influence in the outcome of my future carrier, so naturally have a higher priority.

Quote: "As they say, nothing's more dangerous than a programmer with a soldering iron."

Quote: "I thought they said a screwdriver?"


I have both. What does that make me?

Updates

Trying to get the communication working, still no luck. I think I've been approaching it the wrong way. Currently, it's a one-way communication protocol: The display merely accepts the commands it receives and stores them in a buffer for later processing. Well, it turns out that it takes a lot longer to process the commands than it takes to receive them, so even though the buffer is pretty large, it eventually overflows. The fun property of micro controllers is it will execute the command, regardless of whether or not the memory location is valid. Well, the received data ended up writing over all of the RAM - including the registers.

It's odd, because there are checks for buffer overflows. Looks like I didn't test them enough.

My new idea is to program a two-way communication protocol: The display should communicate to the other micro controller when it's ready or not, and if it executed the command successfully or not.

I'll add a timout function on both sides as well, which will enable me to handle incomplete command sets in the buffer as well as transmission failures.

TheComet

TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 1st Apr 2013 22:12
Murphy's law raped me today.

The JTAG connector decided to create a short-circuit today. When inserting the USB connector into it, pressing down on it somehow managed to create a connection between Vcc and GND. The result? Burned PCB.

http://imgwiz.com/images/2013/04/01/uwb8O.jpg

I may be able to save it by removing the connector and soldering wires directly onto the PCB, programming it like that instead. Otherwise I'll have to produce another one, which can take a few days.

TheComet


Level 91 Forumer - 9600 health, 666'666 keystroke power (*2 coffee)
Abilities: sophisticated troll, rage
TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 7th Apr 2013 00:37
YES, SUCCESS!!

I drew a pony.



That short circuit sure was annoying, it took me an entire weekend of gluing, sand-papering and soldering to fix the damage.

Now, onward to programming snake!

TheComet

Taumatawhakatangihangakoauauotamateapokaiwhenuakitanatahu is a hill
Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch is a town
Chargoggagoggmanchauggagoggchaubunagungamaugg is a lake
mr Handy
17
Years of Service
User Offline
Joined: 7th Sep 2007
Location: out of TGC
Posted: 7th Apr 2013 19:23
Quote: "Now, onward to programming snake!"

Will it be finished?

TheComet

Taumatawhakatangihangakoauauotamateapokaiwhenuakitanatahu is a hill
Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch is a town
Chargoggagoggmanchauggagoggchaubunagungamaugg is a lake
TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 8th Apr 2013 00:15
I sure hope so! Snake really isn't that hard of a game to program, so this should be a breeze (the famous last words of every programmer).

I've finished programming the main menu. You can flick through different games installed on the device.

Thanks to Melancholic for making some awesome pixelart for the snake game, which I will use as the icon in the menu selection:



TheComet

Taumatawhakatangihangakoauauotamateapokaiwhenuakitanatahu is a hill
Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch is a town
Chargoggagoggmanchauggagoggchaubunagungamaugg is a lake
mr Handy
17
Years of Service
User Offline
Joined: 7th Sep 2007
Location: out of TGC
Posted: 8th Apr 2013 01:45
Looking good!

TheComet

Taumatawhakatangihangakoauauotamateapokaiwhenuakitanatahu is a hill
Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch is a town
Chargoggagoggmanchauggagoggchaubunagungamaugg is a lake
Crazy Acorn
16
Years of Service
User Offline
Joined: 16th Mar 2009
Location: Stalking people...
Posted: 8th Apr 2013 08:22
How much?

TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 8th Apr 2013 10:15
Thanks!

Quote: "How much? "


For your typical everyday person, here's an estimated price list:



That's probably without shipping.

TheComet

Taumatawhakatangihangakoauauotamateapokaiwhenuakitanatahu is a hill
Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch is a town
Chargoggagoggmanchauggagoggchaubunagungamaugg is a lake
Crazy Acorn
16
Years of Service
User Offline
Joined: 16th Mar 2009
Location: Stalking people...
Posted: 9th Apr 2013 01:38
Perkele! Thats alot xD

TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 9th Apr 2013 02:29
Obviously, being part of a company has its benefits.

If I started mass producing them, the price would go down by a factor of 6 or 7, which is already more affordable for the average person.

TheComet

Taumatawhakatangihangakoauauotamateapokaiwhenuakitanatahu is a hill
Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch is a town
Chargoggagoggmanchauggagoggchaubunagungamaugg is a lake
TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 9th Apr 2013 03:19
The game of life seems to be working:



Yes, I like to listen to progressive trance when programming.

TheComet

Taumatawhakatangihangakoauauotamateapokaiwhenuakitanatahu is a hill
Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch is a town
Chargoggagoggmanchauggagoggchaubunagungamaugg is a lake
Dark Java Dude 64
Community Leader
14
Years of Service
User Offline
Joined: 21st Sep 2010
Location: Neither here nor there nor anywhere
Posted: 9th Apr 2013 03:39
Quote: "If I started mass producing them, the price would go down by a factor of 6 or 7, which is already more affordable for the average person."
If this happens, I'll highly consider buying one!

Text only signature /troll
mr Handy
17
Years of Service
User Offline
Joined: 7th Sep 2007
Location: out of TGC
Posted: 9th Apr 2013 08:59 Edited at: 9th Apr 2013 09:00
That is simple electronic sign, there are lot of them everywhere. But they're always one-liners, for text only, I've never saw a square one, so you could start your own small buisness for public organizations for sure.

TheComet

Taumatawhakatangihangakoauauotamateapokaiwhenuakitanatahu is a hill
Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch is a town
Chargoggagoggmanchauggagoggchaubunagungamaugg is a lake
TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 11th Apr 2013 00:41 Edited at: 11th Apr 2013 00:42
I'll give it some thought.

If anyone is interested in writing something for it, we can arrange something. A skype session (live camera so you can see what your program is doing) would be an optimal way to debug your code.

The source code can be found on git here: https://bitbucket.org/TheComet/led-matrix

All of the device specific work has been taken care of for you, this is the bare-bone code you would use:



Here is a list of pre-built functions you can use:



Updates

I've almost finished programming a 4-player turn-based strategy game based on Conway's Game of Life, where the goal is to engineer your own virus and try to exterminate the opposing ones.



TheComet

Taumatawhakatangihangakoauauotamateapokaiwhenuakitanatahu is a hill
Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch is a town
Chargoggagoggmanchauggagoggchaubunagungamaugg is a lake
Dark Java Dude 64
Community Leader
14
Years of Service
User Offline
Joined: 21st Sep 2010
Location: Neither here nor there nor anywhere
Posted: 11th Apr 2013 01:09
Damn, you've been busy!

Speaking of LED matrices, a in order to store all possible images a 4x4 1 bit LED matrix could display, you'd need 131.072kB of space. However, simply doubling the resolution to 8x8 and still 1 bit, you'd need about 147.6 exabytes of space. Math, you're drunk. Go home.

Text only signature /troll
TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 11th Apr 2013 01:16 Edited at: 11th Apr 2013 01:28
Damn you, you just caused me to read through some threads from the good old days (at least when I was young and foolish, there are older people here).

I love the reason for locking this thread.

http://forum.thegamecreators.com/?m=forum_view&t=159265&b=1

TheComet


Level 91 Forumer - 9600 health, 666'666 keystroke power (*2 coffee)
Abilities: sophisticated troll, rage

Login to post a reply

Server time is: 2025-05-19 04:39:25
Your offset time is: 2025-05-19 04:39:25