Temperature Sensor DS18B20
- Was RM8.00
-
RM6.50
- Product Code: DS18B20
- Availability: In Stock
DS18B20 temperature sensor probe chip with high-quality stainless steel anti-rust waterproof probe housing. Ideal for getting soil temperature, Arduino and other development systems.
Features:
Now, download and install this library. Then upload the following code:
#include <OneWire.h> int DS18S20_Pin = 10; //DS18S20 Signal pin on digital 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(); //will take about 750ms to run Serial.println(temperature); } 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 -2000; } if ( addr[0] != 0x10 && addr[0] != 0x28) { Serial.print("Device is not recognized"); return -3000; } ds.reset(); ds.select(addr); ds.write(0x44,1); // start conversion, with parasite power on at the end delay(750); // Wait for temperature conversion to complete 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; }
The above code acquires the temperature in Celsius and display it over the serial connection. The Arduino checks if the sensor is connected. Then it sends the sensor address and reads the data.
Open the serial monitor and start reading the temperature!
Also, you can convert Celsius to Fahrenheit. Have fun!
References:
http://bildr.org/2011/07/ds18b20-arduino/
http://www.arduino.cc/playground/Learning/OneWire
https://rik94566.wordpress.com/tag/miles-burton/
Datasheet:
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Temp/DS18B20.pdf