Facebook
From Sm, 1 Year ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 138
  1.  
  2. #include <MD_Parola.h>
  3. #include <MD_MAX72xx.h>
  4. #include <SPI.h>
  5. #include "Font_Data.h"
  6.  
  7. #define DEBUG 0
  8.  
  9. #define HARDWARE_TYPE MD_MAX72XX::FC16_HW
  10. #define MAX_ZONES 2
  11. #define ZONE_SIZE 8
  12. #define MAX_DEVICES (MAX_ZONES * ZONE_SIZE)
  13. #define SCROLL_SPEED  30
  14.  
  15. #define ZONE_UPPER  1
  16. #define ZONE_LOWER  0
  17.  
  18. #define CLK_PIN   13
  19. #define DATA_PIN  11
  20. #define CS_PIN    10
  21.  
  22. // HARDWARE SPI
  23. MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
  24. // SOFTWARE SPI
  25. //MD_Parola P = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);
  26.  
  27. // Hardware adaptation parameters for scrolling
  28. bool invertUpperZone = false;
  29.  
  30. #define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
  31. char *msg[] =
  32. {
  33.   "HellO",
  34.  
  35. };
  36.  
  37. void setup(void)
  38. {
  39.   invertUpperZone = (HARDWARE_TYPE == MD_MAX72XX::GENERIC_HW || HARDWARE_TYPE == MD_MAX72XX::PAROLA_HW);
  40.  
  41. #if DEBUG
  42.   Serial.begin(57600);
  43.   Serial.println("[Double Height demo start]");
  44. #endif
  45.  
  46.   P.begin(MAX_ZONES);
  47.  
  48.   P.setZone(ZONE_LOWER, 0, ZONE_SIZE - 1);
  49.   P.setFont(ZONE_LOWER, BigFontLower);
  50.  
  51.   P.setZone(ZONE_UPPER, ZONE_SIZE, MAX_DEVICES-1);
  52.   P.setFont(ZONE_UPPER, BigFontUpper);
  53.   P.setCharSpacing(P.getCharSpacing() * 2);
  54.   if (invertUpperZone)
  55.   {
  56.     P.setZoneEffect(ZONE_UPPER, true, PA_FLIP_UD);
  57.     P.setZoneEffect(ZONE_UPPER, true, PA_FLIP_LR);
  58.   }
  59. }
  60.  
  61. void loop(void)
  62. {
  63.   static uint8_t cycle = 0;
  64.  
  65.   P.displayAnimate();
  66.  
  67.   if (P.getZoneStatus(ZONE_LOWER) && P.getZoneStatus(ZONE_UPPER))
  68.   {
  69. #if DEBUG
  70.     Serial.println(cycle);
  71. #endif
  72.  
  73.     switch (cycle)
  74.     {
  75.     default:
  76.       P.setFont(ZONE_LOWER, BigFontLower);
  77.       P.setFont(ZONE_UPPER, BigFontUpper);
  78.       if (invertUpperZone)
  79.       {
  80.         P.displayZoneText(ZONE_LOWER, msg[cycle], PA_LEFT, SCROLL_SPEED, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
  81.         P.displayZoneText(ZONE_UPPER, msg[cycle], PA_LEFT, SCROLL_SPEED, 0, PA_SCROLL_RIGHT, PA_SCROLL_RIGHT);
  82.       }
  83.       else
  84.       {
  85.         P.displayZoneText(ZONE_LOWER, msg[cycle], PA_RIGHT, SCROLL_SPEED, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
  86.         P.displayZoneText(ZONE_UPPER, msg[cycle], PA_LEFT, SCROLL_SPEED, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
  87.       }
  88.  
  89.       break;
  90.     }
  91.  
  92.     cycle = (cycle + 1) % ARRAY_SIZE(msg);
  93.  
  94.     P.displayClear();
  95.     P.synchZoneStart();
  96.   }
  97. }

Replies to Untitled rss

Title Name Language When
Re: Untitled Obese Cockroach text 1 Year ago.