Public Class Form1
Private Sub
Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'コマンドライン引数を取得
Dim
cmds As String() = System.Environment.GetCommandLineArgs()
Dim
cmdArray() As String
Try
cmdArray = cmds(1).Trim.Split(",")
Catch
Console.WriteLine("引数を正しく指定してください。" & vbCrLf & "カンマ区切りで、(COMポート番号),(電圧出力ポート),(出力電圧)" &
vbCrLf & "Zを指定すると全出力を0Vにします。 " & vbCrLf & "Rを指定するとArduinoのVref読み出し。") :
End Try
'ポート開く
SerialPort1.PortName = "COM" & cmdArray(0)
Try
SerialPort1.Open()
System.Threading.Thread.Sleep(200) '少し待つ
Catch
Console.WriteLine("Arduinoに接続できませんでした。デバイスマネージャでポート番号を確認してください") : End
E nd Try
'入力ポート名のチェック
Dim
PortName() As String = {"1A", "1B", "2A", "2B", "3A", "3B", "R", "Z"}
cmdArray(1)= cmdArray(1).ToUpper '大文字に変換
If
Array.IndexOf(PortName, cmdArray(1)) < 0 Then
Console.WriteLine("有効なポート名またはコマンドを指定してください")
End
End if
’コマンドを解釈して実行
Select Case
cmdArray(1)
Case
"R"
'Vcc読み出し Rコマンド
SerialPort1.WriteLine("R")
System.Threading.Thread.Sleep(200) '少し待つ
Console.WriteLine("Arduino Vref = " & SerialPort1.ReadLine())
Case
"Z"
'全部ゼロにする Zコマンド
For
iii = 0
To
5
SerialPort1.WriteLine(PortName(iii) & "_0")
Next
iii
Case else
'電圧を出力
'指示値のチェック
Dim
V oltValue As Double
Try
VoltValue = CDbl(cmdArray(2))
Catch
Console.WriteLine("出力電圧を正しく指定してください") : End
End Try
If
VoltValue < 0 Then
Console.WriteLine("設定値の下限は0Vです") : End
If
VoltValue > 5 Then
C onsole.WriteLine("設定値の上限は5Vです(実際には電源電圧Vccが最大値になります)") : End
'Arduinoにコマンド文字を送る
SerialPort1.WriteLine(cmdArray(1) & "_" & VoltValue)
End Select
SerialPort1.Close()
End
'コマンドプロンプトに戻る
End Sub
End Class
最近はタブレットは流行りじゃないの? 2026.07.31
価格COMのスペック検索はロマン 2026.07.23
Bluetoothで動くリレー 2026.07.20
コメント新着