#define MAX_DEVICES 1
#define CLK 13
#define DIN 11
#define CS 10
#define VERT_PIN A0
#define DecodeMode 0x09
#define Intensity 0x0A
#define ScanLimit 0x0B
#define Shutdown 0x0C
#define DisplayTest 0x0F
byte fb[8];
uint8_t heart[8] = { 0b01100110,
0b11111111,
0b11111111,
0b11111111,
0b11111111,
0b01111110,
0b00111100,
0b00011000 };
uint8_t ledDiagram[8] = { 0 };
void MAX7219_write(uint8_t address, uint8_t data) {
digitalWrite(CS, LOW);
delay(1);
shiftOut(DIN, CLK, MSBFIRST, address);
shiftOut(DIN, CLK, MSBFIRST, data);
digitalWrite(CS, HIGH);
}
void draw(uint8_t *ShowArray_ptr) {
uint8_t temp[8] = { 0 };
//transpose(ShowArray_ptr, temp, orient);
for (uint8_t i = 0; i < 8; i++) {
MAX7219_write((uint8_t) i + 1, temp[i]);
}
}
void setup() {
Serial.begin(115200);
// Setup each MAX7219
MAX7219_write(DecodeMode, 0x00); //no-decode mode
MAX7219_write(Intensity, 0x00); //minimum brightness setting
MAX7219_write(Shutdown, 0x01); //turn the LED matrix on
MAX7219_write(DisplayTest, 0x00); //turn off display test
MAX7219_write(ScanLimit, 0x07); //set 8 lines of LEDs
pinMode(VERT_PIN, INPUT);
draw(heart);
}
// the loop function runs over and over again forever
void loop() {
int vert = analogRead(VERT_PIN);
//shiftOut(DIN, CLK, MSBFIRST, send_to_address);
//shiftOut(DIN, CLK, MSBFIRST, send_this_data);
// mx.update();
delay(100);
}