...
Um auf der Seite des Arduino auf eingehende Nachrichten über die serielle Schnittstelle zu horchen müssen wir einige Funktionen benutzen. Diese sind:
charAt()
substring()
toInt()
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#define LED_PIN 6 #define NUM_OF_VALUES 3 String incomingString =""; int incomingValues[3NUM_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; } } } |