LCD付きポータブルArduino温度/湿度センサー
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
このプロジェクトについて
<図>
ArduinoUnoで温度と湿度のセンサーを作成した方法を紹介します。私の最終目標は、Attiny84で1つを作成し、そのためにPCBをエッチングすることです。私にはこれを行うための部品がありますが、外の天気は協力的ではありません。華氏10度未満で私のガレージにボードをエッチングするのは難しいです。それは後日、別の指示になります。
プロジェクトをお読みいただき、ありがとうございました。
<図> <図> <図> <図> <図>まず、このプロジェクトには次のものが必要です。
すべての部品はsparkfunまたはadafruitで購入できます。または、私と同じように実行して、古いデバイスからできる限り多くを回収することができます。
- Arduino(UNO R3を使用しましたが、5Vならどれでも動作します)
- ブレッドボード
- DHT11温度および湿度センサー
- 10kオームポテンショメータ
- 16x2LCD画面
- 触覚ボタン
- USBA-Bケーブル
- パワーバンク
- ジャンパー線
次に、すべてのワイヤをデバイスに接続します。フリッツの回路図を参照してください(ブレッドボードの2つの電源レールの間にジャンパー線がないことに注意してください。両方を使用する場合はジャンパー線が必要になります):
私が使用しているLCDディスプレイは、古い火災警報器のアナンシエータパネルから回収されました。ピン15と16はピン1の前にあり、ピン16がGndである代わりに、実際には5vであり、ピン15はGndです。自分のディスプレイを再確認し、ピンが正しいことを確認してください。私のディスプレイのピン配置は他のほとんどの人とは異なる可能性が高いため、正確なピン配置ではなく「標準」ディスプレイを使用してフリッツの回路図を作成しました。
宇野
- Gnd->ブレッドボードのネガティブレール
- 5v->ブレッドボードのポジティブレール
DTH11
- ピン1-> 5vおよび10kオームの抵抗
- Pin2-> ArduinoPin8および10kオーム抵抗
- ピン3->接続なし
- Pin4-> Gnd
- 16x2LCDスクリーン
- ピン1-> Gnd
- ピン2-> 5v
- ピン3-> 10kオームのポテンショメータワイパーピン(中央のピン。POTの他の2つのピンは5vとGndに接続されます)
- Pin4-> Arduino Pin12
- Pin5-> Gnd
- Pin6-> Arduino Pin11
- Pin7->接続なし
- Pin8->接続なし
- Pin9->接続なし
- ピン10->接続なし
- Pin11-> Arduino Pin5
- Pin12-> Arduino Pin4
- Pin13-> Arduino Pin3
- Pin14-> Arduino Pin2
- ピン15-> 5v
- Pin16->触覚ボタン(タックボタンの反対側はGndに移動します)
コード
添付されているのはコードです:
AdafruitのDHTライブラリを使用しました。
https://github.com/adafruit/DHT-sensor-library
終了しました!
<図> <図> <図> <図> <図>すべての配線が終わったら、パワーバンクをArduinoに接続します。
LCDディスプレイとDHT11が起動するはずです。タクトボタンを押すと、LCDバックライトが点灯します。
これで、リアルタイム表示付きのポータブル温度および湿度センサーができました。
これは、家の中で最も風通しの良い窓と、家の換気を設定する最善の方法を決定するのに役立ちました。
最初のプロジェクトをお読みいただき、ありがとうございました。
コード
- コード
コード Arduino
プロジェクトのArduinoコードは次のとおりです。//ライブラリコードを含める:#include#include "DHT.h" // DHT Pin#define DHTPIN8を設定//ライブラリを初期化するインターフェイスピンの数LiquidCrystallcd(12、11、5、4、3、2); #define DHTTYPE DHT11DHT dht(DHTPIN、DHTTYPE); void setup(){// LCDの列と行の数を設定します:lcd。 begin(16、2); dht.begin(); //メッセージをLCDに出力します。 lcd.print( "Temp:Humidity:");} void loop(){delay(500); //カーソルを列0の1行目に設定します//(注:カウントは0から始まるため、1行目は2行目です):lcd.setCursor(0、1); //湿度を読み取りますfloath =dht.readHumidity(); //華氏で温度を読み取りますfloatf =dht.readTemperature(true); if(isnan(h)|| isnan(f)){lcd.print( "ERROR");戻る; } lcd.print(f); lcd.setCursor(7,1); lcd.print(h); }
回路図
LCD_DHT11.ino 製造プロセス