#include <LedControl.h>
int pinbotonB = 2;
int pinbotonV = 3;
int pinbotonAz = 4;
int pinbotonAm = 5;
const int DIN_PIN = 10;
const int CLK_PIN = 8;
const int NUM_DEVICES = 1;
const int CS_PIN = 9;
int serpY = 0;
int maxCol = 8;
int maxFil = 8;
int serpX = 0;
LedControl lc = LedControl(DIN_PIN, CLK_PIN, CS_PIN, NUM_DEVICES);
void setup() {
inicializacion();
}
void loop() {
arriba();
abajo();
derecha();
izquierda();
reinicio();
}
void inicializacion(void) {
Serial.begin(115200);
Serial.println("Boton blanco = arriba");
Serial.println("Boton verde = abajo");
Serial.println("Boton azul = izquierda");
Serial.println("Boton blanco = derecha");
pinMode(pinbotonB, INPUT);
pinMode(pinbotonV, INPUT);
pinMode(pinbotonAz, INPUT);
pinMode(pinbotonAm, INPUT);
lc.shutdown(0, false);
}
void arriba (void){
char estBotBlanco = digitalRead(pinbotonB);
if(estBotBlanco == 1){
serpY++;
lc.setLed(0, serpY, 0, true);
delay (100);
lc.setLed(0, serpY, 0, false);
}
}
void abajo (void){
char estBotVerde = digitalRead(pinbotonV);
if (estBotVerde == 1){
serpY--;
lc.setLed(0, serpY, 0, true);
delay (100);
lc.setLed(0, serpY, 0, false);
}
}
void izquierda (void){
char estBotAzul = digitalRead(pinbotonAz);
if (estBotAzul == 1){
serpX++;
lc.setLed(0, 0, serpX, true);
delay (100);
lc.setLed(0, 0, serpX, false);
}
}
void derecha (void){
char estBotAmarillo = digitalRead(pinbotonAm);
if (estBotAmarillo == 1){
serpX--;
lc.setLed(0, 0, serpX, true);
delay (100);
lc.setLed(0, 0, serpX, false);
}
}
void reinicio (void){
if (serpX < 0 || serpX >= maxCol || serpY < 0 || serpY >= maxFil) {
serpX = 0;
serpY = 0;
}
}