Stap 3: Codering:-
#include
#include
initialiseren van de bibliotheek met de nummers van de pennen van de interface LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
instellen van een constante voor de tilt switchPin const int switchPin = 10;
variabele voor de waarde van de switchPin int switchState = 0;
variabele te houden van de vorige waarde van de switchpin int prevSwitchState = 0;
een variabele te kiezen die het antwoord van de kristallen bol int antwoord;
int i;
Definiëren van uw excuses char * [] start = {"I 'm sorry maar", "Don't blame me", "Niet mijn schuld","Raad eens wat er gebeurd"}; char * midden [] = {"Godzilla" "Chuck Norris", "Dagobert Duck", "Soap McTavish"}; char * eindigt [] = {"wilde doden me","aten mijn huiswerk.","kwam na me.", "stal mijn hoofd."};
int lengte = 4;
void setup {/ / instellen van het aantal kolommen en rijen op de LCD-lcd.begin (16, 2); / / Set de pullup op de schakelaar pin pinMode (switchPin, INPUT); digitalWrite (switchPin, hoge);}
void loop {/ / schoonmaken van het scherm voordat u afdrukt een nieuwe antwoord lcd.clear(); / / Print een bericht naar de LCD. lcd.print ("noodzaak een"); / / set de cursor naar kolom 0, lijn 1 / / lijn 1 is de tweede rij, aangezien tellen begint met 0 lcd.setCursor (0, 1); / / print naar de tweede lijn lcd.print("Excuse?");
voor (ik = 0; ik < 4; i ++) {}
herhalen tot de schakelaar is veranderd van lage naar hoge tijdje (! () switchState == HIGH & & prevSwitchState == LOW)) {/ / de schakelaar veranderde niet van laag naar hoog laatste keer / / herinner mij de vorige schakelaar van de vorige iteratie-prevSwitchState = switchState; / / lezen van de huidige staat switchState = digitalRead(switchPin); / / vertraging als een eenvoudige ontdendering delay(100);} / / de tijdjelijn verlaten wthout bijwerken / / de vorige status van de schakelaar, dus doe het nu prevSwitchState = switchState;
Als (switchState == HIGH) {/ / willekeurig kiezen van een index beantwoorden = random(length); / / schoonmaken van het scherm voordat u afdrukt een nieuwe antwoord lcd.clear(); / / Stel de cursor op de kolom 0, lijn 0 lcd.setCursor (0, 0); / / print tekst / / een ander deel van het excuus voor elk for-lus iteratie switch(i) {case 0:lcd.print(start[reply]) break; case 1:lcd.print(middle[reply]); break; case 2 : lcd.print(ends[reply]); breken; } } } }