Home
About Us
Achievement
Home
Raspberry-Pi Projects
_Raspberry Pi 4 Complete Guide
Arduino Project
_All Projects
Esp8266 Project
_All Projects
Esp32 Project
_Automation-with-feedback
MAX7219 LED Matrix Display Interfacing With Arduino
Just Do Electronics
October 19, 2019
Circuit Diagram :-
Code :-
//Prateek //wwww.prateeks.in //https://www.youtube.com/c/JustDoElectronics/videos #include
#include
// set to 1 if we are implementing the user interface pot, switch, etc #define USE_UI_CONTROL 0 #if USE_UI_CONTROL #include
#endif // Turn on debug statements to the serial output #define DEBUG 1 #if DEBUG #define PRINT(s, x) { Serial.print(F(s)); Serial.print(x); } #define PRINTS(x) Serial.print(F(x)) #define PRINTX(x) Serial.println(x, HEX) #else #define PRINT(s, x) #define PRINTS(x) #define PRINTX(x) #endif // Define the number of devices we have in the chain and the hardware interface // NOTE: These pin numbers will probably not work with your hardware and may // need to be adapted #define MAX_DEVICES 8 #define CLK_PIN 13 #define DATA_PIN 11 #define CS_PIN 3 // HARDWARE SPI MD_Parola P = MD_Parola(CS_PIN, MAX_DEVICES); // SOFTWARE SPI //MD_Parola P = MD_Parola(DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES); #define PAUSE_TIME 1000 #define SPEED_DEADBAND 5 // Scrolling parameters #if USE_UI_CONTROL #define SPEED_IN A5 #define DIRECTION_SET 8 // change the effect #define INVERT_SET 9 // change the invert #endif // USE_UI_CONTROL uint8_t frameDelay = 25; // default frame delay value textEffect_t scrollEffect = SCROLL_LEFT; // Global message buffers shared by Serial and Scrolling functions #define BUF_SIZE 75 char curMessage[BUF_SIZE]; char newMessage[BUF_SIZE]; bool newMessageAvailable = false; #if USE_UI_CONTROL MD_KeySwitch uiDirection(DIRECTION_SET); MD_KeySwitch uiInvert(INVERT_SET); void doUI(void) { // set the speed if it has changed { int16_t speed = map(analogRead(SPEED_IN), 0, 1023, 10, 150); if ((speed >= ((int16_t)P.getSpeed() + SPEED_DEADBAND)) || (speed <= ((int16_t)P.getSpeed() - SPEED_DEADBAND))) { P.setSpeed(speed); P.setPause(speed); frameDelay = speed; PRINT("\nChanged speed to ", P.getSpeed()); } } if (uiDirection.read()) // SCROLL DIRECTION { PRINTS("\nChanging scroll direction"); scrollEffect = (scrollEffect == SCROLL_LEFT ? SCROLL_RIGHT : SCROLL_LEFT); P.setTextEffect(scrollEffect, scrollEffect); P.displayReset(); } if (uiInvert.read()) // INVERT MODE { PRINTS("\nChanging invert mode"); P.setInvert(!P.getInvert()); } } #endif // USE_UI_CONTROL void readSerial(void) { static uint8_t putIndex = 0; while (Serial.available()) { newMessage[putIndex] = (char)Serial.read(); if ((newMessage[putIndex] == '\n') || (putIndex >= BUF_SIZE-2)) // end of message character or full buffer { // put in a message separator and end the string newMessage[putIndex] = '\0'; // restart the index for next filling spree and flag we have a message waiting putIndex = 0; newMessageAvailable = true; } else // Just save the next char in next location newMessage[putIndex++]; } } void setup() { Serial.begin(57600); #if USE_UI_CONTROL uiDirection.begin(); uiInvert.begin(); pinMode(SPEED_IN, INPUT); doUI(); #endif // USE_UI_CONTROL P.begin(); P.displayClear(); P.displaySuspend(false); P.displayScroll(curMessage, LEFT, scrollEffect, frameDelay); strcpy(curMessage, "Just Do Electronics"); newMessage[0] = '\0'; Serial.begin(57600); Serial.print("\n[Parola Scrolling Display]\nType a message for the scrolling display\nEnd message line with a newline"); } void loop() { #if USE_UI_CONTROL doUI(); #endif // USE_UI_CONTROL readSerial(); if (P.displayAnimate()) { if (newMessageAvailable) { strcpy(curMessage, newMessage); newMessageAvailable = false; } P.displayReset(); } }
Video :-
2 Comments
Uniquecircuits
19 October 2019 at 08:15
plz help
Reply
Delete
Replies
Reply
PRATEEK SINGH
19 October 2019 at 08:33
Hi
Reply
Delete
Replies
Reply
Add comment
Load more...
Newer
Older
ESP32 Interfacing With LDR Sensor
How to Make a Conveyor Belt System | Counter Machine
Smart Street Light Using Arduino
Esp32 Cam Based Face Unlock
IoT Based Patient Health Monitoring System Using Blynk App
IoT Based Fingerprint Biometric Attendance System Using NodeMCU (Esp8266)
ESP32 And Fingerprint Sensor Based Biometric Door Lock Security System
ESP32 Led Blink With Push Button
How To Make RFID & Keypad Based Door Lock
IoT Weight Scale using Load Cell HX711 & ESP8266
YouTube
Like on Facebook
Follow on Twitter
Follow on Google+
Follow on Instagram
Subscribe on Youtube
Hi WelCome To My Website If you have a creative mind and want to learn Electronics even without studying it then FRIENDS this Website And Youtube Channel is for you, I am crazy creators who love making Electronics things. I have a bunch of more than 130 Tutorial Videos on My YouTube Channel and I upload a new Tutorial every Sunday.
Tags
Arduino Project
Esp32 Project
Esp8266 Project
2 Comments
plz help
ReplyDeleteHi
ReplyDelete