64x16 RED LED Marquee

43,929

507

55

Published

Introduction: 64x16 RED LED Marquee

The purpose of this small scale LED marquee is to display messages to our classroom in a more modern and centralized way. In the classroom, this construction would save white board space and is convenient because it can store a large amount of information. It is also fairly simple to program and has a mount, making it easy to place anywhere within the classroom setting.

Step 1: Materials

The first step of this project is to gather all the materials necessary to assemble your miniature marquee.

  • 1 64x16 LED matrix that can be ordered here.
  • Access to a 3D modeling computer program such as SolidWorks in which you will be able to create the mount for the Marquee and the containment box for the arduino processor
  • 1 Arduino UNO processor and Arduino coding software
  • 1 9v battery
  • 9 male-female pin cables

Step 2: Construct Your Marquee Mount

Using your 3D software (we used SolidWorks), design a mount and Arduino processor containment box.

We have provided our own measurements and STL files for both the mount and the containment box, but feel free to make your own adjustments.

Print out your designs.

Step 3: Schematic/Pin Assignments

The next thing you need to do is wire the electronic marquee to the Arduino. The pin assignments are as follows (as well as included in the code):

LT=8;

SK=12;

R1=10;

R2=11;

EN=2;

LA=3;

LB=4;

LC=5;

LD=6;

GND=GND

Note: we had to toy with this quite a bit in order to get the correct fit for our marquee. If you purchase a different LED panel, you may need to alter the pin assignments to meet your own needs.

Step 4: Program Your Marquee and Add Power

Attached is the arduino code that we used for our marquee.

Adjust our provided code to your purpose and upload your message into your arduino.

Using a battery power adapter, connect your arduino processor to your nine volt battery to power up your marquee!

3 People Made This Project!

Recommendations

  • Casting Contest

    Casting Contest
  • Clocks Contest

    Clocks Contest
  • Woodworking Contest

    Woodworking Contest
user

We have a be nice policy.
Please be positive and constructive.

2 Tips

FYI - The "ino" file is from Tustin High T-Tech - the code may be a test for the students to find the errors. I find numerous. Enjoy!

The for loop inside void loop(); should be i < 7 or 8 NOT < 4. You should play 7, then 8 to see which variable you like.

----------------------------------------------------------------------------

// move the text 7 pixels (not 8 because it looks better) to the left

for (byte i=0; i<8; i++) {

delay(100);

moveLeft(1,0,15);

};

2 Questions

0

I would like to make a clock HH;MM;SS with this screen but I do not have enough knowledge; if anyone did, share the arduino code, please!

0

How could I change code to scroll across three matrix displays (so total width of 64x3=172)

55 Comments

1.Este proyecto es muy interesante y la verdad es que funciona muy bien.estoy interesado en hacer un reloj con temperatura y humedad, con esta placa me podrian ayudar con el codigo???

muchas gracias

1 reply

¡Oi dani! ¿Conseguiste algo?
También me gustaría hacer un reloj con esa pantalla pero no tengo suficiente conocimiento; si usted consiguió, comparta conmigo, por favor! (meuviolino@hotmail.com)

This line was missing.

buffer[7+(i*8)]=charbytes[i];

Update of blank LED module - I find a line is missing from the posted Arduino file. I added the bold-faced text below in the void drawChar(uint16_t x, uint16_t y, byte n, byte font, boolean inverse) routine. It is now displaying rolling text.

--------------------------------------------------------------------

// addressing start at buffer and add y (rows) * (WIDTH is 64 so WIDTH/8) is 8 plus (x / 8) is 0 to 7

byte *pDst = buffer + (y << 3) + xover8;

for (byte i=0;i<fontrows;i++)

{ // fill up the charbytes array with the right bits

if (font==0) charbytes[i] = pgm_read_byte(&(font8x16_basic[index+i]));

buffer[7+(i*8)]=charbytes[i];

// reverse bit order for fonts 0 and 1

if (font != 0)

{

charbytes[i] = (charbytes[i] & 0xF0) >> 4 | (charbytes[i] & 0x0F) << 4;

charbytes[i] = (charbytes[i] & 0xCC) >> 2 | (charbytes[i] & 0x33) << 2;

charbytes[i] = (charbytes[i] & 0xAA) >> 1 | (charbytes[i] & 0x55) << 1;

};

if (inverse) charbytes[i] = ~charbytes[i];

Blank Display & pgnspace.h not find

I got a new 64x16 LED module from ebay. Followed the instruction here, I got a blank display. Then I find this project https://chioszrobots.com/2014/08/01/64x16-dot-matrix-led-diy-red-arduino-projects-robots/ to test my wiring between the UNO and the LED module. Many thanks to this user, the code displays several fix images on the LED. I was able to confirm that I have no wiring errors.

For users with complier problem similar to pgmspace.h not find, please check this link - https://github.com/mikalhart/galileo-Pgmspace.h/

As of now, I am not able to display text on the LED module. I still troubleshoot the code one module at a time. Tips for those are lost and don’t know where to start. 1) instead of all zero in the buffer[256] array, just enter some data. For example buffer[0] = 1, buffer[1] = 2, buffer[2] = 4, buffer[3] = 8 etc. You should be able to see LED turn on on the top row of the module. 2) complie the link I mentioned earlier. I was so happy to see “I Love You” on the LED module instead of nothing.

Nice Project Girls. I downloaded the 3D printer files but the wall mount file is not included. Could you please share that file?

Thanks!

I am having an issue with your code: It seems that the latest version of the Arduino IDE will not compile your code with the "#include <pgmspace.h>" in the code. When I commented the line out, the program will compile, but all I get is a solid red marquee upon upload. Any suggestions?

4 replies

ı can not dowload #include <pgmspace.h>.So, this program give a eror

can you publish on a link

I found that I do not need the R2 = pin 11 connection on Arduino; when removed, the code works fine. I respect the work and effort that went into its code development. Nice job.

the pgspace.h is already in the IDE library so delete that line because it's not necessary

We had to do a lot of toying with the code to fit our own needs and the particular marquee that we have, and so our best suggestion would be to do the same - take a look at the latter parts of the code.

Well I got my marquee today, 3 actually, which are identical to yours. Hooked it to my uno using your sketch and it doesn't do anything. Sketch compiles OK...triple checked the wireing based on the sketch/pictures but it's like it's not getting power. I'm using a fresh 9v battery and I also tried another board incase one was faulty. Must be something I'm missing. I also tried using a seperate 5v to the power connection on the back of the display.
Any suggestions????

3 replies

I found that the drawChar line did not work. It is set to start drawing on row 16, I had to move it to 0.

drawChar(56,16,message

Changed to

drawChar(56,0,message...

Thank you! This fixed the problem for me and its working now!

Hi!

Thank you for this great post and project. I am building one of these.

Am I wrong or one stl file is missing? The support should be made of three items.

Thank's again.

Dan

Good day sir! What library you used for your code? Thanks in advanced and God bless!

I've setup the code as downloaded on my Mega 2560 board and looked at the change recommendations below but all I get is a single line at the bottom of bright red LED's. Help, I'm fairly new at working with these large (64x16) LED arrays.

is there anyone try this code with nodeMcu esp2866

Great Job

Your code work

May i know sir

How to expand led matrix as 128x16 ?

need to change code ?