Super einfache Arduino Tastatur (auf die harte Tour) (7 / 8 schritt)

Schritt 7: Codierung es up - Setup und Schleife


/ / Hier wir setup wie die Pins funktionieren (Eingabe/Ausgabe), fängt die LCD-Anzeige und bezeichnen, die
PIN wir das Servo befestigt haben. Wir beginnen auch mit der Servo bei 0 Grad.

void setup() {}
PinMode (button1, Eingabe);
PinMode (button2, Eingabe);
PinMode (button3, Eingabe);
PinMode (button4, Eingabe);
PinMode (button5, Eingabe);
PinMode (rot, OUTPUT);
PinMode (grün, Ausgang);
LCD.Begin(16,2);
lcd.setCursor(0,0);
LCD.Print (": CODE eingeben:");
Serial.Begin(9600);     / / Für Debug. Optisch sehen die Tastendrücke.
myservo.Attach(9);
myservo.Write(0);
}

Beginnen Sie durch das Lesen der Zustand der Pins.

void loop() {}
state1 = digitalRead(button1);
state2 = digitalRead(button2);
state3 = digitalRead(button3);
state4 = digitalRead(button4);
Stufe5 = digitalRead(button5);

Wenn der Zustand der Schaltfläche nicht den vorherigen Zustand entspricht (1 = hoch, 0 = niedrig), welche im Grunde
bedeutet, nur gedrückt oder losgelassen? Wenn der Zustand der Schaltfläche hoch (1 ist)
Wir erhöhen die Anzahl der diese Schaltfläche.

Wenn (state1! = prev1) {}
Delay(10);
Wenn (state1 == HIGH) {}
count1 ++;
}
/ / Beachten Sie die delay(10). Dies ist wichtig. Es ermöglicht eine Entprellung. Tasten haben eine Intertgas
Bounciness. Sie können es nicht fühlen, aber wenn Sie eine Taste, macht es manchmal
wenden Sie sich an mehr als einmal, und die Arduino sehen, die als mehrere Pressen. Die Verzögerung
hält das Programm für 10 Millisekunden, so dass die Schaltfläche zu "Regeln", und dann
wird fortgesetzt. 10 Millisekunden sollte lang genug sein, aber mehr bei Bedarf anpassen.

Else {}
}

Wir tun das für jede Taste.

Wenn (state2! = prev2) {}
Delay(10);
Wenn (state2 == HIGH) {}
count2 ++;
}
Else {}
}

Wenn (state3! = prev3) {}
Delay(10);
Wenn (state3 == HIGH) {}
count3 ++;
}
Else {}
}

Wenn (state4! = prev4) {}
Delay(10);
Wenn (state4 == HIGH) {}
count4 ++;
}
Else {}
}

Wenn (Stufe5! = prev5) {}
Delay(10);
Wenn (Stufe5 == HIGH) {}
count5 ++;
}
Else {}
}

Dies wird dazu beitragen, behalten Sie den Überblick welche Art von Aktionen mit stattfinden
die Tasten. Wenn die Taste gedrückt wird, entspricht nicht der Zustand
Es ist vorherigen Zustand, eine Änderung anzeigt. Hier setzen wir die vorherige
auf den aktuellen Zustand angeben, damit im Moment Sie schieben oder
Veröffentlichung, die Arduino weiß es, und handelt entsprechend.


prev1 = state1;
prev2 = state2;
PREV3 = state3;
prev4 = state4;
prev5 = Stufe5;

Dann wir, wie oft jede Taste decken gedrückt wurde.

TotalCount = count1 + count2 + count3 + count4 + count5;

/ / Dies ist, wo wir schreiben ein Sternchen ("*") an den LCD jedes Mal, wenn eine Taste gedrückt ist.

für (Zeilen = 0; Zeilen < Totalcount; Reihen + 1) {}
lcd.setCursor(rows,1);
LCD.Print("*");
Zeilen ++;
}

"Zeilen" ist, wo der Cursor ist (von links nach rechts) auf dem LCD.
Für jedes Mal eine Taste betätigt wird, erhöhen wir "Zeilen" nach dem anderen, und
festlegen Sie, wie die Position des Mauszeigers. Wir tun dies bis zu einem gewissen Punkt (5)
denn das ist, wie viele Ziffern in Kombination sind.


/ / Jetzt, wenn unsere Totalcount 5 erreicht, werden wir beginnen, sah, wie viele Male
Jede Taste wurde gedrückt. Wenn es, was unsere vorgegebenen Combo passt...

Wenn (Totalcount == 5) {}
Wenn (count1 == 2 & & count2 == 0 & & count3 == 1 & & count4 == 2 & & count5 == 0) {}
LCD.Clear();
LCD.Print ("CODE akzeptiert");  / / Code akzeptiert!
myservo.Write(90);            / / das Servo bewegt sich um 90 Grad, als ob ein Türentriegelung.
DigitalWrite (grün, HIGH);   / / grün ist gleich gut, also die grüne LED leuchtet

Achten Sie darauf, dass die rote, der LED bleibt aus, wenn Sie den Code rechts Sie zum ersten Mal bekommen
DigitalWrite (rot, niedrig);
count1 = 0;   / / Alle unsere Conunters auf 0, beim Starten des Prozesses immer wieder zurückgesetzt.
count2 = 0;
count3 = 0;
count4 = 0;
count5 = 0;
TotalCount = 0;
Delay(10000);
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print (": CODE eingeben:");   Und wir sind wieder am Anfang.
myservo.Write(0);
DigitalWrite (grün, LOW);
}
ElseIf (count1! = 2 & & count2! = 0 & & count3! = 1 & & count4! = 2 & & count5! = 0 & & Totalcount == 5) {}
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print ("CODE abgelehnt");   / / Dies und das Teil unten wo sind, wenn die Anzahl der einzelnen Schaltflächen
DigitalWrite (rot, HIGH); / / ist nicht die Anzahl die vorgegebene, gleich oder größer als die Anzahl ist
DigitalWrite (grün, LOW); //and die Anzahl der insgesamt Pressen ist gleich 5 (darauf hinweist, dass eine 5 stellige
count1 = 0; / / Kombination eingegeben wurde aber nicht stimmt) dann der Code abgelehnt wird. Abgelehnt!
count2 = 0;
count3 = 0;
count4 = 0;
count5 = 0;
TotalCount = 0;
Delay(5000);
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print (": CODE eingeben:");
DigitalWrite (rot, niedrig);
}
ElseIf (count1 > 2 & & count2 > 0 & & count3 > 1 & & count4 > 2 & & count5 > 0 || Totalcount == 5) {}
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print ("CODE abgelehnt");
DigitalWrite (rot, HIGH);
DigitalWrite (grün, LOW);
count1 = 0;
count2 = 0;
count3 = 0;
count4 = 0;
count5 = 0;
TotalCount = 0;
Delay(5000);
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print (": CODE eingeben:");
DigitalWrite (rot, niedrig);
}
}
}

In Verbindung stehende Artikel

Super einfache Dashboarding direkt auf die Linkit eine

Super einfache Dashboarding direkt auf die Linkit eine

Dies begann als einen Mangel an irgendwie einen Anschluss dieser Idee von einem Intel Edison-Projekt ich begann: Intel Edison Sensor Dashboard verwenden Freibord und PythonEs ist auch irgendwie eine Aufwertung der diese instructable:Als ich anfing zu
Laptop Kühler stehen (auf die harte Tour)

Laptop Kühler stehen (auf die harte Tour)

Dies ist, was ich gestern getan habe um meinen Laptop zu schützen...Seien Sie vorsichtig mit der Anleitung und befolgen Sie sie Schritt für Schritt für Erfolg...Dies ist eine Einstellung für gewaschene Geschirr!Ein metallisches stehen für meinen Lapt
Die CheepaDuino, minimalistischen Arduino-Plattform auf die billige Tour!

Die CheepaDuino, minimalistischen Arduino-Plattform auf die billige Tour!

Wenn Sie wie ich sind, Sie haben eine besondere Liebe für Ihre Arduino.Ich habe 3 - 2009 und buchstäblich Dutzende von coole Projekte mit ihnen gemacht haben.Leider ist kein einziges einer in einer Abschlussarbeit! Keine Arduino Projekte da will ich
Super einfache Arduino Powered Roomba Scheduler

Super einfache Arduino Powered Roomba Scheduler

wie die meisten Leute, ich war skeptisch, was immer einen Roboter-Staubsauger, so wie ein Probelauf dachte ich, ich würde kaufen jetzt veraltete iRobot Roomba 530, die stark reduziert wurde (sie sind in Australien, zeigt, wie rückständig wir sind imm
Süße Schablone/Siebdruck auf die billige Tour (ideal für Lehrer 8. und höher)

Süße Schablone/Siebdruck auf die billige Tour (ideal für Lehrer 8. und höher)

wenn Sie ein kreativer Mensch sind, dann an einem gewissen Punkt in der Zeit Sie wollte schon ein original Shirt oder eine Schablone machen.  Hier ist Ihre Chance zu lernen, wie man es auf die billige Tour tun und wirklich schöne Qualität zu bekommen
Perfekte Steaks; Sous-Vide-Stil (Vakuum Kochen auf die billige Tour)

Perfekte Steaks; Sous-Vide-Stil (Vakuum Kochen auf die billige Tour)

kommerzielle Sous-Vide Equipement ist $450 für den low-End. Sie können die Ausrüstung in diesem kaufen instructable für weniger als $50, und wahrscheinlich weniger wenn Sie eines der Stücke herumliegen haben.Bonus Extra Instructables:Für weniger als
Elektro Trike auf die billige Tour

Elektro Trike auf die billige Tour

Hallo an alle. Zunächst einmal vielen Dank für all die Frage/Kommentare auf meinem e-Bike zu bauen.  Jetzt gehen wir auf die nächste Stufe. Eine elektrische Trike gemacht auf die billige Tour mit einem alten elektrischen Rollstuhl und ein standard-Tr
Gehen Sie Rafting (auf die billige Tour!)

Gehen Sie Rafting (auf die billige Tour!)

Unten stehend finden Sie eine Reihe von Leitlinien für die Herstellung von einem Floß auf die billige Tour. Unsere Version kostet ca. $80 aber es teilten sich drei Personen, die für die Erfahrung ziemlich gut war! (Denken Sie daran, dieser Preis war,
Edward mit den Scherenhänden Costume... Auf die billige Tour.

Edward mit den Scherenhänden Costume... Auf die billige Tour.

Auf dieser instructable ich zeige dir wie man eine super Edward Scissorhands Kostüm für nur wenige Dollar, keines haben Sie alles, was erforderlich ist. Dies ist mein erster instructable also bitte mit mir nackt und vergib mir dafür, dass Fehler in d
Handliche Löten Klemmen auf die billige Tour

Handliche Löten Klemmen auf die billige Tour

ich dachte, ich würde dieses kleine Projekt von mir schreiben. Ich stieß auf diese billigeren Klammern auf meine Abenteuer heute und kaufte sie denken ich würde einen schönen Satz von Klammern aus ihnen machen.Hier ist wie man es auf die billige Tour
Geben Sie Ihrem Badezimmer einen ganz neuen Look "auf die billige Tour"

Geben Sie Ihrem Badezimmer einen ganz neuen Look "auf die billige Tour"

ich bin der Besitzer von einem master-Bad mit einer Badewanne/Dusche Wand mit Kachel-Board... leider für mich zusätzlich fertig fertig mit Kachel-Board ist es eine schreckliche "in your Face" hellen Farbton der Royal/Marine blau!Die Farbe gefäll
Sous-Vide Kocher auf die billige Tour

Sous-Vide Kocher auf die billige Tour

Für diejenigen, die noch nicht wissen, ist Sous-vide eine Art des Kochens, die sorgfältig temperierten Wasserbad erfordert. Das Problem ist, dass ein "richtiges" Sous-vide Bad Wasserkosten aufwärts von rund £450, die ziemlich steil für ein einfa
Wand der Bücherregale mit einer rollenden Leiter "auf die billige Tour"

Wand der Bücherregale mit einer rollenden Leiter "auf die billige Tour"

ich wollte schon eine Wand vom Boden bis zur Decke Bücherregale mit einer rollenden Leiter (auf die oberen Regalen zu erreichen)... sehen Sie das Bild von was ich wünschte, ich könnte... für eine lange Zeit leisten, aber Geld ist knapp (wie für viele
EDC auf die billige Tour.

EDC auf die billige Tour.

es ist schon eine Weile seit meinem letzten instructable, vor allem wegen Winterwetter und Schule hindern mich viel in meiner Garage-Werkstatt. Aber heute werde ich Sie durch mein Edc, und wie ich einige Sachen gemacht haben oder es auf die billige T