Arduino vb.net

arduino温度センサーの値をシリアル通信してvb.netアプリで受信する方法

PR



arduino温度センサーの値をシリアル通信してvb.netアプリで受信するプログラムしてみました。

やることは

1.arduinoに温度センサーを繋いでシリアル通信でデータを出力。→詳細はこちら

2.VB.NETのWindowsFormアプリを作成して受信。

仕様

STARTボタンを押すとシリアル通信でデータを行単位に読み込む。読んだデータをTextBox1に新しい順に表示する。
ENDボタンで受信を中止する。

2.1 空のwindowsFormのプロジェクトを作成する。

form1にtextbox、botton1、botton2を配置する。

2.2 form1.vbにコードを追加

コードの解説

・Button1_ClickでシリアルポートをOPENします。
USBポート(私のPCではcom3)となっています。ご自身の環境によって変えてください。

・Fnc_serial_open・・・comポートをOPENしています。転送速度9600とかの指定はいらないようです。

・ReceiveSerialData・・・com1.ReadLine()で行単位にデータを読み込みます。改行コード単位に読み込んでいるようです。

System.Windows.Forms.Application.DoEventsはENDボタンを受付る為のものです。

Button2_Click・・・ボタンで終了FLGをオンします。

まとめ

シリアル通信でVB側にデータを取り込むことができました。Arduinoからの通信データに日本語があると文字化けしていました。
コード体系が違うのでしょうね。日本語入れるなと言うことで・・・
取れたデータを1時間ごとにCSVで出力しDBにロードする仕組みを作れば自動でDBに保存できますね。

-Arduino, vb.net