...
Um auf der Seite des Arduino auf eingehende Nachrichten über die serielle Schnittstelle zu horchen müssen wir einige Funktionen benutzen. Diese sind:
charAt()
Diese Funktion retourniert das Zeichen in einem String an der angegebenen Position.
substring()
Diese Funktion erstellt einen Ausschnitt eines String von und bis zur angegebenen Position.
toInt()
Diese Funktion wandelt einen Sting in einen Int
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#define LED_PIN 6 #define NUM_OF_VALUES 3 String incomingString =""; int incomingValues[NUM_OF_VALUES]; void setup() { Serial.begin(9600); pinMode(LED_PIN, OUTPUT); } void loop() { if (Serial.available() > 0) { incomingString = Serial.readStringUntil('\n'); split(incomingString, incomingValues, NUM_OF_VALUES); } analogWrite(LED_PIN, incomingValues[0]); } void split(String inputString, int returnData[], int numOfValues) { int index = 0; int lastPos = 0; for(int i=0; i<inputString.length();i++) { if(inputString.charAt(i) == ',' && index < numOfValues) { String tempStr = inputString.substring(lastPos,i-1); returnData[index] = tempStr.toInt(); index++; lastPos = i+1; } } } |