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
| 固定リンク
「出窓」カテゴリの記事
- 謹賀新年! 本年もよろしくお願いします。(2025.01.01)
- ステッピングモータ駆動回路を24Vだけで #2(2024.10.31)
- ステッピングモータ駆動回路を24Vだけで(2024.10.29)
- 人感センサー用オフディレータイマー回路(2023.08.26)
- 『きもだめし』に人感センサー(2023.08.19)
「Arduino」カテゴリの記事
- パルスジェネレータをI2C液晶で動かす(2025.01.28)
- EEPROMを使ったシリアル受信バッファ 512kバイトに増設(2024.12.26)
- 1/nカウント方式とDDS方式の2相パルス発生回路(2024.10.13)
- おっと。map関数の計算桁に注意(2024.10.06)
- DDS方式の2相パルス発生回路、周波数スキャン機能を付ける(2024.10.05)
コメント