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
| 固定リンク
「出窓」カテゴリの記事
- 「ダイソーのゆらゆらLEDキャンドルライト」出窓にデビュー(2025.10.01)
- ラジオペンチさんの「ダイソーのゆらゆらLEDキャンドルライト」#2(2025.09.15)
- ラジオペンチさんの「ダイソーのゆらゆらLEDキャンドルライト」(2025.09.11)
- 謹賀新年! 本年もよろしくお願いします。(2025.01.01)
- ステッピングモータ駆動回路を24Vだけで #2(2024.10.31)
「Arduino」カテゴリの記事
- ATtiny1614:タイマレジスタの初期設定を見る(2026.01.06)
- ラジオペンチさんの「ダイソーのゆらゆらLEDキャンドルライト」#2(2025.09.15)
- ラジオペンチさんの「ダイソーのゆらゆらLEDキャンドルライト」(2025.09.11)
- ATtiny402サンプル:"Wire.h"を使わずI2Cで液晶表示 AQM1602だと(2025.09.09)
- ATtiny402サンプル:I2Cで液晶表示 SCL周波数を設定できるようにしたら(2025.09.09)



コメント