Wednesday, March 2, 2011

Using the entire board

Even though I had control of the LED Whiteboard's individual LEDs, I need to make use of the entire thing if I plan to use it for anything useful. Last night I wrote a program to test the ability to use the whole thing.

It works similar to a computer monitor. Each row is drawn one at a time, at a frequency higher than visible to the naked eye.

I drew a pattern that displayed the text "UAT".

Here is the source code. Again, this is uncommented:
http://www.mediafire.com/file/9mpqgzpehzqhq1w/sketch_mar01a.pde

Hooking up the Arduino

I set up the Arduino with a simple program that would light each LED in sequence.

Here is the source code. Note: Source code contains few comments, and some of the comments it does contain are incorrect.

http://www.mediafire.com/file/eriqa567rpyy39j/sketch_feb26a.pde

You can open the source in Notepad if you dont have the Arduino software.

Replacing the Microcontroller

I chose to use an ATMEL ATMega328 to replace the Parallax SX-28. The ATMega328 is the controller in the very popular Arduino Duemilanove. This would allow a familiar programming language (C) and a familiar IDE (Arduino Software) for many people. This is very important since I would like to allow for the board to be reprogrammed in the future. The ATMega328 did require a bit of extra circuitry for the clock (the crystal) and the reset line (the switch), but other than that, it should be able to connect in a similar way that the SX-28 did.

The schematic (click to see full size):



ATMega328 Datasheet Summary:

ATMEL. (2010, August). ATMega328p Datasheet Summary. Retrieved March 2, 2011, from ATMEL: http://www.atmel.com/dyn/resources/prod_documents/8271S.pdf

Reverse Engineering

So probably the most important part of this project is understanding exactly how the whole system is set up. Another student and I took the current circuits out of the project box they were installed in, and made a schematic from it.

Here is the resulting Schematic. You will have to click on the image to see it full size.


The datasheets for all of the circuits:

MAXIM. (2010, December). MAX6979 Datasheet. Retrieved February 25, 2011, from MAXIM: http://datasheets.maxim-ic.com/en/ds/MAX6979.pdf

Motorola. (n.d.). SN54/74LS138 Datasheet. Retrieved February 25, 2011, from Motorola: http://www.produktinfo.conrad.com/datenblaetter/150000-174999/169463-da-01-en-74LS138.pdf

Parallax Inc. (2006, November 20). SX20AC/SX28AC Datasheet. Retrieved February 25, 2011, from Parallax: http://www.parallax.com/dl/docs/prod/datast/SX20AC-SX28AC-Data-v1.6.pdf

Starting the project

Since I have already made some real progress on this project, I will be making posts for each step. The first step I took was learning everything I could about this wall. I found two webpages that explain in very little detail how the board works.

It turns out the current microcontroller is a Parallax SX28. The microcontroller is hooked up to a pair of MAX6979 LED Controllers and a 74LS138 1:8 Demux. Bert J.W. Reeger's site explains this.





The current program on it is Conway's Game of Life. The souce code can be found on Sean Hillmeyer's site.




LED Wall

For my final project in my Robotics class I will be replacing the microcontroller that controls a 8 by 26 array of leds in a 4 ft by 16 ft whiteboard in a hallway at the University of Advancing Technology. This log will document my progress with this project.