#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);// descripcion del display
//Corazon
byte Heart[] = { B00000,B01010,B11111,B11111, B01110,B00100,B00000,B00000
};
//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
//Cactus
byte cactus1[]={ B00000,B00000,B00100,B10100, B10101,B11101,B00111,B00100
};
// 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;
int vercactus2p1=6;
int vercactus2p2=7;
//
//const int pin_pote=33;
unsigned long tiempo_actual;
unsigned long tiempo_anterior_poten;
unsigned long tiempo_base;//para la velocidad del potenciométro
int mov_col;
// Uso de ESTRUCTURA:
struct Potenciometro{
const int pin;
int v_minimo;
int v_maximo;
};
struct Potenciometro Pote = {33,1,10};
void setup() {
lcd.init();
lcd.backlight();
lcd.createChar(0,Heart);
//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
//Cactus1
lcd.createChar(5,cactus1);
//variable poten
Serial.begin(115200);
}
int valor_pote;
// put your setup code here, to run once:
//
//Serial.println("Hello, ESP32!");
void loop() {
lcd.setCursor(6,0);
lcd.setCursor(0,0);
lcd.write(0);
//DINOSAURIO:
lcd.setCursor(dino_columna1,parado_fila); //(fila,columna)
lcd.write(dinop1);//Matriz
lcd.setCursor(dino_columna2,parado_fila);
lcd.write(dinop2);
//DINO SALTANDO POSICION COLUMNA 3 FILA 0:
lcd.setCursor(dino_columna1,saltando_fila);
lcd.write(dinop1);
lcd.setCursor(dino_columna2,saltando_fila);
lcd.write(dinop2);
//TIEMPO POTENCIOMETRO
tiempo_base = map (analogRead(Pote.pin), 0, 4095, Pote.v_minimo, Pote.v_maximo);
tiempo_actual = millis();
lcd.setCursor(8,0);
lcd.print(tiempo_base);
// if( (tiempo_actual - tiempo_anterior_poten)>= tiempo_base) {
//tiempo_anterior_poten = tiempo_actual;
// CACTUS 2:
//mov_col=columna_obst-1;
// lcd.setCursor(mov_col,fila_obst);
//lcd.write(vercactus1);
//}
}