Lol (Lots of LEDs) Arduino Shield

Charliplexing

Why...

... well the 9 by 14 LED matrix is an odd ball. Why the non 2² array? I was intrigued. (Memories from the 1980s with 132 by 25 character VDUs...)

Maplin's stock code: N97CE and 14.99 later.

Work in progress

The above is a photo from the font demo LoLShield_FontTest. It's scrolling, with the last letter of "Hello" and the first letter of "World".

There's some crosstalk... why??

Software

I rework the interrupt routine in Charliplexing.cpp...


        PORTB = 0x0; // all low
	PORTD = 0x0;
	DDRD = 0xff; // all out
	DDRB = 0xff;

	if (page < (SHADES - 1))
	{
		uint16_t pinMask = (4 << cycle);
		uint16_t charPattern = (*displayPointer);

		//charPattern = 0x0 & ~pinMask;

		uint16_t maskPattern = (pinMask | charPattern);

		PORTB = charPattern >> 8;
		PORTD = charPattern;

		DDRB = maskPattern >> 8;
		DDRD = maskPattern;

		displayPointer++;
	}

This helps me understand what's going on... but the crosstalk remains.

Useful Link

Atmel's Clever Pin Register

Hmmm

Watch this space!

Page last updated 14th March 2015

Valid CSS!   Valid XHTML 1.0 Strict