O ideal é implementar algo para o computador fazer um polling do Arduino (deixando-te assim saber quando ´€ que o Arduino deu o berro ou foi desligado, por exemplo).
C# seria algo assim
serialPort1.Write(S22);
E no Arduino:
...
if (Serial.available() > 3) {
if (Serial.read() == 'S') {
int number = (10 * (Serial.read()-48)) + (Serial.read() - 48);
Serial.print(digitalWrite(number));
}
}
Este código tem uma série de problemas que podem acontecer, mas mostra a funcionalidade que pretendes.
Entendo..
Achei que fosse possivel receber o dado cru do arduino e ser capaz de interpretar no C#...
E saber de qual pino veio o dado e em qual estado...
O arduino é como um "outro computador", rodando um programa que você mandou ele, em C# você pode se comunicar com o arduino, pois seu programa em C# está rodando no seu computador, não no Arduino...