#include "LedControl.h" LedControl screen = LedControl ( 2, 3, 4, 1 ); //DIN, CLK, CS, pocet matic int x=0,y=0; //sloupec, radek int i; int spinacS1pin = 5, spinacS2pin = 6; int smer = 1;//1 - vpravo, 2 - dolu, 3 - vlevo, 4 - nahoru void kresli () { screen.setLed (0,y,x,1); } //Funkce pro ovladani smeru pohybu void vpravo () { screen.setLed (0,y,x++,0); if ( x > 7 ) x = 0; screen.setLed (0,y,x,1); } void dolu () { screen.setLed (0,y++,x,0); if ( y > 7 ) y = 0; screen.setLed (0,y,x,1); } void vlevo () { screen.setLed (0,y,x--,0); if ( x < 0 ) x = 7; screen.setLed (0,y,x,1); } void nahoru () { screen.setLed (0,y--,x,0); if ( y < 0 ) y = 7; screen.setLed (0,y,x,1); } void setup() { screen.shutdown (0, false ); screen.setIntensity(0,8); screen.clearDisplay(0); y=1; x=1; kresli (); // prvni zobrazeni bodu } void loop () { //Switch proveri hodnotu promenne a podle jednotlivych pripadu (case) vola funkce switch (smer) { case 1: vpravo (); break; //Break musi byt vzdy na konci kodu pro kazdy case case 2: dolu (); break; case 3: vlevo (); break; case 4: nahoru (); break; } delay (500); //stiskem spinacu menime hodnotu promenne smer a tim urcujeme, kam se bod bude pohybovat if (digitalRead (spinacS1pin)) smer--; if (digitalRead (spinacS2pin)) smer++; //smer musime udrzet v mezich 1 az 4 if ( smer < 1 ) smer = 4; if ( smer > 4 ) smer = 1; }