Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
languagejava
titleBeispiel Werte in Arduino empfangen
collapsetrue
#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;
    }
  }
}