일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 철사방
- 가막샘
- 수산리 곰솔
- DHT22
- 라즈베리파이
- LM1117
- 구시물
- 온습도센서
- 내도동
- 제주문화유산답사회
- 작은항해자
- DC5V
- wind speed
- 하귀리 해신당
- 초종용
- 암맥군
- wind direction
- 동자석
- 돌코냉이
- weather station
- 온습도 센서
- LM2567
- lm7805
- AM2302
- rain fall
- 마이못
- 제주철학사랑방
- sht10
- 포구
- 장수물
- Today
- Total
작은항해자의 항해
온도센서 DS18B20 본문
DS18B20 온도 센서
DS18B20은 한개의 핀으로 온도값을 읽어들일수 있는 센서.
4.7K의 저항이 필요.
기본 반도체형과 방수케이블형 두 종류가 판매되고 있다.
측정온도 : -55°C to +125°C.
정확도 : ±0.5°C
사용전압 : 3.0V ~ 5.5V
1-와이어 통신을 사용하며 1:n의 마스터 - 슬레이브 구조를 가지며, 각각의 슬레이브 장치를 구별하기 위해 소프트웨어 주소를 사용한다.
1-와이어 통신을 사용하기 위해서는 "OneWire" 라이브러리를 설치하여야 한다.
OneWire Livrary : OneWire-master.zip
Dallas Library 지원 디바이스는 DS18B20 을 지원한다. OneWire단독 사용보다 쉽게 프로그래밍이 가능하다.
Dallas temperature Control Arduino Library : Arduino-Temperature-Control-Library-master.zip
* 참고동영상 : 김규호 박사의 IOT길라잡이 강의 제 12강 DS18B20 온도센서 실전 프로그램(심화)
Source Code - OneWire Library 사용
#include <OneWire.h> //라이브러리 [출처] DS18B20 디지털 온도계 사용하기 [아두이노 강좌]|작성자 오픈랩 |
Source Code - Dalla Library 사용
01. #include <OneWire.h> 02. #include <DallasTemperature.h> 03. 04. // Data wire is plugged into pin 2 on the Arduino 05. #define ONE_WIRE_BUS 2 06. 07. // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs) 08. OneWire oneWire(ONE_WIRE_BUS); 09. 10. // Pass our oneWire reference to Dallas Temperature. 11. DallasTemperature sensors(&oneWire); 12. 13. void setup( void ) 14. { 15. // start serial port 16. Serial.begin(9600); 17. Serial.println( "Dallas Temperature IC Control Library Demo" ); 18. 19. // Start up the library 20. sensors.begin(); // IC Default 9 bit. If you have troubles consider upping it 12. Ups the delay giving the IC more time to process the temperature measurement 21. } 22. 23. 24. void loop( void ) 25. { 26. // call sensors.requestTemperatures() to issue a global temperature 27. // request to all devices on the bus 28. Serial.print( "Requesting temperatures..." ); 29. sensors.requestTemperatures(); // Send the command to get temperatures 30. Serial.println( "DONE" ); 31. 32. Serial.print( "Temperature for Device 1 is: " ); 33. Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"? You can have more than one IC on the same bus. 0 refers to the first IC on the wire 34. 35. } |
[다중연결을 위한 그림]
Doc
- DS18B20 Datasheet : DS18B20.pdf
- Waterproof DS18B20 Digital Temperature Sensor : DFRobot DFR0198.zip
- Dallas Temperature Control Library Doc
- Adafruits Raspberry Pi DS18B20 : adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing.pdf
1-Wire Information
Wikipedia explains 1-wire protocol
Tom Boyd explains 1-wire protocol
Dallas Temperature Control Library
Arduino's OneWire page (warning: has buggy version)
Weather Toys - community using 1-wire devices.
'IT 이야기 > IOT 센서' 카테고리의 다른 글
NDVI 카메라 (0) | 2019.01.15 |
---|---|
SHT10 토양 온습도 센서 (0) | 2019.01.14 |
AM2305 온습도 센서 (0) | 2019.01.14 |
Weather Station (0) | 2019.01.11 |
AM2302/DHT22 디지털 온습도 센서 (0) | 2019.01.11 |