DS18B20 디지털 온도계 Digital Thermometer
판매가격 : 1,540원 (부가세 포함)
상품코드 : [3127]MIZ-DS18B2-ZAS
배송일 : 당일발송
제조사 : OEM
남은수량 : 20개 이상
구매수량 :
총 금액 :
추가&대량구매 요청 053-588-4080

  • 상품상세
  • 관련상품
  • 배송/교환/반품 안내
  • 상품리뷰

1개의 핀으로 온도값을 읽어들일 수 있는 센서입니다.


부가적으로 풀업저항이 필요합니다.


디지털 형식으로 신호를 출력하기에 라즈베리파이등에서도 쉽게 사용이 가능합니다.



대체 상품 : 반도체 온도센서(TMP36 - Temperature Sensor) 또는 KEV-6601 을 검색해주세요.


데이터시트http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf





소스코드

#include

int SensorPin = 13; //Our sensor is connected to digital pin 10


//Initiate OneWire communication
OneWire ds(SensorPin);

void setup(void) {
//Initiate serial communication with our computer
  Serial.begin(9600);
  digitalWrite(8,HIGH);
}

void loop(void) {

float T = readT(); // call function to read from sensor
Serial.print("Temperature is: "); // print out results to us
Serial.print(T);
Serial.println(" deg.C"); // print out results to us
delay(750);

}

float readT(){
//returns the temperature from our sensor

byte data[12];
byte addr[8];

if ( !ds.search(addr)) {
ds.reset_search();
return -300; // if there is no sensor on OneWire Bus, return -300 value
}

ds.reset();
ds.select(addr);
ds.write(0x44,1); // tell sensor to start converting
ds.reset();
ds.select(addr);
ds.write(0xBE); // tell sensor to start sending data

for (int i = 0; i < 9; i++) { // we receive data in this loop
data[i] = ds.read();
}

ds.reset_search();

byte MSB = data[1];
byte LSB = data[0];

float raw = ((MSB << 8) | LSB); // move MSB left for 8 spaces, join that with LSB
float realTempC = raw / 16; // move decimal point left for 4 spaces, result our temperature
return realTempC;

}
메카리워즈






견적요청
구매대행
퀵/방문수령
후불결제
기술문의