#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;
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
}
int valor_pote;
// put your setup code here, to run once:
//Serial.begin(115200);
//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(33), 0, 1023, 100, 5000);
tiempo_actual = millis();
valor_pote=analogRead(pin_pote);
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);
}
}
//lcd.print("valor ");texto
//lcd.print(valor_pote);muestrsa texto en pantalla