MD_Parola MAX72XX rotate and "chain"

I'm trying to display static and scrolling text on my MAX72XX display (2x8, total of 16 x 64 LEDS).
I want to position my display the way i marked it in my picture.
The display should be able to display something in zone one and something else in zone two, but important data should be displayed on the whole screen (how do i chain my displays?)

#include "MD_MAX72xx.h"
#include <MD_Parola.h>

#define MAX_DEVICES 16
#define DATA_PIN 12
#define CLK_PINK 11
#define CS_PIN 10

MD_Parola P = MD_Parola(MD_MAX72XX::GENERIC_HW, DATA_PIN, CLK_PINK, CS_PIN, MAX_DEVICES);

void setup() {
  Serial.begin(9600);
  
  // put your setup code here, to run once:
  P.begin(2);
  P.setIntensity(0.1);

  int endPart1 = (MAX_DEVICES / 2);
  
  P.setZone(0, 0, endPart1 - 1);
  P.setZone(1, endPart1, MAX_DEVICES - 1);
}

void loop() {
  // put your main code here, to run repeatedly:
  if(P.displayAnimate()){
    P.displayZoneText(0, "ABC", PA_LEFT, 75, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
    P.displayZoneText(1, "ABC", PA_LEFT, 75, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
 }
}

Here is how it actually looks like:
file-upload.net

This is how the display should look most of the time:


And for important data, i want to set text for zone one and two each differently.

usually like
15 14 13 12 11 10 09 08
07 06 05 04 03 02 01 00

Not sure what your application is though, from your explanation. Maybe a real example of what they would display when would be helpful.

Ok how do i chain the displays then?

Real Example

  • (Big Text) Display Text on the whole display. For example: Temp: 26.0° (which fills out both zones and all display modules)
  • (Separated text) Display Humidity on row one (15-08) and wind speed on row 2 (07-00), like Hum: 60% and
    Wind: 60km/h

Currently, the displays are rotated by 90°, and text is scrolling weirdly.
Click on the uploaded file, i sadly can't embed more than one file in a post, which shows how it currently looks.

So here is what i need to do:

  1. Rotate displays by -90°
  2. Chain 0 - 7 and 8 - 15 and display separated text
  3. Temporarily remove zones when displaying big text, like the one in Real example #1

I gave you the chain sequence in the first response.

This is probably because you have not selected the right module type. From your photo it is definitely not MD_MAX72XX::GENERIC_HW. There are 4 types and if you read the documentation for MD_MAX72xx you should be able to work yours out.

No, you need 2 zones to display big text. There are examples for this in the example folder and also a number of other forum posts where this is discussed. It is also discussed at https://arduinoplusplus.wordpress.com (search for Parola A to Z for a whole lot of material on using the MD_Parola library).

1 Like