Arduino Tutorials

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

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.

Below is the complete video on How to simulate digital scrolling text display (DMD) in Proteus with MAX7219 and Arduino

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 *