3x Velleman VMA419 in series

According to this link : https://www.velleman.eu/downloads/29/vma419_a4v02.pdf we can put multiple VMA419’s in series to display a long text with the provided code on an Arduino Uno.

It is not working.

Please help.

Hi @Edwin98,

Could you post some pictures of your setup and the code you used, so we can assist you further on this forum? “It’s not working” is not a lot to work with ;-).

Kind regards,
VEL342

This is the code

#include “SPI.h”
#include “DMD419.h”
#include “TimerOne.h”
#include “Arial_black_16.h”
/* you can remove the fonts if unused /
#define DISPLAYS_ACROSS 3
#define DISPLAYS_DOWN 1
DMD419 dmd( DISPLAYS_ACROSS , DISPLAYS_DOWN );
void ScanDMD()
{
dmd.scanDisplayBySPI();
}
void setup()
{
Timer1.initialize( 5000 );
Timer1.attachInterrupt( ScanDMD );
dmd.clearScreen( true );
}
String textToScroll=“Hello, this will be displayed on the DMD”;
void drawText( String dispString )
{
dmd.clearScreen( true );
dmd.selectFont( Arial_Black_16 );
char newString[256];
int sLength = dispString.length();
dispString.toCharArray( newString, sLength+1 );
dmd.drawMarquee( newString , sLength , ( 32
DISPLAYS_ACROSS )-1 ,0);
long start=millis();
long timer=start;
long timer2=start;
boolean ret=false;
while( !ret ){
if ( ( timer+20 ) < millis() ) {
ret=dmd.stepMarquee( -1 , 0 );
timer=millis();
}
}
}
void loop()
{
drawText(textToScroll);
}

Everything is wired as in https://www.velleman.eu/downloads/29/vma419_a4v02.pdf

3 screens are working, but I get 3 copies instead of one in series text.

current code

#include <SystemFont5x7.h>
#include <Arial14.h>
#include <DMD419.h>
#include <Arial_Black_16_ISO_8859_1.h>
#include <Arial_black_16.h>
#include <TimerOne.h>

#define DISPLAYS_ACROSS 3
#define DISPLAYS_DOWN 1
DMD419 dmd( DISPLAYS_ACROSS , DISPLAYS_DOWN );
void ScanDMD()
{
dmd.scanDisplayBySPI();
}
void setup()
{
Timer1.initialize( 5000 );
Timer1.attachInterrupt( ScanDMD );
dmd.clearScreen( true );
}
String textToScroll=“Hello, this will be displayed on the DMD”;
void drawText( String dispString )
{
dmd.clearScreen( true );
dmd.selectFont( Arial_Black_16 );
char newString[256];
int sLength = dispString.length();
dispString.toCharArray( newString, sLength+1 );
dmd.drawMarquee( newString , sLength , ( DISPLAYS_ACROSS )-1 ,0);
long start=millis();
long timer=start;
long timer2=start;
boolean ret=false;
while( !ret ){
if ( ( timer+20 ) < millis() ) {
ret=dmd.stepMarquee( -1 , 0 );
timer=millis();
}
}
}
void loop()
{
drawText(textToScroll);
}