##知りたいこと
arduinoからシリアル通信をしたデータをprocessingで拾って表示するプログラムを作ってみました。シリアル通信の勉強のために作りました。
しかし、processingで
Error, disabling serialEvent() for COM3 null
とでてしまいます。
データが無いということなのでしょうがarduinoのシリアルプロットでは
しっかりとデータが出ています。
原因をご教授いただけたらと思います。
##processingプログラム
import processing.serial.*; Serial mport; double[] sensors = new double[2]; void setup() { mport = new Serial(this, "COM3", 9600);//シリアルポートの設定 //ポート内のデータ初期化 mport.clear(); } void draw() { } void serialEvent(Serial myport) { // シリアルバッファーを読込み if ( myport.available() >0 ) { String myString = myport.readStringUntil('\n'); // 空白文字など余計な情報を消去 myString = trim(myString); // コンマ区切りで複数の情報を読み込む float sensors[] = float(split(myString, ',')); if (sensors.length > 1) { print(sensors[0],4); print(","); println(sensors[1],4); } } }
##arduinoプログラム
float sensors[2]; float x, y; void setup() { Serial.begin(9600); sensors[0] = 0.0000; sensors[1] = 0.0000; x=0.0000; y=0.0000; } void loop() { x=x+1.0001; y=y+1.0001; sensors[0] = x; sensors[1] = y; Serial.print(sensors[0],4); Serial.print(","); Serial.println(sensors[1],4); delay(100); }
purocessingで
0.0000,0.0000 1.0001,1.0001 2.0002,2.0002 3.0003,3.0003 4.0004,4.0004 . . .
こんな感じで表示されると思ったのですが
Error, disabling serialEvent() for COM3 nullとでてしまい、うまくいきませんでした…
##環境
Windows10 64bit
CPU i5
RAM 8GB
arduinoIDE設定
ボード:ESP32 Dev Module
シリアルポート:使用できるポート確認済み(COM3)
processing3.5.4
##最後に
見づらいプログラムですみません。まだまだ勉強中ので余計なコードを描いているかもしれませんがどうか大目に見てくださいますと助かります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/31 14:51
2021/03/31 14:53
2021/03/31 23:03