[] ArduinoのIDEコネクタnodeMCU DS18B20デジタル温度センサの検出温度の等温線防水ステンレス鋼パッケージ)

エクステリア

ここに画像を挿入説明

温度測定原理

発振器、パルスの低い温度係数は温度値ゲートを取得するには、この期間中にカウントされている発振器内部カウンタの高い温度係数を有するゲート期間を決定します。カウンタは、-55℃に相当する値にプリセットされます。カウンタが到達の加算値がゼロの場合、サイクルゲートの終了前に温度レジスタは、測定された温度を超える-55℃であることを示す(また、-55°Cに初期化)。

1。発振器の温度係数を意味する発振器であり、発振周波数と温度、異なる発振周波数に対応する、すなわち異なる温度との間の特定の関係が存在します。逆に、発振器の出力周波数を測定するために、温度を測定することができます。
発振器の2.高温度係数:その発振周波数が大幅温度、温度のわずかな変化によって影響され、周波数は、温度センサのために使用される温度に敏感な多く、すなわち変更されます。
発振器の前記低温度係数:その発振周波数は温度に影響され、その周波数は、実質的に一定であり、温度が大きく変化しても、小さいです。

それと同時に、カウンタは、温度感知発振器のためのアキュムレータ回路放物線特性補償器をランプ、ランプ・アキュムレータ回路によって決定された値にリセットされます。そして、カウンタ0までカウントを開始し、ドアが終了していない場合、サイクルは、プロセスが繰り返されます。非線形解像度の時に比較的高い温度を得るために、温度に敏感な発振器をランプにアキュムレータを補償します。これは、温度の上昇に必要なの各々を計数するための後のカウンタの値を変更することによって達成されます。このように、所望の解像度を得るために、あなたはカウンタの値と与えられたそれぞれの温度のカウント値を知っている必要があります。

回路図

データ終了--D4(GPIOポートをすることができ、ここではD4書かれているコードがある)
負端子--GND
5Vとプラス端子--3Vは(されている必要がありますが、私は前にも、その後5VをnodeMCU(リンクスのeixpsy)を購入それは読まれていないパラメータ、ディスプレイ-127は、多くの情報を確認し、そして最終的にあなたが発見した、その後、3Vの信号出力インタフェース)があり
、プルアップ抵抗10Kを覚えておく必要があります
ここに画像を挿入説明

あなたは、2つのライブラリをダウンロードする必要があります

OneWire

ここに画像を挿入説明

DallasTemperature

ここに画像を挿入説明

コード

#include <OneWire.h>
#include <DallasTemperature.h>
 
#define ONE_WIRE_BUS D4

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);
 
void setup(void)
{
  Serial.begin(115200);
  Serial.println("Dallas Temperature IC Control Library Demo");
 
  sensors.begin();
}
 
void loop(void)
{
  Serial.print(" Requesting temperatures...");
  sensors.requestTemperatures(); 
  Serial.println("DONE");
 
  Serial.print("Temperature for Device 1 is: ");
  Serial.print(sensors.getTempCByIndex(0));  
  
  delay(1500);
}

効果

ここに画像を挿入説明

公開された151元の記事 ウォンの賞賛451 ビュー290 000 +

おすすめ

転載: blog.csdn.net/Caoyang_He/article/details/104633869