Project 11 Crystal Ball blz 115. terug naar de inleiding
// De LiquidCrystal lib includeren
//Zie Schets -> bibliotheek gebruiken -> LiquidCrystal
#include <LiquidCrystal.h>
// LiquidCrystal object "lcd" declareren en initieren
// arduino pin 12: naar pin 4, "rs", (register select) van de LCD
// arduino pin 11: naar pin 6, "Enable", van de LCD
// arduino pinnen 5, 4, 3 en 2 sturen de data naar de datapinnen 11,12,13,14 van de LCD
//LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
//Toestanden van de bewegingschakelaar (tilt sensor) declareren.
int huidigeSchakeltoestand;
int vorigeSchakeltoestand;
// variabele waar het at random getal in komt
int antwoord;
void setup() {
// lcd functie "begin" omdat je 16 karakters en 2 kolommen gebruik
lcd.begin(16, 2);
// De tilt sensor aangesloten op pin 6 is een inputpin
pinMode(6, INPUT); //Is niet nodig
// tekst waarmee het script start
lcd.setCursor(0, 0); //Zet de cursor in de eerste kolom eerste regel.
// setCursor(0,0); Is hier niet nodig omdat (0,0) de default positie is.
// Met de lcd functie "print" een bericht naar de LCD sturen.
lcd.print("even schudden"); //De eerste regel printen.
// Zet de cursor in de eerste kolom ("0") tweede regel
lcd.setCursor(0, 1);
lcd.print("het antwoord is");
}
void loop() {
// De waarde van de bewegingsensor uitlezen.
huidigeSchakeltoestand = digitalRead(6);
// De uitgelezen waarde testen
if (huidigeSchakeltoestand != vorigeSchakeltoestand) {
if (huidigeSchakeltoestand == LOW) {
// Stopt at random een getal tussen [0,7] in antwoord
antwoord = random(8);
//Het lcd scherm wissen
lcd.clear();
// plaatst de cursor kolom 0, lijn 0
lcd.setCursor(0, 0);
lcd.print("Het antwoord is");
// cursor gaat naar kolom, 0, tweede regel
lcd.setCursor(0, 1);
// Afhankelijk van het random getal[0,7] wordt een woord geprint
switch (antwoord) {
case 0:
lcd.print("tja hum hum");
break;
case 1:
lcd.print("waarschijnlijk");
break;
case 2:
lcd.print("misschien");
break;
case 3:
lcd.print("twijfelachtig");
break;
case 4:
lcd.print("onzeker");
break;
case 5:
lcd.print("het zou kunnen");
break;
case 6:
lcd.print("niet zeker");
break;
case 7:
lcd.print("mogelijk");
break;
}
}
}
//De huidige schakeltoestand als vorige schakeltoestand opslaan
vorigeSchakeltoestand = huidigeSchakeltoestand;
}