arduino-sensors-serial/lib/MAX7219/examples/Scrolling/Scrolling.ino

55 lines
1.2 KiB
Arduino
Raw Normal View History

2020-07-08 21:24:13 +00:00
#include <SPI.h>
#include <bitBangedSPI.h>
#include <MAX7219.h>
const byte chips = 1;
// 1 chip, bit banged SPI on pins 6, 7, 8
MAX7219 display (chips, 6, 7, 8); // Chips / LOAD / DIN / CLK
const char message [] = "Hello there - testing 123456789 ";
void setup ()
{
display.begin ();
} // end of setup
unsigned long lastMoved = 0;
unsigned long MOVE_INTERVAL = 500; // mS
unsigned int messageOffset;
void updateDisplay ()
{
const unsigned int messageLength = strlen (message);
// get each byte required
for (byte i = 0; i < (8 * chips); i++)
{
// find the offset in the message array
unsigned int charOffset = messageOffset + i;
// if we have passed the end, go back to the start
if (charOffset >= messageLength)
charOffset -= messageLength;
// send that character
display.sendChar (i, message [charOffset]);
}
// next time show one character on
if (messageOffset++ >= messageLength)
messageOffset = 0;
} // end of updateDisplay
void loop ()
{
// update display if time is up
if (millis () - lastMoved >= MOVE_INTERVAL)
{
updateDisplay ();
lastMoved = millis ();
}
// do other stuff here
} // end of loop