Skip to content

Instantly share code, notes, and snippets.

@GiullianoRossi1987
Last active May 28, 2020 21:02
Show Gist options
  • Save GiullianoRossi1987/e09179603dc3d7202ece6d2b36f3387e to your computer and use it in GitHub Desktop.
Save GiullianoRossi1987/e09179603dc3d7202ece6d2b36f3387e to your computer and use it in GitHub Desktop.
#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
const int bt1 = 7;
const int bt2 = 6;
const int ledI = 4;
const int ledC = 3;
int acertos = 0;
const char* integrantes[5] = {"Giulliano", "Luccas", "Rian", "Henrique", "Diogo"};
// tmp
char* pergunta;
char* alternativaA;
char* alternativaB;
int btAcerto;
int btErro;
// caractere especial
byte vitoria[8]{
B00000,
B01010,
B01010,
B00000,
B00100,
B10001,
B01110,
B00000
};
byte derrota[8]{
B01010,
B01010,
B00000,
B00100,
B00000,
B01110,
B10001
};
void setAlt(int correto, int errado){
btAcerto = correto;
btErro = errado;
}
void setup()
{
lcd.begin(16, 2);
lcd.createChar(2, vitoria);
lcd.createChar(3, derrota);
pinMode(bt1, INPUT_PULLUP);
pinMode(ledI, OUTPUT);
pinMode(bt2, INPUT_PULLUP);
pinMode(ledC, OUTPUT);
}
int waitResponse(){
while(true){
if(digitalRead(bt1) == HIGH)
return bt1;
else if(digitalRead(bt2) == HIGH) return bt2;
else continue;
}
}
void acerto(){
acertos++;
digitalWrite(ledC, HIGH);
delay(2000);
digitalWrite(ledC, LOW);
}
void erro(){
digitalWrite(ledI, HIGH);
delay(2000);
digitalWrite(ledI, LOW);
}
void acenderLeds () {
}
void questao(){
lcd.clear();
lcd.print(pergunta);
delay(3000);
lcd.clear();
lcd.print(alternativaA);
delay(3000);
lcd.clear();
lcd.print(alternativaB);
delay(3000);
lcd.clear();
lcd.print(pergunta);
int response = waitResponse();
if(response == btAcerto) acerto();
else erro();
delay(100);
lcd.clear();
}
void contaAcertos(){
lcd.clear();
if(acertos == 0) {
lcd.write(3);
lcd.print("Voce acertou 0!");
}
else if(acertos == 1) lcd.print("Voce acertou 1!");
else if(acertos == 2) lcd.print("Voce acertou 2!");
else if(acertos == 3) lcd.print("Voce acertou 3!");
else if(acertos == 4){
lcd.write(2);
lcd.print("Voce acertou tudo!");
}
else lcd.print("Erro");
delay(5000);
}
void introducao(){
lcd.clear();
lcd.print("Bem vindo ao");
lcd.setCursor(0,1);
lcd.print("quiz INO");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Feito por: ");
delay(1000);
lcd.clear();
for(int inte = 0; inte < 5; inte++){
lcd.print(integrantes[inte]);
delay(1000);
lcd.clear();
}
int response = waitResponse();
}
void q1(){
setAlt(bt1, bt2);
lcd.clear();
lcd.print("Questao 1");
delay(2000);
lcd.clear();
lcd.print("O que eh HTML?");
delay(2000);
lcd.clear();
lcd.print("Hyper Text");
lcd.setCursor(0, 1);
lcd.print("Markup Language");
lcd.setCursor(0, 0);
delay(2000);
lcd.clear();
lcd.print("Linguagem de");
lcd.setCursor(0, 1);
lcd.print("Programacao");
lcd.setCursor(0, 0);
delay(2000);
lcd.print("...");
questao();
}
void q2(){
setAlt(bt2, bt1);
lcd.clear();
lcd.print("Questao 2");
delay(2000);
lcd.clear();
lcd.print("Quando nasceu");
lcd.setCursor(0, 1);
lcd.print("o C++");
delay(2000);
lcd.clear();
lcd.print("Hyper Text");
lcd.setCursor(0, 1);
lcd.print("Markup Language");
lcd.setCursor(0, 0);
delay(2000);
lcd.clear();
lcd.print("Linguagem de");
lcd.setCursor(0, 1);
lcd.print("Programacao");
lcd.setCursor(0, 0);
delay(2000);
lcd.print("...");
questao();
}
void loop()
{
acertos = 0;
introducao();
q1();
q2();
q3();
q4();
delay(1000);
contaAcertos();
}
@GiullianoRossi1987
Copy link
Author

Ta finalizado galerinha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment