# include "Bounce2.h" # include "LiquidCrystal_I2C.h" LiquidCrystal_I2C lcd(0x27, 20, 4); int TASTER = 9; String Artikel_Substantiv [6] [6] = { {"Der ", "Das ", "Die ", "Das ", "Das ", "Der "}, {"Bus ", "Auto ", "U-Bahn ", "Fahrrad ", "Motorrad ", "Lastwagen "}, }; // eindimensionales Array für die Adverbien String Eigenschaft [6] = {"rasant ", "im Zeitlupentempo ", "schnell ", "langsam ", "z\365gig ", "im Schritttempo "}; String Verb_Objekt [6] [6] = { {"rollt ", "saust ", "rast ", "schleicht ", "f\341hrt ", "bummelt "}, {"auf die Autobahn. ", "ans Ende der Welt.", "um die Ecke.", "zum Bahnhof.", "zur Haltestelle.", "in die Garage."} }; int Minimum = 0; int Maximum = 5; // Bibliothek Bounce2 // "Prellverhinderer" für die Taste starten Bounce Satz = Bounce(); void setup() { // LCD starten lcd.init(); lcd.backlight(); Serial.begin(9600); pinMode(TASTER, INPUT_PULLUP); // Zufallsgenerator starten randomSeed(analogRead(0)); // Instanzen des Objekts Bounce für die Taste zuordnen // Zeitintervall einstellen Satz.attach(TASTER); Satz.interval(20); } void loop() { if (Satz.update()) { if (Satz.read() == LOW) { lcd.clear(); int Position = random(Minimum, Maximum); // Artikel sollen zum Substantiv passen // es wird die gleiche Spalte gewählt lcd.setCursor(0, 0); lcd.print(Artikel_Substantiv[0] [Position]); lcd.print(Artikel_Substantiv[1] [Position]); // Bestimmung des Verbs Position = random(Minimum, Maximum); lcd.setCursor(0, 1); lcd.print(Verb_Objekt[0] [Position]); // Festlegung der Eigenschaft Position = random(Minimum, Maximum); lcd.setCursor(0, 2); lcd.print(Eigenschaft[Position]); // Objekt auswählen Position = random(Minimum, Maximum); lcd.setCursor(0, 3); lcd.print(Verb_Objekt[1] [Position]); } } }