Excel側からArduino側へデータを送信したいです。
具体的にはExcelから送られてきた数値を元にArduinoを動かしたいです。
下記のようなプログラムにて、easycommを使用してExcelからArduinoへシリアル通信を行っているのですが、Excelで受信したデータは「1」が「49」となってしまいます。
送信した数字と受信した数字がどのタイミングで変わってしまっているのかわかりません。
「1」と送信したら「1」と帰ってくるようにしたいのです。
アドバイスをいただければ幸いです。
環境はExcel2010、ArduinoProMini、Windows10です。
コードは下記の通りです。
VBA
1Private Sub CommandButton1_Click() 2 3 MsgBox "送信を開始します" 4 Debug.Print "###送受信開始###" 5 6 7 'ポート接続 8 Connect 'ポート接続用関数 9 10 MsgBox "OK押すと進む" 11 ec.Ascii = "1" '文字を送信 12 13 Dim Ltime As Date 14 Ltime = DateAdd("S", 5, Now) 15 16 Do While Now < Ltime 17 If ec.InBuffer > 0 Then 18 Range("B11").Value = ec.Ascii 19 Debug.Print ec.Ascii 20 End If 21 ec.DozeSeconds = 1 22 Loop 23 ec.COMn = -1 24 MsgBox "終了" 25 26End Sub 27
Arduino
1if(Serial.available()>0){ 2 long buf = Serial.read(); 3 Serial.print(buf); 4 Serial.println(); 5 6 }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/05 01:23