Guten Abend, ich habe seit kurzem einen Arduino und möchte diesen primär nutzen, um etwas mehr Kenntnis in der Materie zu bekommen. Idee war, den Arduino ein bisschen mit FSX zu nutzen, um z. B. Heading-Werte, Höhen, den Autopiloten usw. zu setzen. Bisher habe ich immer den Weg "vom Arduino" in den "FSX" genommen (mit dem Tool Link2FS). Nun möchte ich aber auch am Arduino auf Basis des seriellen Datenstroms eine LED ein- und ausschalten. Wenn ich den AP einschalte, sendet FSX an die serielle Schnittstelle "=a0", beim Einschalten "=a1" (beides ohne ""). Die Daten kommen soweit korrekt beim Arduino an. Nun möchte ich, dass bei der Zeichenkette "=a1" die LED an Pin 4 eingeschaltet wird und LED an Pin 5 aus geht, bei der Zeichenkette "=a0" die LED an Pin 4 wieder aus geht, LED an Pin 5 dann an. Mein Code sieht wie folgt aus (auf Basis von Code aus dem Netz): [c] int CodeIn;// used on all serial reads void setup() { // Lets set the output pin modes (longhand) pinMode(4, OUTPUT); // pinMode(5, OUTPUT); // Serial.begin(115200); } void loop() { if (Serial.available()) {//checks the serial read buffer CodeIn = getChar();// reads one charactor via it's own routine (char getChar) if (CodeIn == '=') { EQUAL(); // The first identifier is "=", goto EQUAL void } }//end of yes there is something to read } // end of void loop (The main one) char getChar()// Get a character from the serial buffer { while (Serial.available() == 0); // wait for data return ((char)Serial.read()); // Thanks Doug }// end of getchar void. void EQUAL() { // The first identifier was "=" CodeIn = getChar(); // Get the second identifier switch (CodeIn) { // Now lets find what to do with it case 'a'://Found the second identifier (Autopilot) }// end of switch }// end of lessthan void [c] Ich komme mit dem Switch Case nicht weiter. Ich muss ja nicht nur den zweiten Wert auslesen (beides a) sondern auch den dritten (also ob 0 oder 1), damit ich steuern kann ob der Autopilot an ist oder eben nicht. Hat jemand dazu eine Idee? Danke, Moritz
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.