要件定義および動作確認のファーストステップ
ツイート9月22日(日)
「芝生×IoT」
お待たせ~っ(大汗)
ようやく散水部の作製を開始しますよー!
まずは何をしたいかのおさらい・・・。
以前に全体構想を描いたものがありましたが、そこから散水部に求めるものを再度書き出した。
課題として解決しなければならない機能もあるが、できる事から作業を始めてみるぞ。
って、課題が多すぎなんじゃねぇーの・・・(大汗)
はい、気を取り直して・・・、まずは・・・、
大項目(〇印)の2番目「夏は毎日散水する」と3番目「必要な時はいつでも散水できる様にする」から始めるとする。
「夏は毎日散水する」には小項目が3つあって、
・同じ時間に開始する
・一定j間散水後に停止する とある。
今夏は散水タイマーがその役割を担っていましたが、これに代わる機能を持たせないといけないね。
ちなみに散水タイマーはこれ。
実はこれを流用できないかと、以前分解した経緯があるのだが・・・、。素人の私には無理だった。
Arduinoには時計や時間計測の機能はないのだ。(指定時間Sleepするくらい)
そこで、これらの機能を補う事ができるのが、「RTC(リアルタイムクロック)」と言われる機器。
使用するのは、「Grove リアルタイムクロックモジュール」
3.3V駆動も対応しているね。
これを使用して、上記の時間に関する要求仕様を実現する。
そして、判断が非常に難しいのは、「夏は・・・」(「夏モード」と呼ぶことにする)って事。
いつから夏なんだ??って、ロジックで定義すると6月? 7月? 8月? ???
今夏は梅雨が長引き、7月下旬に梅雨明けし本格的な猛暑が到来した。
昨夏は6月下旬に梅雨明けし非常につらい猛暑が長続きした。
梅雨明けの判断が非常に難しいよねぇ・・・(大汗)
もう一つ、「必要な時はいつでも散水できる様にする」(「即時散水」と呼ぶことにする)
これは必要と感じるのは私自身だよね・・・。
ってことは、私がトリガーを持つって事だけど、4つ目の「スマホから操作」で代用できるのではと思ったが、課題として後々考えるので、まずはアナログ的にできないかと。
そこで、
スイッチをON-OFFすることで解決できるのではと考えたので実験。
スライドスイッチ「SS-12E01G3」を使ってON-OFFすることで、「夏モード」、「即時散水」できるようにする。
上の写真は、LEDを使用しスイッチのON-OFF動作を確認している所。
ちなみにこのLEDは抵抗が内蔵されており、私のような素人が電流(アンペア)を気にせず直接接続しても大丈夫な優れものなのだ。
本来は使用するLEDに適した電圧、電流を流さないと壊れるので、それらを考慮して抵抗を接続しなければならない。
このスライドスイッチには、何も記載がない(Vcc、GND等)ので、動作を確認してどこに何を繋げばよいかに印だけつけてみた。
ON-OFFすら記載されていない。もしかしてON/ONだったりして
ここまで来たら、とりあえず繋いで動作確認しなくちゃねぇ・・・。
ってことで・・・、
早速開発ボードに簡易的なスケッチを記載し動作確認してみよう!!
右上にある2つのLEDはソレノイドバルブと見立てて、点灯すると弁が開いた事を意味し、消灯すると弁が閉じたことを意味する様に配線してある。
※あくまでテスト中のブレッドボードで、使ってないジャンパ線がついてたりするのでご注意ください。参考にしないでね。
スライドスイッチが上下に並んでおり、上側が「即時散水スイッチ」、下側が「夏モードスイッチ」
実際にスイッチを動かすとLEDが点灯/消灯するのか動画でご覧ください。
赤枠は「夏モード」スイッチをOFF⇒ONに。
緑枠は「夏モード」スイッチをON⇒OFFに。
青枠は「夏モード」スイッチをOFF⇒ONにしたまま、「即時散水」スイッチをOFF⇒ON/ON⇒OFFに。
「即時散水」スイッチがONの状態で、「夏モード」スイッチをOFFにして、「即時散水」スイッチをOFFにしたら、「夏モード」スイッチもOFFになってるって動作確認。
「即時散水」スイッチがONの時は何度も弁を開ける動作をしないようにしている。
その逆も同様で「即時散水」スイッチがOFFの時は弁を閉じる動作を毎回しない。
「夏モード」スイッチは今は何も処理を書いてないので、ON/OFFがわかるように常にコマンド出力するようにしている。
一応、これで大まかな動作確認が取れたのと、スケッチの土台ができたので、これをベースに細かな処理を追加して行くとするかね。
しかーしっ、重大な問題が隠れていることをまだ知る由もなかった・・・。
うっ、うそだろ・・・、マジかっ?!
なーんか、ここまで順調な感じがするけど・・・。
そう、ここまでは順調だったんだよねぇ・・・(汗)
・・・
RTCモジュールは事前に日時の設定をしておかないといけない。
何も設定はされてないし、設定内容はボタン電池の電力で保持される・・・。
「Grove リアルタイムクロックモジュール」の設定方法をやほーで検索し、
やり方を確認して年月日、時分秒を設定することができた。
しかし、ここで衝撃の記事を目にすることになる。
それは・・・、
「Grove リアルタイムクロックモジュール」は3.3Vでは設定も読出しも全くできず、5V駆動でしかできないというもの。
へっ? あれ? 出来てるけど・・・??
だって、ほら、出力だって問題ないし・・・? 年月日、時分秒ちゃんと取得出来てるよ!
はっ!?
RTCの電源どっから取ってるんだ・・・?? おいっ・・・?
5Vから取ってるじゃねーかよーっ(涙)
直ぐに3.3Vに切り替えて再度確認すると・・・、
がびぃーん(驚)
表示がおかしくなってる・・・(哀)
この開発ボードは、USBから電源受給されており、3.3V/5Vいづれでも電源を供給できるようになっている。
この時私は意図せず、5Vポートから電源を取ってしまっていたのだ・・・。 なぜ??
本番で使用する「ESP-WROOM-02」は3.3V駆動のみ。
つまりこのRTCは、使えない・・・。
なぁ~にぃ~、やっちまったなぁーーー!!
男は黙って・・・
さて、どうしようかねぇ・・・(汗)
つづくけられるのか
闘え、ボンビーリーマン!
負けるな、ボンビーリーマン!
常緑のために!
「頑張れ、ボンビーリーマン!」っと思った方は
↓ポチっとお願いますb>
ツイート
↓初めてコメントを入力される際は、「コメント欄使用時のご留意事項」をご覧ください
関連ページ
- 芝生×IoT 修正記録
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT 暑さ対策
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT 新センサーテスト
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト 番外編
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト23
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト22
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト21
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト20
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト19
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト18
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト17
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト16
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト15
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト14
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト13
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト12
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト10
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト9
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト8(センサ部 再改良)
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト7(センサ部改良)
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト6(センサー稼働開始)
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト5
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト4
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト3
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト2
- ボンビーリーマンの芝生手入れ奮闘の記録
- 芝生×IoT プロジェクト1
- ボンビーリーマンの芝生手入れ奮闘の記録