Arduino Tutorials

How to simulate digital scrolling text display (DMD) in Proteus with MAX7219 and Arduino.

I have previously made a project tutorial on how to design a digital scrolling text display with Arduino and P10 DMD module. In this tutorial, you will learn how to simulate a dot matrix display module with MAX7219 DMD driver, 8×8 dot matrix display (DMD) and Arduino in Proteus.

This simulation is a simple way to showcase what the real result will look like even before you design the real project.

All you need for the simulation is to have the following:

  • Arduino IDE
  • Proteus Simulator software
  • Arduino proteus library

  I have made a comprehensive tutorial on how to add Arduino library to Proteus, check it here

Below is the complete video of the tutorial

The Arduino code for the tutorial is shown below:

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Max72xxPanel.h>

int pinCS = 10;
int numberOfHorizontalDisplays = 3;
int numberOfVerticalDisplays = 1;
Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays,numberOfVerticalDisplays); 
String tape = "Ettron";
int wait = 50;

int spacer = 1;
int width = 5 + spacer;

void setup() {
  matrix.setIntensity(7);

}
void loop() {
  for ( int i = 0; i < width * tape.length() + matrix.width () -1 - spacer; i++){
  
       matrix.fillScreen(LOW);

       int letter = i/width;
       int x = (matrix.width() - 1) - i % width;
       int y = (matrix.height() - 8)/ 2;

         while (x + width - spacer >= 0 && letter >= 0)
         {
         
          if (letter < tape.length())
          {
            matrix.drawChar(x, y, tape[letter], HIGH,LOW, 1);
  }
     letter--;
     x -= width;
  }
  matrix.write();
  delay(wait);
  }
}

Leave a Reply

Your email address will not be published. Required fields are marked *