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.
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 , ( 32DISPLAYS_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);
}
Hi !
I have the same problem, have you found a solution since ?
Edit : I also opened a topic on the Arduino forum.
VMA419 - Arduino Forum
Hello @Edwin98
The code has been modifided and now works. thanks to PaulRb on the Arduino Forum.
U can find it right at the bottom of the page on:
https://forum.arduino.cc/index.php?topic=680645.0
Thank you for the help @Psyk0sushi !
Kind regards,
VEL101