Étape 5: Quiz Module
J’ai voulu faire module quiz simple qui utilise un mécanisme de contrôle intresting. Le potentiomètre de contrôle un curseur qui « sélectionne » une réponse sur l’écran LCD. Si le bouton est enfoncé, réponse est choisie, et détermine si les joueurs ont répondu correctement ou non.
<p>#include LiquidCrystal lcd(12, 11, 5, 4, 3, 2);<br>int buttonPin = 1; int potMeterPin = A5; boolean currentButtonState = LOW; boolean lastButtonState = LOW;</p><p>void setup() { Serial.begin(9600); lcd.begin(16, 2); pinMode(buttonPin, INPUT); pinMode(potmeterPin, INPUT); Serial.println("Your question here?"); }</p><p>void loop() { int sensorValue = analogRead(potMeterPin); if (sensorValue < 250) { lcd.setCursor(0, 0); // lcd.print(">A1< A2 "); lcd.setCursor(0, 1); lcd.print(" A3 A4 "); } else if (sensorValue > 250 && sensorValue < 500) { lcd.setCursor(0, 0); lcd.print(" A1 >A2< ");</p><p> lcd.setCursor(0, 1); lcd.print(" A3 A4 ");</p><p> } else if (sensorValue > 500 && sensorValue < 750) { lcd.setCursor(0, 0); lcd.print(" A1 A2 ");</p><p> lcd.setCursor(0, 1); lcd.print(">A3< A4 ");</p><p> } else if (sensorValue > 750) { lcd.setCursor(0, 0); lcd.print(" A1 A2 ");</p><p> lcd.setCursor(0, 1); lcd.print(" A3 >A4< "); } currentButtonState = digitalRead(buttonPin); if (currentButtonState == HIGH && lastButtonState == LOW && sensorValue > 750) { Serial.println("True!"); } else if (currentButtonState == HIGH && lastButtonState == LOW && sensorValue < 750) { Serial.println("False!"); } lastButtonState = currentButtonState; }</p>