#include <MD_MAX72xx.h>
#define MAX_DEVICES 3
#define CLK_PIN 13
#define DATA_PIN 11
#define CS_PIN 10
MD_MAX72XX mx = MD_MAX72XX(MD_MAX72XX::PAROLA_HW, CS_PIN, MAX_DEVICES);
int pin = 6;
int cas = 0;
int pozice = 2;
void kostka(int poz) {
mx.setPoint(poz, 2, true);
mx.setPoint(poz - 1, 2, true);
mx.setPoint(poz, 3, true);
mx.setPoint(poz - 1, 3, true);
}
int podlaha[24] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
void podlaharoz(int array[]) {
for (int i = 0; i < 24; i++) {
for (int j = 0; j < array[i]; j++) {
mx.setPoint(j, i, true);
}
}
}
void rozsvit() {
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 24; j++) {
mx.setPoint(i, j, true);
}
}
}
void setup() {
pinMode(pin, INPUT_PULLUP);
Serial.begin(9600);
mx.begin();
}
void loop() {
podlaharoz(podlaha);
kostka(pozice);
cas = 0;
while (true) {
delay(5);
cas = cas + 5;
if (digitalRead(pin) == false) {
//skok
for (int a = 0; a < 3; a++) {
delay(200);
pozice++;
mx.clear();
podlaharoz(podlaha);
kostka(pozice);
}
for (int a = 0; a < 3; a++) {
delay(200);
pozice--;
mx.clear();
podlaharoz(podlaha);
kostka(pozice);
cas = cas + 1200;
}
}
}
}