- // include the library code:
- #include <LiquidCrystal.h>
- #include <EEPROM.h>
- // initialize the library by associating any needed LCD interface pin
- // with the arduino pin number it is connected to
- const int rs = 11;
- const int en = 10;
- const int d4 = 5;
- const int d5 = 4;
- const int d6 = 3;
- const int d7 = 2;
- unsigned long previousmillis = 0;
- const long interval = 5000;
- LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
- int risposte = 0;
- String tuarisposta;
- void setup() {
- // set up the LCD's number of columns and rows:
- lcd.begin(16, 2);
- Serial.begin(9600);
- }
- void loop() {
- if (risposte == 0) {
- lcd.setCursor(0, 0);
- lcd.print("Benvenuto a il");
- lcd.setCursor(0, 1);
- lcd.print("Milionario");
- delay(3000);
- lcd.clear();
- delay(2000);
- risposte++;
- }
- switch (risposte) {
- case 1:
- domanda0();
- break;
- case 2:
- domanda1();
- break;
- case 3:
- domanda2();
- break;
- case 4:
- domanda3();
- break;
- case 5:
- domanda4();
- break;
- case 6:
- domanda5();
- break;
- case 7:
- vinto();
- break;
- }
- }
- void domanda0() {
- unsigned long currentmillis = millis();
- lcd.clear();
- lcd.print("Chi ha scoperto");
- lcd.setCursor(0, 1);
- lcd.print("l'America?");
- delay(2000);
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print(" A. Colombo");
- delay(1500);
- lcd.clear();
- lcd.print(" B. Magellano");
- delay(1500);
- lcd.clear();
- lcd.print(" C. Paperino");
- delay(1500);
- lcd.clear();
- lcd.print(" D. Dante");
- delay(1500);
- lcd.clear();
- previousmillis = currentmillis;
- while (Serial.available() == 0 and currentmillis - previousmillis <= interval) {
- }
- if (Serial.available() > 0 and currentmillis - previousmillis <= interval ) {
- tuarisposta = Serial.readString();
- if (tuarisposta == 'A') {
- lcd.clear();
- lcd.print(" risposta esatta");
- Serial.print(tuarisposta);
- risposte++;
- lcd.clear();
- }
- else {
- lcd.clear();
- lcd.print(" risposta errata");
- Serial.print(tuarisposta);
- risposte = 0;
- delay(2000);
- lcd.clear();
- }
- }
- if (currentmillis - previousmillis > interval) {
- lcd.clear();
- lcd.print(" risposta errata");
- Serial.print(tuarisposta);
- risposte = 0;
- delay(2000);
- lcd.clear();
- }
- }
- void domanda1() {
- unsigned long currentmillis = millis();
- lcd.clear();
- lcd.print("Chi ha scritto la ");
- lcd.setCursor(0, 1);
- lcd.print("Divina Commedia?");
- delay(1500);
- lcd.setCursor(0, 0);
- lcd.print(" A. Manzoni C.Dante");
- delay(1500);
- lcd.clear();
- lcd.setCursor(0, 1);
- lcd.print(" B. Boccaccio D.Petrarca");
- delay(1500);
- lcd.clear();
- previousmillis = currentmillis;
- while (Serial.available() == 0 and currentmillis - previousmillis <= interval) {
- }
- if (Serial.available() > 0) {
- tuarisposta = Serial.readString();
- if (tuarisposta == 'C') {
- lcd.clear();
- lcd.setCursor(0, 1);
- lcd.print(" risposta esatta");
- delay(2000);
- risposte++;
- lcd.clear();
- }
- else {
- lcd.clear();
- lcd.setCursor(0, 1);
- lcd.print(" risposta errata");
- risposte = 0;
- delay(2000);
- lcd.clear();
- }
- }
- if (currentmillis - previousmillis > interval) {
- lcd.clear();
- lcd.setCursor(0, 1);
- lcd.print(" risposta errata");
- risposte = 0;
- delay(2000);
- lcd.clear();
- }
- }
- void domanda2() {
- unsigned long currentmillis = millis();
- lcd.clear();
- lcd.print("Chi ha vinto");
- lcd.setCursor(0, 1);
- lcd.print("piu' palloni d'oro?");
- delay(2000);
- lcd.setCursor(0, 0);
- lcd.print(" A. Ronaldo C.Platini");
- lcd.setCursor(0, 1);
- lcd.print(" B. Messi D.Ibrahimovic");
- delay(1500);
- lcd.clear();
- previousmillis = currentmillis;
- while (Serial.available() == 0 and currentmillis - previousmillis <= interval) {
- }
- if (Serial.available() > 0) {
- tuarisposta = Serial.read();
- if (tuarisposta == 'B') {
- lcd.clear();
- lcd.print(" risposta esatta");
- risposte++;
- lcd.clear();
- }
- else {
- lcd.clear();
- lcd.print(" risposta errata");
- risposte = 0;
- delay(2000);
- lcd.clear();
- }
- }
- if (currentmillis - previousmillis > interval) {
- lcd.clear();
- lcd.print(" risposta errata");
- Serial.println(tuarisposta);
- risposte = 0;
- delay(2000);
- lcd.clear();
- }
- }
- void domanda3() {
- unsigned long currentmillis = millis();
- lcd.clear();
- lcd.print("Quanti anni ha");
- lcd.setCursor(0, 1);
- lcd.print("Donald trump?");
- delay(1500);
- lcd.setCursor(0, 0);
- lcd.print(" A. 70 C.73");
- lcd.setCursor(0, 1);
- lcd.print(" B. 74 D.72");
- delay(1500);
- lcd.clear();
- previousmillis = currentmillis;
- while (Serial.available() == 0 and currentmillis - previousmillis <= interval) {
- }
- if (Serial.available() > 0) {
- tuarisposta = Serial.read();
- if (tuarisposta == 'C') {
- lcd.clear();
- lcd.setCursor(0, 1);
- lcd.print(" risposta esatta");
- risposte++;
- lcd.clear();
- }
- else {
- lcd.clear();
- lcd.setCursor(0, 1);
- lcd.print(" risposta errata");
- risposte = 0;
- delay(2000);
- lcd.clear();
- }
- }
- else if (currentmillis - previousmillis > interval) {
- lcd.clear();
- lcd.setCursor(0, 1);
- lcd.print(" risposta errata");
- risposte = 0;
- delay(2000);
- lcd.clear();
- }
- }
- void domanda4() {
- unsigned long currentmillis = millis();
- lcd.clear();
- lcd.print("Chi è l'uomo più");
- lcd.setCursor(0, 1);
- lcd.print("veloce al mondo");
- delay(2000);
- lcd.setCursor(0, 0);
- lcd.print(" A. Ronaldo C.Gesu'");
- lcd.setCursor(0, 1);
- lcd.print(" B. Usain Bolt D.Giuda");
- delay(1500);
- lcd.clear();
- previousmillis = currentmillis;
- while (Serial.available() == 0 and currentmillis - previousmillis <= interval) {
- }
- if (Serial.available() > 0) {
- tuarisposta = Serial.read();
- if (tuarisposta == 'B') {
- lcd.clear();
- lcd.setCursor(0, 1);
- lcd.print(" risposta esatta");
- risposte++;
- lcd.clear();
- }
- else {
- lcd.clear();
- lcd.setCursor(0, 1);
- lcd.print(" risposta errata");
- risposte = 0;
- delay(2000);
- lcd.clear();
- }
- }
- else if (currentmillis - previousmillis > interval) {
- lcd.clear();
- lcd.setCursor(0, 1);
- lcd.print(" risposta errata");
- risposte = 0;
- delay(2000);
- lcd.clear();
- }
- }
- void domanda5() {
- unsigned long currentmillis = millis();
- lcd.clear();
- lcd.print("Quanti iscritti");
- lcd.setCursor(0, 1);
- lcd.print("ha Cicciogamer89");
- delay(2000);
- lcd.setCursor(0, 0);
- lcd.print(" A. 3mln C.4,2mln'");
- lcd.setCursor(0, 1);
- lcd.print(" B. 1,09mln D.3.04mln");
- delay(1500);
- lcd.clear();
- previousmillis = currentmillis;
- while (Serial.available() == 0 and currentmillis - previousmillis <= interval) {
- }
- if (Serial.available() > 0) {
- tuarisposta = Serial.read();
- if (tuarisposta == 'D') {
- lcd.clear();
- lcd.print(" risposta esatta");
- Serial.println(tuarisposta);
- risposte++;
- lcd.clear();
- }
- else {
- lcd.clear();
- lcd.print(" risposta errata");
- Serial.println(tuarisposta);
- risposte = 0;
- delay(2000);
- lcd.clear();
- }
- }
- if (currentmillis - previousmillis > interval) {
- lcd.clear();
- lcd.print(" risposta errata");
- Serial.println(tuarisposta);
- risposte = 0;
- delay(2000);
- lcd.clear();
- }
- }
- void vinto() {
- lcd.clear();
- delay(1500);
- lcd.setCursor(5, 0);
- lcd.print("Hai vinto");
- risposte = 0;
- }