IoTで玉ねぎチェッカー作成!
玉ねぎチェッカー作りました!
みなさん、お久しぶりです。比較さんです。
約半年の長い制作期間を経て、超大作「玉ねぎチェッカー」が完成しました!
イメージは上図の通り。
玉ねぎの重さや個数をIoT機器でネット上に送り、スマホからチェックできるようにしました!
用途
仕事帰り、スーパーに寄った時、こんなことを思うことないですか?
「あれー、家にまだ玉ねぎあったかなー?」と。
玉ねぎチェッカーは、それを解決してくれます!
外にいながらにして、家に玉ねぎが何個あるか分かるようになります!!
作り方
1. まず重さセンサーを用意する
ロードセルセンサーとHX711というセンサーモジュールを購入しておきます。
KKHMF デジタルロードセル重量センサ5KGポータブル電子キッチンスケール + HX711計量センサーモジュールArduinoと互換
- 出版社/メーカー: Apple Trees E-commerce co., LT
- メディア: その他
- この商品を含むブログを見る
ロードセルを取り付ける板を用意します。
ロードセルセンサーは、下のように重量がかかったら曲がるようにベニヤ板に取り付けます。
上の写真はベニヤ板とロードセルの間にナットを挟んでスペースを作りましたが、スペーサーとかを使った方がよかったです。(とんでもなく苦労しました・・・。)
ちなみにロードセルはM4とM5の二種類のネジ穴が空いているので注意してください。
上からみるとこんな感じ。
これ見てわかるように、ネジはできるだけフラットな頭の方がいいです。
2. 重さセンサーとIoT機器を繋げる
だいたいこんな感じで作っていきます。
用意するもの
1. NodeMCUというIoT機器。家のWiFiに繋げてインターネットに接続できます。
KKHMF ESP8266に基づいて NodeMCU LUA WIFI無線モジュール 開発ボード
- 出版社/メーカー: Apple Trees E-commerce co., LT
- メディア: その他
- この商品を含むブログを見る
2. 16x2のLCDディスプレイ(HD44780)。玉ねぎの重さなど表示させます。
KKHMF DC 5V 1602 LCD ディスプレイモジュール 16×2キャラクタ LCDブルーブラックライト
- 出版社/メーカー: Apple Trees E-commerce co., LT
- メディア: その他
- この商品を含むブログを見る
3. HD44780のLCDをI2Cに変換するモジュール。上記LCD単体でも機能しますが、配線の節約のためにこのモジュールが必要になります。
HiLetgo® 5個セット5V 1602LCD IIC/I2C/TWI/SPIシリアルインターフェイスモジュールポートarduinoに対応 [並行輸入品]
- 出版社/メーカー: HiLetgo
- メディア:
- この商品を含むブログを見る
4. タクトスイッチ4つ。「ZEROボタン」「ONEボタン」「OFFボタン」「ONボタン」用に。
ブレッドボードだとこんな感じ
この右側に伸びてる赤、緑、黒、白の配線とロードセルの配線を繋げます。
3. ハードウェアを完成させる
ブレッドボードの配線の通りにプリント基盤を発注
上のブレッドボードの配線で、プリント基盤を発注しました!
こんな感じ。
Seeed Studio というところで発注しましたが、
基盤10枚で400円と激安でした(送料が2000円かかりましたが・・・)。
ちなみに基盤の設計は Fritzing というソフトを使いました。
ブレッドボードに配線をポチポチ繋げるだけで設計ができるのでとても簡単!
半田付けしていく
あとは、NodeMCUやタクトスイッチ、HX711などを基盤に半田付けしていきます。
半田のノリも良いです。
こんな感じになりました。めっちゃ簡単です!
実は最初、ユニバーサル基盤でやろうとしましたが、その時はめっちゃ時間かかって結局失敗しました・・・。
↑は失敗したやつです。配線の半田は難しい・・・。
全て繋げる
出来上がった基盤と重みセンサー、LCDディスプレイなどを繋げていきます。
重さセンサーの中に機器を入れていきます。
最終的にこんな感じになりました!良い感じです!
4. ArduinoIDEでソフトウェアを開発
ただ機械を繋げただけでは、玉ねぎは測れません。
玉ねぎを測定し、ネット上にデータを送るプログラムを書いていきます。
AmbientというIoTデータ可視化サービスを使います
玉ねぎのデータをネット上のどこかに保存しておかなければいけません。
そこで、IoTのデータを貯めて置けるサービスを利用します。
Ambient – IoTデーター可視化サービス
というサービスを使って玉ねぎの重さと個数をインターネット上に保存します。
AmbientにはArduinoIDE用のライブラリがあるので、それをインストールしておきます。
プログラムの概要(設定モード)
設定モードでは、IoT機器が自宅のWiFiと接続できるように設定します。
- OFFボタンを押しながら起動すると、このモードが始まる
- WiFiアクセスポイントを起動
- 自宅のWiFiと繋げるための設定ページを提供するWEBサーバーを起動
- PCなどから設定したWiFi設定情報はファイルに保存
プログラムの概要(通常モード)
通常モードでは、1時間に1回起動し玉ねぎの重さをAmbientに送る処理を実行します。
- 設定したWiFi情報をファイルから読み込み、WiFi接続
- 重みセンサーから重さを読み取り、LCDに表示する
- 「ZEROボタン」を押すと、現在の重さを0としてセットします
- 「ONEボタン」を押すと、現在の重さを1個の重さとしてセットします
- 「OFFボタン」を押すと、現在の重さと個数を計算してAmbientにデータを送り、1時間Sleepします
- 起動後90秒経つと、「OFFボタン」を押した時と同じ処理を実行します
- 「ONボタン」を押すとプログラムがリスタートされます
5. Ambientアプリから玉ねぎの個数を確認
Ambient には iOS/Android のアプリがあるので、そちらで玉ねぎの個数を確認します
Ambientリーダー(iOS)
Ambientリーダー(Android)
6. 完成!
以上で玉ねぎチェッカー完成しました!
これでいつでも玉ねぎの個数を確認できます!
次回は何作ろうか考え中です!