LED DOT MATRIX 64x16

I'm having a nightmare with these boards. I've got two boards linked together and using the code for the 128x16 matrix posted earlier in this thread. Issue I'm having is that setting inverse to either true or false has the reverse effect for each board. So if I set inverse to 'false' board one will be black text on red background while board two will have red text on black background.

SO my question is - is it possible to switch the boolean statement for inverse after the last column on the first board (columns 0 - 64 inverse true / columns 65 - 128 inverse false) so that both boards will display the same? If so can anyone give me any advice as to which part of the code I should look at. I'm happy to tinker with it, not expecting anyone to do it for me, just need some help getting started.

Many thanks!

Hello,
Im using this panel, 64x16 with promini+hc05 to change the character displayed.
How can i extend it to 128x16?
Thanks

Somehow just figure it out for 128x16.
Here's the video.. thankyou..

Salve a tutti,

Cosa bisogna modificare al codice 128x16 per far funzionare tre display 64x16 collegate in serie.

Chiedo aiuto

kaziewip mi può dare qualche suggerimento?

Hi , I made it!

Thanks to this tutorial, it works perfectly: LED matrix with Pi zero


I also made a custom case with acrylic.

Thank you for the help

kaziewip:
I've been playing around with this display a bit and I agree that the code supplied has limited functionality.
However I've created an interrupt driven version of the code that constantly scans an 8x32 byte array to address each pixel on the board with ease. Please use any part of this code you guys like.

Thanks, it's work using Arduino Uno, but can't work using Arduino Mega. Can help me?

Hi limel

I want to ask you where I have to change to make this code for 128X16 display

your reply will be highly appreciated.

Thank you
Nada

Hello everyone,

i tried Kaziewicz code in the post #18 for 128x16. it works well. many thanks to him.
but can anyone guide me how to drive more LEDs. where in the code i need to make changes to make it work for 192x16 or 256x16... changing #define COLUMN to 24 and increasing buffer[384] size is not working.

also i noticed that while scrolling the texts, it characters looks like shaking. i can noticed the scanning of rows from 0 to 15. how can i avoid it to smooth scrolling.

thanks.

hello everyone

This code help[ed me lot, i completed almost everything what i needed top do with 128*16 using this code.

i have only one issue,if i try to display this data with such long spaces half the data is not printing at all.

Global variables use 1589 bytes (77%) of dynamic memory, leaving 459 bytes for local variables. Maximum is 2048 bytes.

plz can anyone help me with this?

Hi EveryOne

Many Many thanks to Kaziewicz code of 128x16. it works perfect for me.

Can anyone help me to drive more LEDs in series. can anyone suggest me or guide me to what change in code that make it work for 192x16 or 256x16.

please help.

Hi Kaziewicz! Taking advantage of the subject, this code: // Author: Phil Kaziewicz 19th July 2014// 64x32 LED display matrix test code - Pastebin.com in PASTEBIN it is certainly yours, but you are calling this library: sriftas.h; where to find it?
Another thing: does this code refer to a clock? Does it work on Arduino 1.8.5? Thanks

Please how much current does the module draw?
Can it be powered with rechargeable li-ion batteries?

I don't know the current draw, I don't have a module to measure, but I would estimate between 1.3A and 2.6A. Yes, it could be powered by Li-ion batteries. If a Tesla Model X can be powered by Li-ion batteries, then so can this display. The question really is would a step-up voltage converter be needed. The size/capacity of the batteries would depend on how long you need the display to run between charges.

i get hard to displaying "string" n "int"..

// Author: Phil Kaziewicz 19th July 2014
// 64x32 LED display matrix test code
// based upon original code from canton-electonics
// Arduino 1.0.5 UNO R3
#include <avr/pgmspace.h>

#define COLUMNS 16

#define HEIGHT 32

// Connections to board
const byte latchPin = 8;
const byte clockPin = 12;
const byte data_R1 = 11;
const byte data_R2 = 10;
const byte en_74138 = 2;
const byte la_74138 = 3;
const byte lb_74138 = 4;
const byte lc_74138 = 5;
const byte ld_74138 = 6;
byte ScanRow = 0;
unsigned long counter;

const char message[] = " DISPLAY  Characters  TWO ROWS    ";


  pinMode(en_74138, OUTPUT);
  pinMode(la_74138, OUTPUT);  pinMode(lb_74138, OUTPUT);
  pinMode(lc_74138, OUTPUT);  pinMode(ld_74138, OUTPUT);

  digitalWrite(en_74138, LOW);
  digitalWrite(data_R1, HIGH); digitalWrite(data_R2, HIGH);
  counter = millis();
  sei(); //allow interrupts
};

// Note that there's no need to do anything with the screen in the main loop.
// Whatever's in "buffer" is constantly scanned out.
void loop() {
  unsigned long clock;
  static int count = 0;
  byte seconds, colour;

  clock = 100000000 - ((millis() - counter) / 1000);
  // display clock
  //drawChar(0,0,(clock/10000000)%10,0,false);
  //drawChar(8,0,(clock/1000000)%10,0,false);
  //drawChar(16,0,(clock/100000)%10,0,false);
  //drawChar(24,0,',',0,false);
  //drawChar(32,0,(clock/10000)%10,0,false);
  //drawChar(40,0,(clock/1000)%10,0,false);
  //drawChar(48,0,(clock/100)%10,0,false);
  //drawChar(56,0,(clock/10)%10,0,false);

  // seconds = (clock/10)%10;
  // colour = (clock/200)&1;

  // draw a rectangle
  // drawRect(72+seconds*5,0,72+seconds*5+3,7,colour);
  // drawRect(72+seconds*5+1,2,72+seconds*5+3,3,!colour);

  // draw a blob
  // setPixel(80,6,colour); setPixel(126,6,colour); setPixel(127,6,colour);
  // setPixel(126,5,colour); setPixel(126,7,colour);

  // display next character of message
  drawChar(120, 1, message[count % (sizeof(message) - 1)], 1, false);

  count = (count + 1);
  // DISPLAY SCROLL Rate set at delay
  // move the text 7 pixels (not 8 because it looks better) to the left
  for (byte i = 0; i < 10; i++) { // character spacing
    delay(50);              // delay between scrolls
    moveLeft(1, 2, 15);      // column spacing,?,?
  };
};

any idea....

any idea....

No, sorry, you must be much more detailed and specific in your question. I would guess you have some problem converting int to string. There are several ways to achieve this but without context I do not know which way to recommend. Which line of your sketch?

I get hard to...

Please be careful with your English. I am certain you did not intended it, but you were close to "obscene" language there which could cause offence.

Dancopy:
Hi mocart! Sorry, after all this time, have you solved your problem?

I have the same problem.

any ideas?

is there someone who has succeeded in performing the split function........

Greetings everyone!
I have an arduino sketch: "64x32 LED display matrix test code" which is possibly from Phil Kaziewicz (at least it's in the code header) and is calling a library (#include "sriftas.h":wink: but I do not I can find nowhere; could someone or the author himself share the link from that library? I would be very grateful
The sketch link is this: // Author: Phil Kaziewicz 19th July 2014// 64x32 LED display matrix test code - Pastebin.com

Dancopy:
Greetings everyone!
I have an arduino sketch: "64x32 LED display matrix test code" which is possibly from Phil Kaziewicz (at least it's in the code header) and is calling a library (#include "sriftas.h":wink: but I do not I can find nowhere; could someone or the author himself share the link from that library? I would be very grateful
The sketch link is this: // Author: Phil Kaziewicz 19th July 2014// 64x32 LED display matrix test code - Pastebin.com

just delete #include "sriftas.h" and add font data (font8x16_basic[] & font8x16_basic[]) to the sketch, done compiliing and work as well for me. thanks for all

so ive made a void to draw some words easily,

just call it by

drawText(0, 8, "test");
void drawText (int x, int y, const String text)
{
  int start;
  int len = text.length();
  char buf[len + 1];
  text.toCharArray(buf, len + 1);
  while (len > 0) {
    drawChar(x, y, buf[start], 2, false);
    start ++;
    x += 8;
    if (start >= len)
    {
      x = 0;
      break;
    }
  }
}