あなたが実際に尋ねた質問に答えるために、String オブジェクトは非常に強力であり、まさにあなたが求めていることを行うことができます。構文解析規則を入力から直接制限すると、コードの柔軟性と再利用性が低下し、やや複雑になります。
文字列には indexOf() と呼ばれるメソッドがあり、特定の文字の文字列の文字配列内のインデックスを検索できます。文字が見つからない場合、メソッドは -1 を返す必要があります。関数呼び出しに 2 番目のパラメーターを追加して、検索の開始点を示すことができます。あなたの場合、区切り文字はコンマであるため、次のように呼び出します。
int commaIndex = myString.indexOf(',');
// Search for the next comma just after the first
int secondCommaIndex = myString.indexOf(',', commaIndex + 1);
次に、そのインデックスを使用して、String クラスの substring() メソッドを使用して部分文字列を作成できます。これは、特定の開始インデックスで始まり、2 番目のインデックス (指定されていない場合はファイルの終わり) の直前で終わる新しい文字列を返します。したがって、次のようなものを入力します。
String firstValue = myString.substring(0, commaIndex);
String secondValue = myString.substring(commaIndex + 1, secondCommaIndex);
String thirdValue = myString.substring(secondCommaIndex + 1); // To the end of the string
最後に、String クラスの文書化されていないメソッド toInt() を使用して整数値を取得できます。
int r = firstValue.toInt();
int g = secondValue.toInt();
int b = thirdValue.toInt();
String オブジェクトとそのさまざまなメソッドの詳細については、Arduino のドキュメントを参照してください。