Sequence MakerでA&Dの電子天びん（EK-iシリーズ）と通信する

## はじめに
Sequence MakerはExcelから測定器を制御可能にするアドインです。今回は友人（以下N氏）がSequence Makerを使用してA&Dの電子天びん（EK-iシリーズ）から測定値（質量）を取得できたとのことなので、記事にまとめておきます。
なお、Sequence Makerについての詳細は以下の記事を参照ください。

https://qiita.com/sequencemaker/items/8e6a370ab0a793a06a3b

:::note warn
***お断り***
本記事の内容はSequence Maker開発元の公式見解ではなく、あくまでも個人が趣味の範囲内で執筆しているものです。記事の内容について開発元へ問い合わせることはお控えください。ご質問・要望などは各記事のコメント欄へお願いいたします。
:::

## 電子天びん（EK-iシリーズ）
A&Dが発売している「コンパクト天びん EK-iシリーズ」は卓上で使えるコンパクトな電子天びんです。通信インターフェイスを搭載しているので、Sequence MakerのRS-232C通信を使用すると測定値をExcelに取り込むことができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/576e3321-bdf6-7806-1012-d365380ffb2c.png)

（https://www.aandd.co.jp/products/weighing/balance/bal-personal/ek-i/ より引用）

## RS-232Cでの接続
まずはPCと電子天びんをRS-232Cで接続する必要があります。パソコン側にRS-232Cのポートが無い場合は、USB-RS232C変換器などを使用しましょう。

https://qiita.com/sequencemaker/items/08d1fb66d1ba284e00a4#rs-232c

そして、通常はPCと測定器をクロスケーブルで接続するのですが、**EK-iはコンピュータとの接続にはD-sub 9ピンストレートケーブルを使用します。**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/6df7c478-e9ea-7837-6178-7269828a451f.png)

（https://www.aandd.co.jp/pdf_storage/manual/balance/m_ekew-i.pdf より引用）

## Sequence Makerのインターフェイス設定
Sequence Makerのインターフェイス設定を電子天びんの設定に合わせます。EK-iは通信スピード（ボーレート）とデータビットを設定可能です。デフォルトはボーレート2400bps、ビット長7ビット、even（偶数）となっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/7265ef06-7a43-e6d0-94a8-71cdc24b3224.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/2ebe3d0b-6938-caf3-0db0-0f7926b5821f.png)

（https://www.aandd.co.jp/pdf_storage/manual/balance/m_ekew-i.pdf より引用）

今回は **ボーレート9600bps、ビット長7ビット、even（偶数）で通信してみる** ので、Sequence Makerでは以下のように設定しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/0fbea153-4bb8-f055-6263-6fb34b26b2a3.png)

## 通信コマンド
ここまで準備ができたら、あとはコマンドを送るだけです。EK-iシリーズでは3つのコマンドが用意されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/997dcdc2-8db7-64d6-c9e3-21ff7f03417d.png)

（https://www.aandd.co.jp/pdf_storage/manual/balance/m_ekew-i.pdf より引用）

測定値（質量）を取得する場合は、
```
Q
```
を送るだけです。ただし、Sequence Makerではコマンドに「?」が含まれていないと、送信後に受信をしてくれないので、強制的に受信するためにSequence Makerの専用コマンドと組み合わせて
```
#QUERY(Q)
```
こんな感じに送ります。

## 実際にやってみると…

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/cee4536f-78b3-d1f9-5699-45fc8a7457f7.png)

ほらできた。これでもういろんなものの質量を精度良く測りまくれる！！

## 測定値がなんか👻化けるんだけど？
さて、一発で上記のようにうまくいけば良いのですが、今回N氏の場合は文字化けが発生してしまいました。以下のような感じです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/2c4e041f-e5eb-3ccb-9234-f538a5a3cf52.png)

なんだか部分的に測定値が取れているような気もしますが、、、??やっぱりおかしい。化けている。

このようになるのは**EK-iで設定しているビット長と、Sequence Makerで設定しているビット長が合っていないためです**。例えば、EK-iのビット長の設定が：7bit/evenでSequence Makerの設定が8bit/Noneだと…
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/35b5dadb-6aad-0c39-6a50-ccdcd7ec706b.png)
こんな感じに中途半端に化けます。ビット長の設定をちゃんと合わせれば大丈夫なはずです。

## 全く応答が返ってこないんだけど？
使用しているRS-232Cケーブルがストレートケーブルか確認しましょう。
ケーブルの種類がわからなければ、ケーブル両端をテスターであたってみましょう。1pinから9pinが以下のように結線されていればストレートケーブルです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/9a6b1fa5-e78b-249f-a474-108c0b9ecf1a.png)

## まとめ
今回はN氏がSequence Makerで電子天びんを制御した内容を記事にしてみました。通信ができるようになれば、あとは好きなタイミングで測定値が取得できるので、いろいろな事に使えると思います。

## おまけ
EK-iの取説の最後に重力加速度マップが載っていて感動した！
重力加速度を使ってキャリブレーションできるらしい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/a0df37b3-9a60-7b72-8632-cf7036fa87d0.png)

（https://www.aandd.co.jp/pdf_storage/manual/balance/m_ekew-i.pdf より引用）