How To Display Data On A Dot Matrix Display - Behaviour Lights

Hello all, I am a teacher of primary earliers and I want to make something interesting for the children and I ended up in deciding to do a behaviour lights.
I will set-up a lights done of wood as my dad is a carpenter and also I want to attach a dot matrix display to it to write names on it and with every name an indicator light (red, orange or green) will light up indicating the behaviour of the child that day. After some time the name written on the display will change and the indicator lamp of the light will change as well regarding the behaviour of the second student. Hope you understand a bit my project! Thanks in advance for helping me and hope to hear from you soon. I decided to do this with an arduino uno r3 and I will be using 2 displays of these. http://www.ebay.ca/itm/RED-32x8-LED-Matrix-Display-Board-3mm-Dot-/251267595901?ssPageName=ADME:X:RTQ:CA:1123

I just made a diagram for you to understand me more. Please do you know how or know any tutorials online of how to display on a dot matrix display with arduino. Please find attached the diagram. When it says visual studio it isn’t obligatory for me to use visual studio, I can even use the arduino sketch to display the name and choose which indicator to light on.

http://playground.arduino.cc/Main/HT1632C

https://github.com/gauravmm/HT1632-for-Arduino

http://blog.generaleccentric.net/?tag=holtek

Your ebay seller states, "The small API with fonts was written on NXP LPC1769 in standard C/C++. API can be easily port to other processors. Full source code is available free to use without restriction, BSD style license. " He didn't link to "small API" or the "full source code" nor is there any info there on the connector/pin-out. Maybe it's like what's shown in the first link I provided.

Wouldn't it be easier to assign each student a number? ]:D

No I want to display each name. I'm asking for a dot matrix display and maybe how to convert C programming to arduino code ? That one on ebay is written in C and the seller told me this

"You'll need 4 io pins to control 2 boards. You'll also need to connect the 5v and the GND. That's about it. You need one ribbon cable to connect 2 display board together. One other ribbon cable to connect on one side to the display board. The other side you cut out the connector and solder on a single row pins that allows you to connect to the Arduino. "

"You need first to convert my C library code to Arduino language. Then you need to write code that use the library functions to display name. In your program the first thing you need to do is to initialize the Arduino io you want to use. The display board can be accessed once the Arduino io are initialized."

The "Arduino language" is C.

Adafruit sells a similar display with the same controller. She publishes a PDF and sample code that should be adaptable to the eBay display. My belief is that it would be best to stay away from the eBay source unless for quick reference:

The small API with fonts was written on NXP LPC1769 in standard C/C++. API can be easily port to other processors

Ray

http://www.adafruit.com/products/555 www.adafruit.com/datasheets/ht1632cv120.pdf

Hi this is the code of the ebay display in C.

Do you know how to edit this to read from the arduino IO ports?

void LedMxTxData(LEDMXDEV *pDev, uint32_t Data, int NbBits)
{
	uint32_t mask = 1 << (NbBits - 1);

	while (mask)
	{
		pDev->pWrPort->FIOCLR = pDev->WrPin;
		if (Data & mask)
			pDev->pDataPort->FIOSET = pDev->DataPin;	// 1
		else
			pDev->pDataPort->FIOCLR = pDev->DataPin;	// 0
		// Require 4 NOP here to stable i/o line
		__NOP();
		__NOP();
		__NOP();
		__NOP();
		pDev->pWrPort->FIOSET = pDev->WrPin;
		// Require 2 NOP here to stable i/o line
		__NOP();
		__NOP();
		mask >>= 1;
	}
}

Do you know how to edit this to read from the arduino IO ports?

That would be “output to the Arduino IO ports”

In isolation, that code is difficult to translate because it is missing so much, but in principle, the code is fairly simple:

void LedMxTxData(uint32_t Data, int NbBits)  // OK, forget the structure pointer - we can guess what it looks like, but don't know for sure.
{
	uint32_t mask = 1 << (NbBits - 1);  // make a mask starting from the most significant bit.

	while (mask)  // I'd've probably written this as a "for" loop for clarity.
	{
		pDev->pWrPort->FIOCLR = pDev->WrPin;  // set "write" pin LOW
		if (Data & mask)
			pDev->pDataPort->FIOSET = pDev->DataPin;	// set data pin HIGH 
		else
			pDev->pDataPort->FIOCLR = pDev->DataPin;	// set data pin LOW
		// Wait a very short time
		__NOP();
		__NOP();
		__NOP();
		__NOP();
		pDev->pWrPort->FIOSET = pDev->WrPin;    // Set  "write" pin HIGH
		// Wait an even shorter time
		__NOP();
		__NOP();
		mask >>= 1;  // set up the next bit along.
	}
}

Ok everyone is telling me that code and the ebay listing isn't the best one. Do some of you know any good dot matrix display which can support up to more then 9 characters which are perfect for arduino projects please ? Thanks a lot

Hi all, what do you think of this? http://store.arduino.cc/eu/index.php?main_page=product_info&products_id=179

Hi all, what do you think of this? http://store.arduino.cc/eu/index.php?main_page=product_info&products_id=179