電子天秤など、読み取りボタンを押すと測定データをRS232Cから出力するものが結構ある。
便利な端子ではあるが、今どきだとUSB-RS232C変換ケーブルをさしてドライバをインストールして・・・面倒臭い。
ミツトヨのビッカース硬さ試験は読み取り値をPCに転送するとき、USB HID(Human Interface Device)のキーボードに扮してくれるので接続してすぐ使えるというメリットがある。
このモデルはすでにArduinoの標準にあるっぽい。
https://docs.arduino.cc/built-in-examples/usb/KeyboardSerial
マイコンにはUSB HIDに化けてくれるものがあるし、シリアル通信に対応したものがあるので、これ自分で作れるんじゃないか?というように思った次第。→作った
例えば電子天秤の場合、読み取った値をそのままHIDデバイスとして吐き出せばいいので、すが、
A&Dのフォーマットを見ていると標準だと、Stable, Unstableとかヘッダ、カンマ、測定値、スペース、単位、CRLFになっているようだ。面倒くさいな。
ただ、SIF TYPE4はNumericalフォーマットなのであろう、数字をバコーンと出すだけなので、液晶画面に表示サれている数字をそのまま吐き出すだけ。これなら、マイコンはシリアル通信で受け取った文字列をHIDデバイスとして吐き出して行けばいいだけである。
AandDの天秤は下記の状態がデフォルトの状態のようだ。
ボーレート:2400bps
ビットパリティ:7ビットEven
ターミネータ:CRLF
データフォーマット:A&D標準フォーマット(上記のST,+2.300000 g CRLF)
さて、データが7bitって何?って思ったのだが、アスキーコードが7bitなので、英語文字列を送るだけなら7bitで十分な様子。
ということは、マイコンのシリアルポートは、
Serial.begin(2400,SERIAL_7E1)
ということになる。