DHT11を使った出窓の結露対策用ヒータ制御回路
出窓の結露対策用ヒータ制御回路 のセンサーがおかしなことに
なっているのに気付いたのが11月29日。
湿度センサー「DHT11」がやってきた・・・けど!? を乗り越えて、
やっと回路と「スケッチ」が完成形に。
こんな回路に落ち着きました。
ユニバーサル基板に組んだ回路を密閉容器に入れてます。
センサーは外出し。
※前に作ってあった回路を手直ししただけ。
ガラス窓越しですが、長い間日光に当たって
いたんで、以前のケースはモロモロに。
ひどい状態の写真を撮る前に捨てちゃいました。
珍しい状態(現象出現に時間がかかる)はなんでも
記録に残さないかんかなぁ。
DHT11が出すデータ列はそのパルス幅で1/0が決まります。
今回のスケッチは、その測定に0.5μs(2MHz)クロックにした
タイマー1の「インプットキャプチャ」機能を使いました。
↓エッジ間のパルス数から1/0を判断しています。
Lレベル50μsの後に、データが0なら25μsのHパルス、
データが1なら70μsのHパルスとなっていて、その中間の
100μs、タイマー1のクロック数で200を判断の基準にして
1/0を判定しています。
20ms幅の開始信号の後、DHT11からデータ列が出ています。
データ取得の間、割り込みは禁止していませんので、
1ms周期のタイマー割り込みとA/D変換割り込みは普通に
走っています。
データ列の終端付近を拡大してみると、
DHT11のパルス間隔は勝手にハード(タイマー1)がカウントし
てくれますので、ソフトは↓エッジが来るのを待つだけ。
Adafruitのライブラリだと、ソフトでループカウンタを回すので
割り込み禁止にしておかないと、カウント値が狂います。
インプットキャプチャを使ってのパルスカウントはこんな時に
ためにあるようなものです。
最後の方で、整数の湿度データをfloatへ変換をしていますが、
その処理時間がどんなものかが見えています。
さて、実際に出窓へ置いて試運転です。
センサーの寿命がどんなものかが気になります。
※現在のスケッチ(txtにしています)
ダウンロード - humidity3.txt
| 固定リンク
「出窓」カテゴリの記事
- 人感センサー用オフディレータイマー回路(2023.08.26)
- 『きもだめし』に人感センサー(2023.08.19)
- 出窓の夜間照明用LEDを交換(2023.06.04)
- 出窓:鯉のぼりを振る(2023.05.04)
- 出窓:鯉のぼりを振れたらというリクエスト(2023.04.26)
「Arduino」カテゴリの記事
- Arduinoで「ボコスカハンマー」 あれれれれっ?!(2023.12.07)
- Arduino UNO R3で±19.9V表示電圧計(2023.10.14)
- 「御詠歌プレーヤー」の製作 (MP3-TF-16Pモジュールの使用例)(2023.08.10)
- Arduino UNO R3のソケット・・思えば違和感がぁ(2023.07.07)
- 初めて買ったArduino UNO・・・今は(2023.05.25)
コメント