راهنمای کامل سنسور DS18B20 (نسخه بدون کابل TO-92)
این راهنما مخصوص نسخه بدون کابل سنسور DS18B20 است که به شکل یک ترانزیستور (پکیج TO-92) میباشد. این سنسور از نظر کارکرد داخلی و کدنویسی هیچ تفاوتی با نسخه کابلی ندارد.
مشخصات کلیدی سنسور (دیتاشیت)
ویژگی (Feature) | مقدار (Value) |
پروتکل ارتباطی | 1-Wire (دیجیتال) |
ولتاژ کاری | 3.0 ولت تا 5.5 ولت |
محدوده اندازهگیری دما | 55- تا 125+ درجه سانتیگراد |
دقت | ±0.5 درجه سانتیگراد (در محدوده 10- تا 85+) |
دقت تفکیکپذیری (Resolution) | قابل تنظیم از 9 تا 12 بیت |
پیشنیاز نرمافزاری: دانلود و نصب کتابخانهها
برای کار با این سنسور به دو کتابخانه نیاز دارید. آنها را از لینکهای رسمی زیر دانلود کرده و به صورت دستی نصب کنید.
راهنمای دانلود و نصب:
- وارد هر یک از لینکهای بالا شوید و در صفحه باز شده، روی بخش **Releases** کلیک کنید.
- آخرین نسخه (latest) را با فرمت ZIP. دانلود نمایید.
- در نرمافزار آردوینو، به منوی Sketch > Include Library > Add .ZIP Library... بروید.
- فایل ZIP دانلود شده را انتخاب کنید. این کار را برای هر دو فایل تکرار نمایید.
کد تست آردوینو برای DS18B20
کد زیر برای خواندن دما از سنسور DS18B20 که به پین D2 متصل است، نوشته شده و با نسخه بدون کابل نیز کاملا سازگار است.
#include
#include
// پین دیتا روی کیت شما به D2 متصل است
const int ONE_WIRE_BUS_PIN = 2;
OneWire oneWire(ONE_WIRE_BUS_PIN);
DallasTemperature sensors(&oneWire);
void setup(void) {
Serial.begin(9600);
Serial.println("DS18B20 (TO-92) Sensor Test");
sensors.begin();
}
void loop(void) {
Serial.print("Requesting temperatures...");
sensors.requestTemperatures();
Serial.println(" DONE");
float tempC = sensors.getTempCByIndex(0);
if (tempC == -127.00) {
Serial.println("Error: Failed to read from sensor! Please check the connection.");
} else {
Serial.print("Temperature is: ");
Serial.print(tempC);
Serial.println(" C");
}
delay(2000);
}