比較さんのDIYブログ

これからDIYを始めるので、その記録を残そうと思います。

IoTで玉ねぎチェッカー作成!

f:id:hikaku_san:20180512175914j:plain

玉ねぎチェッカー作りました!

みなさん、お久しぶりです。比較さんです。

約半年の長い制作期間を経て、超大作「玉ねぎチェッカー」が完成しました!

イメージは上図の通り。

玉ねぎの重さや個数をIoT機器でネット上に送り、スマホからチェックできるようにしました! 

用途

 仕事帰り、スーパーに寄った時、こんなことを思うことないですか?

「あれー、家にまだ玉ねぎあったかなー?」と。

玉ねぎチェッカーは、それを解決してくれます!

外にいながらにして、家に玉ねぎが何個あるか分かるようになります!!

作り方

1. まず重さセンサーを用意する 

 ロードセルセンサーとHX711というセンサーモジュールを購入しておきます。

ロードセルを取り付ける板を用意します。

f:id:hikaku_san:20180512184631j:plain

ロードセルセンサーは、下のように重量がかかったら曲がるようにベニヤ板に取り付けます。

f:id:hikaku_san:20180512184411j:plain

上の写真はベニヤ板とロードセルの間にナットを挟んでスペースを作りましたが、スペーサーとかを使った方がよかったです。(とんでもなく苦労しました・・・。)

ちなみにロードセルはM4とM5の二種類のネジ穴が空いているので注意してください。

 

上からみるとこんな感じ。

f:id:hikaku_san:20180512184949j:plain

これ見てわかるように、ネジはできるだけフラットな頭の方がいいです。 

2. 重さセンサーとIoT機器を繋げる

だいたいこんな感じで作っていきます。

f:id:hikaku_san:20180512222514j:plain

用意するもの

1. NodeMCUというIoT機器。家のWiFiに繋げてインターネットに接続できます。

 2. 16x2のLCDディスプレイ(HD44780)。玉ねぎの重さなど表示させます。

3.  HD44780のLCDをI2Cに変換するモジュール。上記LCD単体でも機能しますが、配線の節約のためにこのモジュールが必要になります。

4. タクトスイッチ4つ。「ZEROボタン」「ONEボタン」「OFFボタン」「ONボタン」用に。

store.shopping.yahoo.co.jp

ブレッドボードだとこんな感じ

f:id:hikaku_san:20180512234017j:plain

この右側に伸びてる赤、緑、黒、白の配線とロードセルの配線を繋げます。

3. ハードウェアを完成させる

ブレッドボードの配線の通りにプリント基盤を発注

上のブレッドボードの配線で、プリント基盤を発注しました!

f:id:hikaku_san:20180513001008j:plainf:id:hikaku_san:20180513001328j:plain

こんな感じ。

Seeed Studio というところで発注しましたが、
基盤10枚で400円と激安でした(送料が2000円かかりましたが・・・)。

ちなみに基盤の設計は Fritzing というソフトを使いました。
ブレッドボードに配線をポチポチ繋げるだけで設計ができるのでとても簡単!

半田付けしていく

あとは、NodeMCUやタクトスイッチ、HX711などを基盤に半田付けしていきます。

f:id:hikaku_san:20180513001633j:plain

半田のノリも良いです。 

f:id:hikaku_san:20180513001549j:plain

こんな感じになりました。めっちゃ簡単です!

実は最初、ユニバーサル基盤でやろうとしましたが、その時はめっちゃ時間かかって結局失敗しました・・・。

f:id:hikaku_san:20180513011147j:plainf:id:hikaku_san:20180513011308j:plain
↑は失敗したやつです。配線の半田は難しい・・・。

全て繋げる

出来上がった基盤と重みセンサー、LCDディスプレイなどを繋げていきます。

f:id:hikaku_san:20180513001839j:plain

重さセンサーの中に機器を入れていきます。

f:id:hikaku_san:20180513001906j:plain

最終的にこんな感じになりました!良い感じです!

f:id:hikaku_san:20180513002004j:plain

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リーダー

Ambientリーダー

  • ユーティリティ
  • 無料
Ambientリーダー(Android

6. 完成!

以上で玉ねぎチェッカー完成しました!

 

youtu.be

これでいつでも玉ねぎの個数を確認できます! 

 

次回は何作ろうか考え中です!