LED Matrix MQTT Sign

I’ve just added OTA to the new version…

BasicMQTTMsgDisplayFromHA.ino OTA Added

So if you want the ability to OTA use that version not the test version.

I’ll try this again today :+1:

@keithh666 thanks again for your work , I tried this today, the data isn’t updating itself, not sure whats wrong with the setup, the time remains the same and isn’t progressing ahead, also the data is printing multiple times like 4 times for some values and about twice for some values, appreciate your help :slight_smile:

The length of time the data is displayed for is dependent on the length of the data string (i.e. it’s fixed in the code, so if you have a very short string it will play a few times but if you have a very long string it will play once or twice before moving on), the time will only up date if you have an automation to update it :stuck_out_tongue: The matrix will only display what you send it.

oh ok :laughing:, is there no way to get them updated automatically? like in the code itself refreshing for the info in X mins or sec. will these automations slow down the actual HA system?

The old code used to get the time from an NTP server but it doesn’t do that anymore, so no it’s up to you how often you want things to update, baring in mind that the msgs need time to cycle thru’ I don’t think it will unduly stress the PI.

OK thats nice, well, thanks again … i’m hoping to test this more and see if i can find anything more with it.:face_with_monocle:

I’m trying to load this to a Wemos D1 mini with Arduino 1.8.5 and get the following error, any suggestions for a relative noob

invalid conversion from ‘uint8_t {aka unsigned char}’ to ‘MD_MAX72XX::moduleType_t’ [-fpermissive]

Thanks

I just recompiled mine for the Wemos D1 R2 & mini and it worked fine, so maybe you don’t have the correct boards installed or the latest libs.

hi keithh666,

I’ve checked and am running latest updates of all boards and libs, still can’t veryfy, see below for full error list from Arduino

Arduino: 1.8.5 (Windows 10), Board: “LOLIN(WEMOS) D1 R2 & mini, 80 MHz, Flash, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 921600”

BasicMQTTMsgDisplayFromHA:31: error: invalid conversion from ‘uint8_t {aka unsigned char}’ to ‘MD_MAX72XX::moduleType_t’ [-fpermissive]

MD_Parola P = MD_Parola(DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);

                                                           ^

In file included from D:\Howesfam\Documents\Arduino\Basic_LED_Matrix_Sign-master(1)\basic_led_matrix_sign.ptmp518630\Basic_LED_Matrix_Sign-master(1)\basic_led_matrix_sign\BasicMQTTMsgDisplayFromHA\BasicMQTTMsgDisplayFromHA.ino:11:0:

D:\Howesfam\Documents\Arduino\libraries\MD_Parola\src/MD_Parola.h:1067:3: error: initializing argument 1 of ‘MD_Parola::MD_Parola(MD_MAX72XX::moduleType_t, uint8_t, uint8_t, uint8_t, uint8_t)’ [-fpermissive]

MD_Parola(MD_MAX72XX::moduleType_t mod, uint8_t dataPin, uint8_t clkPin, uint8_t csPin, uint8_t numDevices = 1);

^

exit status 1
invalid conversion from ‘uint8_t {aka unsigned char}’ to ‘MD_MAX72XX::moduleType_t’ [-fpermissive]

This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.

You have added the libs for Parola and Max72xx?

Hi,

Yes, MD_MAX72XX V3.0.1 and MD_Parlo V3.0.0.

Thanks for your help

Ok, mine are

Max72xx - 2.10

Parola - 2.6.5

So it maybe that either or both have changed the i/f after the ones I’m using.

Thanks for that I’ll try rolling them back.

OK, I’ll also try compiling with the new versions and see what happens :slight_smile:

Hi keithh66,

Success, verifies with your versions, I can carry on now, I’ve been bashing my head against this brick wall for a while.

Thanks for your help.

OK, so the new libraries have changed the call method…

#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW <------------------ Add this line
#define MAX_DEVICES 11
#define CLK_PIN   13
#define DATA_PIN  11
#define CS_PIN    10

// HARDWARE SPI
//MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
// SOFTWARE SPI
MD_Parola P = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES); <--------- add HARDWARE_TYPE, to this line

Then it should compile.

The hardware type will need to be changed to #define HARDWARE_TYPE MD_MAX72XX::FC16_HW, then it will work as before :slight_smile:

2 Likes

Hi, i really liked this project so i have made my own version with some tweaks:

  • Messages are completely controlled by putting content into MQTT topics. The controller does not generate any content itself.
  • There are 10 topics in total for 10 messages maximum. If a message is set to an empty string it is skipped automatically.
  • I use Node RED to set my messages, some examples: current date/time / todays weather / tomorrows weather / waste bin collection reminder / good morning message (randomly selected from a list) / random quotes / reminders for the kids (gym day, don’t forget your gym gear)
  • I use extra Node RED flows to automatically control the brightness (from lux sensor in room) and to shut down the display during the night.
  • Made some enhancements like being able to safely set new message content without the message being changed in the middle of the display.
  • I cleaned up the code and put in more comments

I also printed a nice enclosure on my 3D printer: https://www.thingiverse.com/thing:2811071

If anyone is interested in the code let me know.

6 Likes

I’m interested in the code and also the libs. Don’t wanna struggle with wrong libs …thanks in advance

BTW…where are u from? Would like having the nice box … :sunglasses:

Very nice, I’ve been designing the same type of box in Fusion360, it currently works for 3 modules (3 sets of 4 leds). I’m using a hook and pin type system, I’ll have a look at yours to see if it’s better :slight_smile: