02.03.2013 Aufrufe

pdf (5294 kb) - artecLab - Universität Bremen

pdf (5294 kb) - artecLab - Universität Bremen

pdf (5294 kb) - artecLab - Universität Bremen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Implementierung 45<br />

Um mehr als nur einen Pin zu aktivieren, ist eine Kombination der Dezimalwerte<br />

erforderlich. Sollen beispielsweise Pin 3, 5 und 7 aktiviert werden, müssen die<br />

Dezimalwerte 2, 8 und 32 addiert werden. Das Ergebnis 42 wird dann an den<br />

Port mittels "out32(888,42)" gesendet, und die Ports aktiviert.<br />

Für die Rückwandlung des Wertes, den man über "Inp32(888)" erhält, bedarf<br />

es eines Algorithmus. Vom höchsten Dezimalwert (128) abwärts wird geprüft,<br />

ob der Portwert kleiner oder größer ist. Sollte der Portwert kleiner sein, ist der<br />

entsprechende Port nicht aktiviert. Im Programm wird dieses über eine Boolsche<br />

Variable (m1-m8) gespeichert, indem sie auf "false" gesetzt wird. Ist der<br />

Portwert größer, so wird die entsprechende Variable auf "true" gesetzt und der<br />

Portwert um den Dezimalwert gekürzt. Das geschieht, bis alle acht Dezimalwerte<br />

verglichen worden sind und der Status aller Pins anhand der Variablen gespeichert<br />

ist (vgl. AeronDlg.cpp, Funktion motorSpeed).<br />

In Abbildung 3.18 werden die erforderlichen Werte für die Ansteuerung der Stufen<br />

der einzelnen Motoren (Abbildung 3.19) mit den entsprechenden Dezimalwerten<br />

aufgeführt. Die Werte für die Motorsteuerung erhält das Programm über die<br />

Nummernblöcke des GUIs für Motor 1 und 2 oder per UDP - Verbindung nach<br />

Druck auf ” Verbinde“, was zu einer Kommunikation mit der VR-Anwendung<br />

führt. Dazu muss noch die Adresse des Hosts, sowie der Port für die UDP - Kommunikation<br />

angegeben werden. Ist die Verbindung erfolgreich hergestellt worden,<br />

wird ein UDP-Paket mit dem Präfix AERON und dem aus dem Namen der Seite<br />

bestehenden Suffix gesendet 23<br />

Abbildung 3.18: Zustände<br />

Neun Geschwindigkeitsstufen<br />

23 AERONSeitenname, beispielsweise AERONNorth<br />

Abbildung 3.19: Motor<br />

mit Propeller

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!