Arduinoプログラム上のSerial.available()は、外部(この場合Processing)から1バイト分のデータが何個送られてきているかを数えてくれます。送られてくるデータは、Arduinoであれ、Processingであれ、それぞれのメモリ上(バッファ領域)に一旦貯められます。その後、Serial.read()によって、貯められているデータから順番にひとつずつ読み込む処理をします。もし、読み込む処理をしなければ、送られたデータは次々とバッファ領域に溜まり続けます(設定した限界をこえるとそれ以上貯めることはできなくなります)。if(Serial.available()>0){...}という条件は、データが1個以上貯まったら(0個より多い場合)、{...}内の処理をするという意味です。 このプログラムの場合の手順は以下のようになります。 (1)まず、Processingから合図
![Arduino-Processing シリアル通信2](https://cdn-ak-scissors.b.st-hatena.com/image/square/82929af1fe8fd3080fe43f3e630d4cc0a5443a82/height=288;version=1;width=512/https%3A%2F%2F4.bp.blogspot.com%2F_7uyXRm_coS4%2FSDr7WnLB5zI%2FAAAAAAAAAEw%2FV9m9B3PDVf0%2Fw1200-h630-p-k-no-nu%2Fard_3d.png)