// Programa joguinho no display lcd i2c
int brilho = 0;
int tempo = 5;
int estado = 1;
float tencao = 0;
char comando = 'a';
int linha =7;
int nuvenzinha_pos =15;
// PARAMETROS DO LCD ****************************************
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADOR 0x3F // <<
#define BACKLIGHT_PIN 3
#define En 2
#define Rw 1
#define Rs 0
#define D4 4
#define D5 5
#define D6 6
#define D7 7
LiquidCrystal_I2C lcd(I2C_ADOR, En, Rw, Rs, D4, D5, D6, D7);
// **********************************************************
//******************personagem ***************
byte personagem_de_pe[8] = {
B11111,
B10101,
B11111,
B01110,
B11111,
B01110,
B11111,
B10001,
};
//***************** personagem agachado*****************
byte personagem_agachado[8] = {
B00000,
B11111,
B10101,
B11111,
B01110,
B11111,
B01110,
B11111,
};
//***************** obstaculo 2***01**************
byte Matinho[8] = {
B00100,
B01110,
B11111,
B11111,
B00100,
B00100,
B00100,
B00100
};
//***************** obstaculo 3*****************
byte nuvenzinha[8] = {
B00000,
B00000,
B00000,
B01110,
B11111,
B11111,
B00000,
B00000,
};
//***************** obstaculo 4*****************
byte smiley4[8] = {
B00000,
B00000,
B00000,
B00000,
B01110,
B01110,
B01110,
B00100
};
//***************** chegada*****************
byte smiley5[8] = {
B00000,
B11111,
B10001,
B10001,
B10001,
B10001,
B10001,
B10001,
};
void setup()
{
Serial.begin(9600);
lcd.begin (16, 2);
lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
lcd.setBacklight(HIGH);
lcd.createChar(0, personagem_de_pe);
lcd.createChar(1, personagem_agachado);
lcd.createChar(2, Matinho);
lcd.createChar(3, nuvenzinha);
lcd.createChar(4, smiley4);
lcd.createChar(5, smiley5);
}
void loop()
{
lcd.setCursor(11, 1);
lcd.write(byte(2));// Matinho
lcd.setCursor(nuvenzinha_pos, 0);
lcd.write(byte(3));// Matinho
delay (500);
lcd.setCursor(nuvenzinha_pos, 0);
lcd.write(" ");// Matinho
nuvenzinha_pos= nuvenzinha_pos-1;
if(nuvenzinha_pos == 0)
{
nuvenzinha_pos = 15;
}
if (Serial.available()) // verifica se existe algo digitado no monitor serial;
{
comando = Serial.read(); // carrega o valor digitado no monitor serial na variavel "comando";
if (comando == '8')
{
lcd.setCursor(linha, 1);
lcd.write(" ");
lcd.setCursor(linha, 0);
lcd.write(byte(0));
delay(500);
lcd.clear();
}
if (comando == '2')
{
lcd.setCursor(linha, 1);
lcd.write(" ");
lcd.setCursor(linha, 1);
lcd.write(byte(1));
delay(500);
lcd.clear();
}
if (comando == '6')
{
lcd.setCursor(linha, 1);
lcd.write(" ");
linha= linha +1;
lcd.setCursor(linha, 1);
lcd.write(byte(0));
delay(500);
}
if (comando == '4')
{
lcd.setCursor(linha, 1);
lcd.write(" ");
linha= linha -1;
lcd.setCursor(linha, 1);
lcd.write(byte(0));
delay(500);
}
if (comando == '9')
{
lcd.setCursor(linha, 1);
lcd.write(" ");
linha= linha +2;
lcd.setCursor(linha, 0);
lcd.write(byte(0));
delay(500);
lcd.clear();
}
if (comando == '7')
{
lcd.setCursor(linha, 1);
lcd.write(" ");
linha= linha -2;
lcd.setCursor(linha, 0);
lcd.write(byte(0));
delay(500);
lcd.clear();
}
}
lcd.setCursor(linha, 1);
lcd.write(byte(0));
/*
lcd.setCursor(1, 0);
lcd.write(byte(1));
lcd.setCursor(2, 0);
lcd.write(byte(2));
lcd.setCursor(0, 1);
lcd.write(byte(3));
lcd.setCursor(1, 1);
lcd.write(byte(4));
lcd.setCursor(2, 1);
lcd.write(byte(5));
*/
//lcd.scrollDisplayLeft();
//delay(500);
}
Nenhum comentário:
Postar um comentário