#include <MD_MAX72xx.h>
#include <SPI.h>
#define delay_t 5 // in milliseconds
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
#define MAX_DEVICES 1
//Hardware SPI Arduino UNO
// CLK Pin > 13 SCK
// Data Pin > 11 MOSI
#define MAX_DEVICES 1
#define CLK_PIN 13
#define DATA_PIN 11
#define CS_PIN 10
//const int buttonA = 2;
//int buttonA_state = 0;
//const int buttonC = 4;
//int buttonC_state = 0;
int count_value =0;
int prestate =0;
//määritetään nappi
int button = 2;
// Hardware SPI connection
MD_MAX72XX mx = MD_MAX72XX(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
byte one[8] = {0x00,0x18,0x18,0x38,0x18,0x18,0x18,0x7e};
byte two[8] = {0x00,0x3c, 0x66, 0x06, 0x0c, 0x30, 0x60, 0x7e};
byte three[8] = {0x00, 0x3c, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x3c};
byte four[8] = {0x00,0x0c,0x1c,0x2c,0x4c,0x7e,0x0c,0x0c};
byte five[8] = {0x00,0x7e,0x60,0x7c,0x06,0x06,0x66,0x3c};
byte six[8] = {0x00,0x3c,0x66,0x60,0x7c,0x66,0x66,0x3c};
byte seven[8] = {0x00,0x7e,0x66,0x0c,0x0c,0x18,0x18,0x18};
byte eight[8] = {0x00,0x3c,0x66,0x66,0x3c,0x66,0x66,0x3c};
byte nine[8] = {0x00,0x3c,0x66,0x66,0x3e,0x06,0x66,0x3c};
byte zero[8]= {0x3c,0x66,0x66,0x6e,0x76,0x66,0x3c,0x00};
byte ten[8]={0x4e,0xd1,0x51,0x51,0x51,0x51,0x51,0xee};
byte eleven[8]={0x44,0xcc,0x44,0x44,0x44,0x44,0x44,0xee};
byte twelve[8]={0x4e,0xd1,0x41,0x41,0x42,0x44,0x48,0xff};
byte thirteen[8]={0x4e,0xd1,0x41,0x46,0x41,0x41,0x51,0xee};
byte fourteen[8]={0x41,0xc3,0x45,0x49,0x51,0x5f,0x41,0xe1};
byte fifteen[8]={0x5f,0xd0,0x50,0x5e,0x41,0x41,0x51,0xee};
byte sixteen[8]={0x4e,0xd1,0x50,0x5e,0x51,0x51,0x51,0xee};
byte seventeen[8]={0x5f,0xc1,0x41,0x42,0x44,0x48,0x48,0xe8};
byte eighteen[8]={0x4e,0xd1,0x51,0x4e,0x51,0x51,0x51,0xee};
byte nineteen[8]={0x4e,0xd1,0x51,0x51,0x4f,0x41,0x51,0xee};
void setup() {
mx.begin();
mx.control(MD_MAX72XX::INTENSITY, 0);
mx.clear();
}
void loop(){
if (digitalRead(button)==HIGH && prestate ==0){
count_value+=1;
prestate = 1;
}
else if(count_value == 1){
for (int i = 0; i <= 7; i++) {
mx.setRow(0, 0, i, one[i]);
}
}
else if(count_value == 2){
for (int i = 0; i <= 7; i++) {
mx.setRow(0, 0, i, two[i]);
}
}
else if(count_value == 3){
for (int i = 0; i <= 7; i++) {
mx.setRow(0, 0, i, three[i]);
}
}
}