Keyestudio DS18b20 Sıcaklık Dedektör Sensörü
DS18b20 Sıcaklık Dedektör Sensörü
Açıklama
Keyestudio DS18b20 sıcaklık dedektörü probu yeni DS18B20 sıcaklık sensörü çipine adapte olur. Çipin her bir pini kısa devreyi önlemek için ısıyla daralan makaron boru ile ayrılır ve su ve nem geçirmez olarak kendi içinde kaplıdır. Direkt "One Line Bus" dijital aktarımla sistemin tutukluk önleme kabiliyetini büyük ölçüde geliştirir ve zorlu ortamlarda saha sıcaklığı ölçümü için uygunluk sağlar. Aynı zamanda, çok küçük bir sıcaklık kaybı ile, sensörün yüksek hassasiyetini sağlamak için üzere yüksek ısıl iletkenliğe sahip sızdırmaz lastik şerit ile kaplanmıştır.Ölçülen sıcaklık aralığı -55 ℃ ile + 125 ℃ arasındadır, -10 ℃ ~ + 85 ℃ aralığında, hassasiyeti ± 0,5 ℃'dir. Diğer DS18B20 sıcaklık dedektör sensörleri ile karşılaştırıldığında, bu üründe anahtarlama modülü eklenmiştir, bu yüzden test ederken G, V, S modülünün pinini bağlamanız çok kolay ve basittir. Bu anahtarlama modülü olmadan, test sırasında, sensörün sinyal ucunu (sarı çizgi) mikrodenetleyicinin Dijital portuna bağlayıp, Sinyal ucunda bir çekme direnci eklenmesi gerekir, aksi taktirde test başarısız olur.
Blog incelemesi için tıklayın.
Parametreler
- Kısa devreyi önlemek için çipin her bir pini ısıyla daraltma tüpü ile ayrılır
- Su geçirmez, neme dayanıklı ve paslanmaya karşı yüksek kaliteli paslanmaz çelik boru ile kaplanmıştır<
- Toplam uzunluk 1m<
- 3.3-5V güç sağlayıcı<
- 9 ~ 12 bit ayarlanabilir çözünürlük<
- Sıcaklık algılama aralığı: -55 ℃ ~ + 125 ℃ (kurşun tel 85 ℃'ye kadar dayanabilir)<
Bağlantı Şeması
Yardım için aşağıdaki bağlantıya başvurabilirsiniz. UNO kart ve basınç sensörü için sensörün S pinini Digital 2'ye, G pini toprağa (GND), V pini 5V'a bağlayınız.
Örnek Kod
Bağlantıyı iyi yapın, lütfen aşağıdaki kodu Arduino yazılımına yükleyin.
#includeint DS18S20_Pin = 2; //DS18S20 Signal pin on digital pin 2 //Temperature chip i/o OneWire ds(DS18S20_Pin); // on digital pin 2 void setup(void) { Serial.begin(9600); } void loop(void) { float temperature = getTemp(); Serial.println(temperature); delay(100); //to slow down the output so it is easier to read } float getTemp(){ //returns the temperature from one DS18S20 in DEG Celsius byte data[12]; byte addr[8]; if (!ds.search(addr)) { //no more sensors on chain, reset search ds.reset_search(); return -1000; } if ( OneWire::crc8( addr, 7)!= addr[7]) { Serial.println("CRC is not valid!"); return -1000; } if ( addr[0]!= 0x10 && addr[0]!= 0x28) { Serial.print("Device is not recognized"); return -1000; } ds.reset(); ds.select(addr); ds.write(0x44,1); // start conversion, with parasite power on at the end byte present = ds.reset(); ds.select(addr); ds.write(0xBE); // Read Scratchpad for (int i = 0; i < 9; i++) { // we need 9 bytes data[i] = ds.read(); } ds.reset_search(); byte MSB = data[1]; byte LSB = data[0]; float tempRead = ((MSB << 8) | LSB); //using two's compliment float TemperatureSum = tempRead / 16; return TemperatureSum; }
Örnek Sonuç
Yukarıdaki şemada gösterildiği gibi bağlayınız ve yukarıdaki kodu yükleyiniz, ardından seri monitörü açmak için tıklayınız ve baud rate 9600 olarak ayarlayınız, son olarak mevcut ortamın sıcaklık değerini göreceksiniz. Aşağıdaki şekilde gösterildiği gibi.