Last active
May 28, 2020 21:02
-
-
Save GiullianoRossi1987/e09179603dc3d7202ece6d2b36f3387e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Ta finalizado galerinha