キッチンスケール(料理はかり)をHackして安価なデジタル出力はかりに改造する記事を去年書きました。LabVIEWのVIをコンパイルしてArduinoに書き込めるArduino Compatible Compiler for LabVIEW (ACC4LV)が発売された記念でわざわざLabVIEWでVIを書いたものです。
https://forums.ni.com/t5/北東北-LabVIEWユーザー会/Making-USB-Digital-Balance/gpm-p/3537688
今回のMFT2017ではArduinoのシリアル出力をPCのLabVIEWで受け取るところをデモして、日本のメイカーにHome版を紹介しようと考えました。
出展のメインは「手作りの大型7セグメントフルカラー表示器を使った置き時計」ですが、180cmのテーブルは余裕があるのでLabVIEW Home版を使って「キッチンスケールをHackしてデジタル出力の秤を作ろう」というテーマで展示しました。
立ち止まった人に"LabVIEW知ってますか?”と聞いてみると意外に(1)学生の頃使った、(2)過去に使ったことがある、(3)工場の検査部門で使われている、(4)名前は聞いたことがある、といった返事が多くて、Home版が秋月でXXXX円ですよ、と教えると、「それなら使えるね!!!」という感じでした。
Arduinoからの出力をPCで受ける利点が感じられるよう、秤のデータをArduinoからシリアルでPCに送り、PC上で動いているLabVIEW Home版でリアルタイムにデータを表示するデモにしました。秤の上をビー玉を転がして、転がっている間に重量測定をして重さを表示します。ビー玉フィーダーを作ってサーボモーターでゲートの開いている時間を変えて1個転がしたり、2個転がしたりしました。重量の測定精度は、ビー玉が1個なのか2個なのかはっきりわかる程度という感じです。
ダイアグラム
1番上のループがシリアルからの読み取り、真ん中のループが数値への変換とデータ処理、下のループがデータ保存です。
サブVIのダイアグラム
データ処理はビー玉を検知してからビー玉がなくなるまで配列に集めて、測定値の上位3データを平均して重量としています。
VI、秤のプログラム、ビー玉フィーダーのプログラムを添付しました。LabVIEW2014以降とArduino IDEで開くことができます。