Vandaag willen we ons praktische LCD-scherm met toetsenbord introduceren. In ons voorbeeld hebben we een kleine, eenvoudige stopwatch gebouwd. We houden zoveel van dit schild omdat je onmiddellijk kunt beginnen met programmeren zonder kennis van hardware, zodat menustructuren of dergelijke kunnen worden gebruikt. Maak in enkele minuten - zonder knoppen, weerstanden of breadboards.
Onderdelen lijst:
LCD-toetsenbordschild
AZ levering UnoR3
Code:
// de vereiste bibliotheken # opnemen <SPI.h> # opnemen <Vloeibaar Kristal.h> Vloeibaar Kristal lcd(8, 13, 9, 4, 5, 6, 7); // LCD-pinnen voor ons schild niet ondertekend lang start, klaar, verlopen; // Globale variabelen nietig instellen() { lcd.beginnen(16, 2); // Start LCD lcd.afdrukken("- = Arduino = -"); lcd.setCursor(0,1); // cursor instellen lcd.afdrukken("- = stopwatch = -"); vertraging(5000); // wacht 5 seconden lcd.duidelijk(); // wis het scherm lcd.afdrukken("LFT - Start / Rst"); lcd.setCursor(0,1); lcd.afdrukken("SEL - Elap. Tijd"); } nietig displayResultaat() { // Lokale variabelen zweven h, m, s, ms; niet ondertekend lang voorbij; // de formule verlopen = klaar - start; h = int(verlopen / 3600000); voorbij = verlopen % 3600000; m = int(voorbij / 60000); voorbij = voorbij % 60000; s = int(voorbij / 1000); ms = voorbij % 1000; lcd.setCursor(0,0); lcd.afdrukken("Verleden tijd:"); // structuur voor resultaat lcd.setCursor(0,1); lcd.afdrukken(h, 0); lcd.afdrukken("h"); lcd.afdrukken(m, 0); lcd.afdrukken("m"); lcd.afdrukken(s, 0); lcd.afdrukken("s"); lcd.afdrukken(ms, 0); lcd.afdrukken("ms"); } nietig lus() { int x; // variabele x = analoog (0); // wijs 'x' AnalogueInput toe (knoppen van het schild) als (x < 600 && x > 400) // als de knop LINKS is { start = millis(); // starttijd vertraging(200); // debounce lcd.duidelijk(); lcd.afdrukken("begonnen ..."); } anders als (x < 800 && x > 600) // SELECT-knop { klaar = millis(); // ter vergelijking vertraging(200); // debounce lcd.duidelijk(); displayResultaat(); // output resultaat } }
1 Reactie
Hardy
Tolle Sache! Wie müsste der Code aussehen wenn,
ich immer die laufende Zeit incl. Hunderstel sehen möchte und 4 Zeiten angezeigt werden sollen:
1.Startzeit (die komplett durchläuft)
2. Zwischenzeit 1
3.Zwischenzeit 2
4.Endzeit
Ich würde gern 4 Lichtschrankensignale zum Auslösen an A0,A1,A2,A3 nutzen. (später sollen die drahtlos übertragen werden…)
Würde mich riesig über den Code freuen!!!
VG Hardy