Membaca Sensor Suhu DS1820 Dengan Arduino

Pada posting ini dicoba untuk melakukan testing membaca sensor DS1820 dengan menggunakan board Arduino Uno.
Untuk melakukan testing, ikut petunjuk berikut:
1. Buatlah sebuah rangkaian tambahan dengan sebuah resistor sebagai berikut

Resistor

(sumber: http://www.instructables.com/id/Temperature-with-DS18B20/)
CAM00003
2. Kemudian hubungkan pin pada sensor suhu DS1820 waterproof seperti berikut:
– Kabel warna hitam ke pin GND board arduino
CAM00004
– Kabel warna merah ke pin +5v board Arduino
CAM00007
– kabel warna kuning ke pin nomer 2 board Arduino
CAM00008
3. Copy program dibawah ini dan download ke board Arduino Uno.

#include <OneWire.h>
int DS18S20_Pin = 2; //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();
Serial.println(temperature);
delay(100); //just here 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;
}

Selanjutnya perhatikan video berikut:
[youtube https://www.youtube.com/watch?v=EVJU40Po2pk?version=3&rel=1&fs=1&showsearch=0&showinfo=1&iv_load_policy=1&wmode=transparent]
sumber:
http://bildr.org/2011/07/ds18b20-arduino/
http://www.instructables.com/id/Temperature-with-DS18B20/

You may also like...

2 Responses

  1. gunslinger_ says:

    wah sangat bermanfaat sekali, saya ingin menggunakanannya dengan aquarium nih, tepatnya aquascape 😀 mampir ya ke toko arduino ane di Jual Arduino

  2. zulmad17 says:

    program nya enggak berjalan gan
    kesalahan pada #include
    mohon solusinya gan
    terima kasih

Leave a Reply

Your email address will not be published. Required fields are marked *