こんにちは!
東京オフィス戸嶋です。
●重さに応じて、サイネージの表示を変えたい!
デジアピに重さの増減の検出を付けたいなーというお話があって、いろいろやってみました。
しかも今回の目標値は、10g程度の増減の検知!!
●圧力センサーFSRでトライ!
まず最初につかったのは圧力センサーFSRシリーズ。
秋月電子でよく見ていたし、重さセンサーで検索すると最初に出てきます。
センサー部にかかる圧力で、抵抗値が変わるので、そのアナログ出力を取得するという仕組みです。
圧力センサーFSR406
http://akizukidenshi.com/catalog/g/gP-04158/
大きめの正方形のFSR406を買ってきました。
(千石電商の方が安くて500円!)
効率よく検出出来る方法を求めて、圧力を集中させる為に足をつけたり、天板代わりにアクリル版をつけたり…いろいろと工夫したんですが…!!
上にずっと物を置いておくと、すこーーーーしずつ抵抗値が上がっていく…。
おそらく大きな物が乗っているか否かの検出には問題じゃないのかもしれませんが、今回はなにせ10gの差をとりたかったので…大問題でした…!!
圧力に応じて抵抗値は
指数関数的に増減する ので、まぁそうですよね。。
やはり100g以下を安定して取るのはこれでは難しいみたいです。
タッチセンサー変わりにつかっている例はよく見かけますが、
測りとして使っている例あまり見ないのはそういうことか。
大きな変化をとりたい時に使うことにしよう。
●体重計や秤には「ひずみゲージ」というものが使われているらしい。
もっといい方法がないかなーと調べてみた所、
「ひずみゲージ」というものを使うといいらしいということがわかりました。
そしてそのひずみゲージの変化値を取るのは難しいけど、
HX711があると、そのめんどくさい計算してくれるから簡単だよ!ということがわかりました!
HX711 ロードセル用ADコンバータ モジュール基板
http://akizukidenshi.com/catalog/g/gK-12370/
秋月電子さんや千石電商さんに売っている歪ゲージは、5kgまでとか20kgまでとか大きすぎるんだよなーと思っていたら、なんと!デジタル秤をハッキングしている方を見つけました!
ARDUINOでキッチンスケールの出力を受け取る
goo.gl/YrNfW1
●ということで次はデジタル秤をハッキングしたよ!
なるほど!確かにこれでパーツは揃っている!!
ということで1kgまで測れる秤を買ってみました。
ネジを外して開けようと思ったら、ここまでしか開かなかった…。
ひずみゲージの配線が4本と表示部分への線が2本だったかな。
無理にやって天板部分が壊れても嫌なので、
隙間からひずみゲージから出ている4本を見定めて、思い切ってハサミで切る!!
そして裏から出して、はんだ付けで線を延長!
そしてHX711を経由して、Arduinoに入力!!
HX711のライブラリが充実していたので、Arduino nanoをUSB接続用に使ってみました。
同梱された取扱説明書にも書いてありましたが、ライブラリやサンプルコードをGitHubにおいてくれてあるのですごく簡単でした!
デジアピとArduino nanoをUSBケーブルで繋いで、値を受け取ります!
Raspberry Piのシリアル通信は最近たくさんやったので、さくっと出来ました。
やったー。
●計測テスト!
みんな1gずつ少ないのはキャリブレーションミスったかな笑
10gの差も十分安定してとれそうです!
長時間稼働させておいても値が変わることもないですしね。
数gでも変化がとれるので、もっと小さいものの有無や在庫確認などにも使えるかも。
FSRで2日くらい調整頑張ってたのに、デジタル秤のハッキングは半日でできてしまった!!
良い勉強になりました。
●新年最初のセンサー連携は、違う楽しみに目覚めそう。
それにしても、身の回りのもの分解するの楽しいな…!!
ちなみに
DSCが出しているデジタルサイネージ2020はKindleでも買えますよ!(宣伝)