LCD med BLUETOOTH (3 / 3 steg)
Steg 3: Kodning:-
#include
#include
initiera bibliotek med numrerar av gränssnittet stiften LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
ställa in en konstant för tilt switchPin const int switchPin = 10;
variabel att hålla värdet av switchPin int switchState = 0;
variabel att hålla tidigare värde för den switchpin int prevSwitchState = 0;
en variabel att välja vilket svarar från kristallkula int svaret;
int i;
Definiera din ursäkter char * starta [] = {"Jag är ledsen men", "Skyll inte på mig", "Inte mitt fel","gissa vad som hände"}; char * mitten [] = {"Godzilla", "Chuck Norris", "Joakim von Anka", "Soap McTavish"}; char * slutar [] = {"försökte döda mig","åt min läxor.","kom efter mig.", "stal mitt huvud"};
int längd = 4;
void setup() {/ / ställa upp antalet kolumner och rader i LCD-lcd.begin (16, 2); / / Ställ in pullup på switch pin pinMode (switchPin, ingång), digitalWrite (switchPin, hög);}
void loop() {/ ren upp skärmen innan du skriver ut en ny svar lcd.clear(); / / Skriv ut ett meddelande till LCD. lcd.print ("behovet av en"); / / Ställ markören till kolumn 0, linje 1 / / linje 1 är den andra raden, sedan räknar börjar med 0 lcd.setCursor (0, 1); / / Skriv ut till den andra raden lcd.print("Excuse?");
för (jag = 0; jag < 4; i ++) {
loop tills växeln har ändrats från låg till hög tag (! () switchState == hög & & prevSwitchState == låg)) {/ / växeln inte ändra från låg till hög förra gången / / kom ihåg föregående växel tillstånd från den senaste iteration prevSwitchState = switchState; / / läsa den nuvarande staten switchState = digitalRead(switchPin); / / fördröjning som en enkel debounce delay(100);} / / while loop lämnat wthout uppdatering / / föregående växel tillstånd så gör det nu prevSwitchState = switchState;
om (switchState == hög) {/ / slumpmässigt välja ett svar index svar = random(length); / / rensa skärmen innan du skriver ut en ny svar lcd.clear(); / / Ställ markören till kolumn 0, linje 0 lcd.setCursor (0, 0); / / Skriv ut text / / en annan del av ursäkten för varje för-loop iteration switch(i) {case 0:lcd.print(start[reply]), paus, fall 1:lcd.print(middle[reply]); paus, fall 2 : lcd.print(ends[reply]); bryta; } } } }