Eğer hız ve data boyutu senin için önemli değilse Arduino Serial kitaplığı bu iş için iki adet özel fonksiyon barındır. Gönderdiğin karakterlerin içinden integer ve float tipini oluışturacak karakterleri tanıyarak atayacağın değişken içerisine kopyalar. Önemli olan nokta şudur ki: bilgisayardaki integer veya float türü değişkenleri string tipine dönüştürüp seri porttan yollamalısın.
Ben sana sadece Arduino kısmını yazıyorum C# kısmını sanıyorum kendin halledebilirisin. Aşağıdaki örnekleri seri monitörden değer göndererek deneyebilirsin.
Serial.parseInt():
C++:
int val;
void setup() {
Serial.begin(115200);
}
void loop() {
while (Serial.available() == 0) {
// Wait for user input
}
val = Serial.parseInt();
Serial.print("You entered: ");
Serial.println(val);
}
Serial.parseFloat():
C++:
void setup() {
Serial.begin(115200);
}
void loop() {
if (Serial.available() > 0) {
float myFloat = Serial.parseFloat(SKIP_ALL, '\n');
// prints the received float number
Serial.print("I received: ");
Serial.println(myFloat);
}
}