#include <LiquidCrystal_I2C.h>;
LiquidCrystal_I2C lcd(0x27,16,2);// descripcion del display
//potenciometro velocidada de los obstaculos
struct potenciometro {
const int pin;
int v_minimo;
int v_maximo;
};
struct potenciometro Pote = {33,1,10};
//const int pin_pote=33;
unsigned long tiempo_actual;
unsigned long tiempo_anterior_poten;
unsigned long tiempo_base;
//Obstaulos:
byte cactus1[]={ B00000,B00000,B00100,B10100, B10101,B11101,B00111,B00100
};
//Dinosaurio parado
byte dino1[]={ B00000,B00000,B00000,B01001, B01111,B00111,B00011,B00001
};
byte dino2[]={ B01111,B01011,B11111,B11100, B11100,B11100,B11000,B01000
};//2°parte del dino
//Dinos levantando la pata derecha
byte derecha[]={ B00000,B00000,B00000,B01001, B01111,B00111,B00011,B00000
};
//dino levantando la pata izq
byte izq[]={ B01111,B01011,B11111,B11100, B11100,B11100,B10000,B00000
};
// facilito que columna muestro y fila
int dino_columna1=3;
int dino_columna2=4;
int parado_fila=1;
int saltando_fila=0;
int fila_obst=1;
int columna_obst=15;
//para ver mas facil que MATRIZ muestro en writhe
int dinop1=1;
int dinop2=2;
int derecha1=3;
int izq1=4;
int vercactus1=5;
void setup() {
lcd.init();
lcd.backlight();
//DINO COMPLETO:
lcd.createChar(1,dino1);//lo uso si es la misma en donde levanta la pata iz
lcd.createChar(2,dino2);//lo uso donde levanta la pata derecha
//dino levantando la DERECHA:
lcd.createChar(3,derecha);//lcd.createChar(3,derecha2);
// dino levantando la IZQUIERDA:
lcd.createChar(4,izq);
Serial.begin(115200);
Serial.println("Hello, ESP32!");
//Cactus1
lcd.createChar(5,cactus1);
}
int aumento=150;
int valor;
int estado;
int velocidad;
int mov_col;
int tiempo;
void loop() {
valor=map(analogRead(Pote.pin), 0, 4095,Pote.v_minimo, Pote.v_maximo);
tiempo=1000-(valor*aumento);
for (int i; i<columna_obst ; i++){
if
//dino levantando DERECHA:
lcd.setCursor(3,1);
lcd.write(derecha1);
lcd.setCursor(4,1);
lcd.write(dinop2);
delay(tiempo);
// Dino levantando la IZQUIERDA:
lcd.setCursor(3,1);
lcd.write(dinop1);
lcd.setCursor(4,1);
lcd.write(izq1);
delay(tiempo);
lcd.setCursor(columna_obst-i,fila_obst);
lcd.write(vercactus1);
delay(tiempo);
lcd.clear();
Serial.print(tiempo);
}
delay(500); // this speeds up the simulation
}