Artifacting "1" font independent.

The Dot Matrix Display (DMD) is a 32x16 array of high-brightness LEDs for visually striking effects. [Product Page]
Post Reply
twilliamson
Posts:6
Joined:Thu Dec 03, 2015 1:36 pm
Artifacting "1" font independent.

Post by twilliamson » Thu Dec 17, 2015 1:28 am

Working on my GPS Clock project and I am running into a issue displaying time. I tend to get some weird artifacting.

Video here https://goo.gl/photos/wWMHDXWPN5MQVoH68 Pardon the refresh rate funkiness. the horizontal lines are not seen by the human eye.

I'm not entirely sure why. But If i do a dmd.clearScreen(); before i print i have no issues, BUT i get a annoying flicker. I have tried multiple fonts they all respond similar. Any ideas?

Here are bits of my code.
init(s)

Code: Select all

//********DMDisplay *************//
#include <SPI.h>        //SPI.h must be included as DMD is written by SPI (the IDE complains otherwise)
#include <DMD2.h>        //https://github.com/freetronics/DMD
#include "SystemFont5x7.h"
#include "Arial_black_16.h"
#include <fonts/Arial14.h>
#include <fonts/Droid_Sans_12.h>


//Fire up the DMD library as dmd
#define DISPLAYS_ACROSS 2
#define DISPLAYS_DOWN 1
SoftDMD dmd(2,1);  // DMD controls the entire display
//******END CONFIGS*****//

void setup()
{
  Serial.begin(115200);
  dmd.setBrightness(30);
  dmd.selectFont(Arial_Black_16);
  //dmd.selectFont(Arial14);
  //dmd.selectFont(Droid_Sans_12);
  dmd.begin();

  while (!Serial) ; // Needed for Leonardo only
  SerialGPS.begin(9600);
  Serial.println("Waiting for GPS time ... ");
}

Code: Select all

int min =  minute();
if ( min < 10){Minutes = "0" + String(min);}else{Minutes = String(min);}    

int seconds =  second();
if ( seconds < 10){Sec = "0" + String(seconds);}else{Sec = String(seconds);} 

int hrs =  hour();
if ( hrs < 12) { if( hrs < 10 ) {Hours = "0" + String(hrs);} else {Hours = String(hrs);}} else {hrs = hrs - 12; if( hrs < 10 ) {Hours = "0" + String(hrs);} else {Hours = String(hrs);} ;} 

String cTIME= Hours + Col + Minutes + Col + Sec;
Serial.println(cTIME);
//dmd.clearScreen();
dmd.drawString(0,0,cTIME);

twilliamson
Posts:6
Joined:Thu Dec 03, 2015 1:36 pm

Re: Artifacting "1" font independent.

Post by twilliamson » Thu Dec 17, 2015 2:52 am

I fixed my issue.

Since the Fonts are not common width i needed to add a "*space*" after my string to make sure the leftover pixels got removed.

Post Reply