Schritt 2: Schritt 2 controller
Arduino mit Telefon verbunden
[Zitat]
#include #include < [Color = #CC6600] SPI [Farbe] .h >
[Color = #7E7E7E] / / jedes Objekt auf dem Bildschirm wie dieser [Farbe] deklariert werden muss
[Color = #CC6600] [Farbe] [color=#CC6600][b]setup[/b][/color]() {} void
setInitialData(); [Color = #7E7E7E] / / rufen Sie diese Funktion legen Sie Ihre Objekte [Farbe]}
[Color = #CC6600] [Farbe] setInitialData() zum Erlöschen
{
bluerange.setType(DATA_OUT); [Color = #7E7E7E] / / definiert Objekt als ein Display Box [Farbe] nameOfObjectA.setLocation(0,0,FULL); [Color = #7E7E7E] / / erster Reihe, ganz links, volle Breite [Farbe] nameOfObjectA.setTitle ([Farbe = #006699] "das ist für den Titel bar"[/color]); nameOfObjectA.setData ([Color = #006699] "das ist für die Daten-area"[/color]); nameOfObjectA.setUnit ([Color = #006699] "das soll für den Textbereich am unteren Rand Ihrer box"[/color]);
nameOfObjectB.setId(1); [Color = #7E7E7E] / / jedes Objekt zugeordnet werden muss eine eindeutige ID Nummer [Farbe] nameOfObjectB.setType(DATA_OUT); [Color = #7E7E7E] / / definiert Objekt als ein Display Box [Farbe] nameOfObjectB.setLocation(1,0,FULL); [Color = #7E7E7E] / / zweite Reihe, ganz links, volle Breite [Farbe] nameOfObjectB.setTitle([color=#006699]"Hello"[/color]); nameOfObjectB.setData ([Color = #006699] "Welt!" [Farbe]); [Color = #7E7E7E] / / SetUnit ist optional. Du musst es aller Zeiten [Farbe] anzeigen
}
[Color = #CC6600] nichtig [Farbe] [color=#CC6600][b]loop[/b][/color]() {nameOfObjectA.update(); [Color = #7E7E7E] / / Call update() zu machen, erscheinen am Bildschirm [Farbe] nameOfObjectB.update(); [Color = #7E7E7E] / / und aktualisieren Sie die Anzeige [Farbe]
[color=#CC6600]delay[/color](500); [Color = #7E7E7E] / / Verzögerung für 500ms (0,5 Sekunden) vor der Wiederholung Code oben [Farbe]}
[Color = #CC6600] nichtig [Farbe] [color=#CC6600][b]setup[/b][/color]() {Andee. [ Color=#CC6600]begin[/color](); [Color = #7E7E7E] / / Kommunikation zwischen Annikken Andee und Arduino [Farbe] Andee Setup. [color=#CC6600]clear[/color](); [Color = #7E7E7E] / / Löscht den Bildschirm vorherige anzeigen [Farbe] CurrentPosition = 0; [Color = #7E7E7E] / / Lage, 0 [Farbe] TheServo zu initialisieren. [color=#CC6600]attach[/color](servoPin); [Color = #7E7E7E] / / [Farbe] TheServo sagen Arduino die Servos pin verbunden ist. [color=#CC6600]write[/color](currentPosition); [Color = #7E7E7E] / / Satz Servo Position 0 [Farbe] setInitialData(); [Farbe = #7E7E7E] / / Define Objekttypen und ihre Erscheinung [Farbe]} [Farbe = #CC6600] nichtig [Farbe] setInitialData() {btnTurnLeft.setId(0); btnTurnLeft.setType(BUTTON_IN); btnTurnLeft.setLocation(0,0,HALF); btnTurnLeft.setTitle ([Farbe = #006699] "drehen Left"[/color]); btnTurnLeft.requireAck([color=#CC6600]false[/color]); [Color = #7E7E7E] / / Sie brauchen diese Linie ermöglicht mehrere Taste Pressen [Farbe] btnTurnRight.setId(1); btnTurnRight.setType(BUTTON_IN); btnTurnRight.setLocation(0,1,HALF); btnTurnRight.setTitle ([Color = #006699] "Right"[/color]) drehen; btnTurnRight.requireAck([color=#CC6600]false[/color]); [Color = #7E7E7E] / / Sie brauchen diese Linie ermöglicht mehrere Taste Pressen [Farbe] btnCustomPosition.setId(2); btnCustomPosition.setType(KEYBOARD_IN); [Color = #7E7E7E] / / Sets Objekt als eine Text-Eingabe-Taste [Farbe] btnCustomPosition.setLocation(1,0,FULL); btnCustomPosition.setTitle ([Color = #006699] "schnell gehen Sie zu Custom Position (0 - 180)"[/color]); btnCustomPosition.setKeyboardType(ANDEE_NUMERIC_A);
displaybox.setId(3); displaybox.setType(DATA_OUT); [Color = #7E7E7E] / / Sets Objekt als eine Text-Eingabe-Taste [Farbe] displaybox.setLocation(2,0,FULL); displaybox.setTitle ([Color = #006699] "aktuelle Position"[/color]); displaybox.setData(0); } [Color = #CC6600] nichtig [Farbe] [color=#CC6600][b]loop[/b][/color]() {[Farbe = #CC6600] Wenn [/ color] (BtnCustomPosition. [ Color=#CC6600]isPressed[/color]()) {Memset (UserPos, 0 x 00, 4); [Color = #7E7E7E] / / leeren Sie den Inhalt der Zeichenfolge vor dem Erhalt der Benutzer Eingaben [Farbe] btnCustomPosition.ack(); [Color = #7E7E7E] / / Tastendruck bestätigen oder sonst Telefon nach links warten [Farbe] btnCustomPosition.getKeyboardMessage(userPos); [Color = #7E7E7E] / / Tastatur anzeigen und speichern Zuarbeit UserInput [Farbe]
NewPosition = atoi(userPos); [Color = #7E7E7E] / / Integer-Wert [Farbe] String-Wert konvertieren [Farbe = #7E7E7E] / / Arduino X Andee sagen, was Sie tun, wenn Benutzer in lächerliche Werte [Farbe] Tasten [Farbe = #CC6600] Wenn [/ color] (NewPosition < 0) NewPosition = 0; [Color = #CC6600] Wenn [/ color] (NewPosition > 180) NewPosition = 180; CurrentPosition = NewPosition; [Color = #7E7E7E] / / Dies ist, wie Sie eine schnelle Drehung [Farbe] TheServo tun. [color=#CC6600]write[/color](currentPosition); [Color = #7E7E7E] / / wiederum Servo zur neuen Position [Farbe] displaybox.setData(currentPosition); [Color = #7E7E7E] / / Update neue Position [Farbe]} [Farbe = #CC6600] Wenn [Farbe] (btnTurnLeft.getButtonPressCount() > 0) [Farbe = #7E7E7E] / / solange linke [Farbe] {btnTurnLeft.ack() Taste; [Color = #7E7E7E] / / Tastendruck bestätigen oder sonst Telefon bleibt warten [Farbe] NewPosition = CurrentPosition - TurnResolution; [Farbe = #7E7E7E] / / Satz neue Position [Farbe] [Color = #CC6600] Wenn [/ color] (NewPosition < 0) NewPosition = 0; [Farbe = #7E7E7E] / / auf 0 gesetzt, wenn neue Position unter 0 [Farbe] geht [Farbe = #7E7E7E] / / Dies ist, wie Sie eine langsame Drehung: [/ color] [Color = #CC6600] für [/ color] (CurrentPosition; CurrentPosition > NewPosition; CurrentPosition--) {TheServo. [ Color=#CC6600]write[/color](CurrentPosition); displaybox.setData(currentPosition); [Color = #7E7E7E] / / Servoposition auf dem Bildschirm zu aktualisieren, wie sich herausstellt [Farbe] displaybox.update(); [color=#CC6600]delay[/color](15); [Color = #7E7E7E] / / Sie können die Delay-Wert ändern. Größerer Wert bedeutet langsamer dreht [Farbe] [Color = #7E7E7E] / / setzen Sie Ihre Verzögerung nicht auf 0, wenn du das tust. Ausführen die Möglichkeit [Farbe] [Color = #7E7E7E] / / das Servo zu beschädigen. Oder kann nur sein, dass es mehr launisch geworden. [Farbe]} } [Farbe = #CC6600] Wenn [Farbe] (btnTurnRight.getButtonPressCount() > 0) [Color = #7E7E7E] / / solange Rechte [Farbe] {btnTurnRight.ack() Taste; [Color = #7E7E7E] / / Tastendruck bestätigen oder sonst Telefon bleibt warten [Farbe] NewPosition = CurrentPosition + TurnResolution; [Farbe = #7E7E7E] / / Satz neue Position [Farbe] [Color = #CC6600] Wenn [/ color] (NewPosition > 180) NewPosition = 180; [Farbe = #7E7E7E] / / Satz auf 180, wenn neue Position über 180 [Farbe geht] [Color = #CC6600] für [/ color] (CurrentPosition; CurrentPosition < NewPosition; CurrentPosition ++) {TheServo. [ Color=#CC6600]write[/color](CurrentPosition); displaybox.setData(currentPosition); [Color = #7E7E7E] / / Servoposition auf dem Bildschirm zu aktualisieren, wie sich herausstellt [Farbe] displaybox.update(); [color=#CC6600]delay[/color](15); [Color = #7E7E7E] / / Sie können die Delay-Wert ändern. Größerer Wert bedeutet langsamer dreht [Farbe]}} btnTurnLeft.update(); [Color = #7E7E7E] / / vergessen zu aktualisieren, so dass neuer Inhalte angezeigt [Farbe] btnTurnRight.update() werden; btnCustomPosition.update(); Displaybox.Update(); [color=#CC6600]delay[/color](500); }
[/quote]