// 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;
int cachorro_pos = 0;
int nuven_tempo = 0;
int cachorro_tempo = 0;
int pulo_tempo = 0;
int de_pe_tempo = 1000;
int pulo = 0;
// 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 arvore[8] = {
B00100,
B01110,
B11111,
B11111,
B00100,
B00100,
B00100,
B00100
};
//***************** obstaculo 3*****************
byte nuvenzinha[8] = {
B00000,
B00000,
B00100,
B01001,
B11111,
B01000,
B00100,
B00000,
};
//***************** obstaculo 4*****************
byte cachorro[8] = {
B00000,
B00000,
B00000,
B00010,
B00011,
B10010,
B01110,
B01010
};
//***************** 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, arvore);
lcd.createChar(3, nuvenzinha);
lcd.createChar(4, cachorro);
lcd.createChar(5, smiley5);
}
void loop()
{
pulo = 0;
lcd.setCursor(11, 1);
lcd.write(byte(2));// arvore
if(millis() > pulo_tempo)
{
lcd.setCursor((linha-1), 0);
lcd.write(" ");
de_pe_tempo = millis() +500;
}
if(millis() > de_pe_tempo)
{
lcd.setCursor(linha, 1);
lcd.write(byte(0)); // tersonagem
}
//**************aviao**************************
lcd.setCursor(nuvenzinha_pos, 0);
lcd.write(byte(3));// nuvem
if(millis() > nuven_tempo)
{
nuven_tempo = millis() + 2000;
lcd.setCursor(nuvenzinha_pos, 0);
lcd.write(" ");// Matinho
nuvenzinha_pos= nuvenzinha_pos-1;
if(nuvenzinha_pos == 0)
{
nuvenzinha_pos = 15;
}
}
// *******************cachorro********************
lcd.setCursor(cachorro_pos, 1);
lcd.write(byte(4));// cachorro
if(millis() > cachorro_tempo)
{
cachorro_tempo = millis() +1200;
lcd.setCursor(cachorro_pos, 1);
lcd.write(" ");// cachorro
cachorro_pos= cachorro_pos+1;
if(cachorro_pos == 15)
{
cachorro_pos = 0;
}
}
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') // personagem pula *********************
{
lcd.setCursor(linha, 1);
lcd.write(" ");
lcd.setCursor(linha, 0);
lcd.write(byte(0));
pulo_tempo = millis() + 500;
pulo = 1;
}
if (comando == '2')
{
lcd.setCursor(linha, 1);
lcd.write(" ");
lcd.setCursor(linha, 1);
lcd.write(byte(1));
}
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));
}
if (comando == '9')
{
lcd.setCursor(linha, 1);
lcd.write(" ");
linha= linha +1;
lcd.setCursor(linha, 0);
lcd.write(byte(0));
linha = linha +1;
pulo_tempo = millis() + 500;
}
if (comando == '7')
{
lcd.setCursor(linha, 1);
lcd.write(" ");
linha= linha -1;
lcd.setCursor(linha, 0);
lcd.write(byte(0));
linha = linha -1;
pulo_tempo = millis() + 500;
}
}
if(linha == cachorro_pos)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.write("O cachorro te");
lcd.setCursor(4,1);
lcd.write("PEGOU!!!!");
cachorro_pos = cachorro_pos + 2;
delay(5000);
lcd.clear();
}
if(linha == nuvenzinha_pos && pulo == 1)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.write("Voce bateu no");
lcd.setCursor(4,1);
lcd.write("AVIAO!!!!");
nuvenzinha_pos = nuvenzinha_pos -2;
delay(5000);
lcd.clear();
}
/*
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