編集履歴一覧に戻る
46yomuのアイコン画像

46yomu が 2021年05月13日14時15分46秒 に編集

説明文章修正。電子回路製作の説明追加。

タグの変更

+

obnizBoard1Y

+

obnizIoTコンテスト

メイン画像の変更

メイン画像が変更されました

記事種類の変更

+

製作品

本文の変更

-

1. デモ動画

+

# デモ動画

@[youtube](https://youtu.be/AxmmwP0bPNw)

-

1. 概要

+

# 概要

冷蔵庫の扉に冷蔵庫の中にあるもの(在庫)を表示させ、それを毎日決まった時間にメールで送信し、食材の在庫量を通知する装置

-

1. 作成した理由 職場の近くに、安いスーパーがあるので、何か買うものがあるのかを毎回妻にLINEで聞いている冷蔵庫にある食材のをトグルスイッチの3状態を入力して切り替え、フルカラーLED表示し冷蔵庫の扉ずとも分り、外出先でも、毎日、その情報メールで得られて買い物リストとしても使えと考えた

+

# 作成した理由 職場の近くに、安いスーパーがあるので、何か買うものがあるのかを毎回妻にLINEで聞いている。そのため外出していても、冷蔵庫食材の在庫が定期的に知るこきれば買わないといないを覚えたり、聞く必要なくな

-

1. 装置の動き あらかじめべる物リスト(卵、ヨーグルト、葉物野菜、根菜、豆腐など)作り、リスの横にトグルスイッチフルカラーLEDを備え付ける。 トグルスイッチ、LEDが青色、緑色、赤色とLEDの色が切り替わり、青色だと冷蔵庫にまだあ、緑色だともう少し、赤色だと無いことを意味し、冷蔵庫を開けずとも、中にあるものの状況が分かるようにする。 そて、毎日16:15に、食材在庫量をメールで、通知する

+

また簡単に使えるうに、冷蔵庫にあるグルスイッチで入力できるようにした(料理中に食材が切れたら、その時、その場で入力できる!)。そして、フルカラーLED表示すこと、冷蔵庫の扉を開けずとも在庫量が分かるように

-

1. 部品表

+

# 装置の動き ①あらかじめ、よく食べる物(買う頻度が高いもの)のリスト(卵、ヨーグルト、葉物野菜、根菜、豆腐)を挙げる。

+

②トグルスイッチで入力すると、LEDが青色、緑色、赤色とLEDの色が切り替わり、青色だと冷蔵庫にまだある、緑色だともう少し、赤色だと無いことを意味し、冷蔵庫を開けずとも、中にあるものの状況が分かるようにする。 ③毎日16:15に、食材在庫量をメールで、通知する。 # 部品表

| 部品名 | 型番 | メーカー名 | 個数 | |:---:|:---:|:---:|:---:| | obniz Board Y1 | obniz009 | obniz | 1| | フルカラーLED | NESM026DT-RGB-R-T | 日亜化学工業 | 4 | | トグルスイッチ | 2UD3-T1-A1-M2-R-E | Linkman | 4 | | 抵抗330Ω | - | - | 16 | | 抵抗220Ω | - | - | 4 | | ユニバーサル基板 | ICB-293V | サンハヤト | 1 |

-

6. 設計図 ![キャプションを入力できます](https://camo.elchika.com/e811618e67fee7329d1be6d097f18267f062f7de/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31643238303130372d663332352d346662302d386165332d3361303033656362356238372f65356338623065332d326662352d346131612d386564332d613430323039396138626130/)

+

# 設計図 ![回路図](https://camo.elchika.com/3a45c632af0e77909175977e8e2984a54a3348a5/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31643238303130372d663332352d346662302d386165332d3361303033656362356238372f38663863326634312d653032362d343930392d623865352d313334613436316538616662/)

※トグルスイッチはON(1-3)-OFF(3)-ON(2-3)の接続となります。 ※obnizの入力1~4の電圧は、RGBのダイオードのVfの電圧が異なることにより、 3色の点灯状態をAD変換で判別します。

-

7. ソースコード

+

# 電子回路の製作過程 回路図に従って、ユニバーサル基板に、トグルスイッチ、フルカラーLED、抵抗をはんだ付けした。 obnizとの接続は、簡単にできるように刺すだけにできるように抵抗のリードの残りを加工したピンを製作した。フルカラーLEDはユニバーサル基板に穴をあけ、埋め込みした。 ![](https://camo.elchika.com/a483a9ce6415577844e6f4898c8c4f7ba852e62d/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31643238303130372d663332352d346662302d386165332d3361303033656362356238372f66643637663539322d313562312d343333322d616430342d366331666639303366356130/) # ソースコード プログラムの説明は、ソースコード内のコメントで記載しています。

```html:冷蔵庫の食材在庫量の定期通知装置 <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" /> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://unpkg.com/obniz@3.x/obniz.js" crossorigin="anonymous" ></script> <script src="https://smtpjs.com/v3/smtp.js"></script> </head> <body> <script> var obniz = new Obniz("OBNIZ_ID_HERE"); // obniz id var obniz, state, egg, soy_milk, leaf, yogurt; //冷蔵庫にあるものリスト 値格納用 var message1; //メールで送る文章格納用 state =0; egg =0; soy_milk=0; leaf=0; yogurt=0; obniz.onconnect = async function() { //トグルスイッチの2端子の電圧をADで取り込み、物がある(LED 青点灯)/もう少し(LED 緑点灯)/ない(LDE 赤点灯)のどの状態かを判別する function read_ad_input(ad_val) { let level; if(ad_val > 0.45){ //電圧0.45V以上 : ない(LDE 赤点灯) level = "無かよ😫"; } else{ if(ad_val > 0.25){ //電圧0.25V~0.45V : もう少し(LED 緑点灯) level = "少ししかなか😧"; } else{ //電圧0.25V以下 : 物がある(LED 青点灯) level = "あるばい😊"; } } return level; //判定した結果のメール文章を返す(福岡市在住のため、博多弁にしとっと) } obniz.display.print("冷蔵庫"); obniz.display.print("残り状態取得"); await obniz.wait(2000); //トグルスイッチの2端子の電圧をADで取り込み値を格納する egg = (await obniz.ad1.getWait()); // 卵の残り状態取得 soy_milk = (await obniz.ad2.getWait()); //豆乳の残り状態取得 leaf = (await obniz.ad3.getWait()); //葉物野菜の残り状態取得 yogurt = (await obniz.ad4.getWait()); //ヨーグルトの残り状態取得 //メールで送信する文章の作成 message1 = "卵 : " + read_ad_input(egg) +'\r\n' + "豆乳 : " + read_ad_input(soy_milk) + '\r\n' + "葉物:" + read_ad_input(leaf) + '\r\n' + "ヨーグルト:" + read_ad_input(yogurt) + '\r\n'; await obniz.wait(2000); obniz.display.clear(); obniz.display.print("メール送信完了"); obniz.display.print(""); Email.send({ Host : "**********", //SMTPアドレス Username : "**********@gmail.com", //送信元メールアドレス Password : "**********", //送信元メールのパスワード To : '**********@**********', //送信先メールアドレス From : "**********@gmail.com", // Subject : "冷蔵庫からお知らせ", //メールの件名 Body : message1 //メールの文章 }).then( // message => alert(message1) ); await obniz.wait(2000); obniz.display.clear(); obniz.display.print("送信しました"); obniz.display.print(""); //obniz.display.print(message1); await obniz.wait(2000); if(typeof done === "function") { done(); } } </script> </body> </html> ```

-

8. obnizのアプリ設定

+

# obnizのアプリ設定

毎日定期的に冷蔵庫の食材在庫量をメールで送信するため、obnizのアプリ設定をした。 ![キャプションを入力できます](https://camo.elchika.com/0bbc3c3fed1e75819c20c4bcbf018117b747dcfe/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31643238303130372d663332352d346662302d386165332d3361303033656362356238372f37363161303361392d623834332d343130372d393937312d323433656538353938363966/)

-

9. 参考

+

# 参考

メール送信のために、SmtpJS.comを使用しました。 [SmtpJS.com](https://smtpjs.com/)