Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Arduino.h>
- #include <SPI.h>
- #include <Max72xxPanel.h>
- #include <Adafruit_GFX.h>
- #define BUZZER_PIN D2
- const boolean WEBSERVER_ENABLED = true; // Device will provide a web interface
- boolean ENABLE_OTA = true;
- String OTA_Password = "";
- int displayScrollSpeed = 25;
- void scrollMessage();
- const int pinCS = D6; // Attach CS to this pin, DIN to MOSI and CLK to SCK (cf http://arduino.cc/en/Reference/SPI )
- int displayIntensity = 1; //(Can be set from 0 - 15)
- const int numHorizontalDisplays = 8; // default 4 for standard 4 x 1 display Max size of 16
- const int numVerticalDisplays = 1; // default 1 for a single row height
- /* set ledRotation for LED Display panels (3 is default)
- 0: no rotation
- 1: 90 degrees clockwise
- 2: 180 degrees
- 3: 90 degrees counter clockwise (default)
- */
- int ledRotation = 3;
- // LED
- const int offset = 1;
- int refresh = 0;
- int spacer = 1; // dots between letters
- int width = 5 + spacer; // The font width is 5 pixels + spacer
- Max72xxPanel matrix = Max72xxPanel(pinCS, numHorizontalDisplays, numVerticalDisplays);
- void setup(void){
- Serial.begin(115200);
- delay(10);
- Serial.println('\n');
- Serial.println("Number of LED Displays: " + String(numHorizontalDisplays));
- // initialize display
- matrix.setIntensity(0); // Use a value between 0 and 15 for brightness
- int maxPos = numHorizontalDisplays * numVerticalDisplays;
- for (int i = 0; i < maxPos; i++) {
- matrix.setRotation(i, ledRotation);
- matrix.setPosition(i, maxPos - i - 1, 0);
- }
- Serial.println("matrix created");
- matrix.fillScreen(LOW); // show black
- /*tone(BUZZER_PIN, 415, 500);
- delay(500 * 1.3);
- tone(BUZZER_PIN, 466, 500);
- delay(500 * 1.3);
- tone(BUZZER_PIN, 370, 1000);
- delay(1000 * 1.3);
- noTone(BUZZER_PIN);*/
- for (int inx = 0; inx <= 15; inx++) {
- matrix.setIntensity(inx);
- delay(100);
- }
- for (int inx = 15; inx >= 0; inx--) {
- matrix.setIntensity(inx);
- delay(60);
- }
- delay(1000);
- matrix.setIntensity(displayIntensity);
- }
- void loop(void){
- scrollMessage();
- delay(10000);
- }
- void scrollMessage() {
- String msg = "olala";
- msg += " "; // add a space at the end
- for ( unsigned int i = 0 ; i < width * msg.length() + matrix.width() - 1 - spacer; i++ ) {
- if (refresh == 1) i = 0;
- refresh = 0;
- matrix.fillScreen(LOW);
- unsigned int letter = i / width;
- int x = (matrix.width() - 1) - i % width;
- int y = (matrix.height() - 8) / 2; // center the text vertically
- while ( x + width - spacer >= 0 && letter >= 0 ) {
- if ( letter < msg.length() ) {
- matrix.drawChar(x, y, msg[letter], HIGH, LOW, 1);
- }
- letter--;
- x -= width;
- }
- matrix.write(); // Send bitmap to display
- delay(displayScrollSpeed);
- }
- matrix.setCursor(0, 0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement