본 절은 [DS18B20] 아두이노 센서(LCD16X2)를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
목차
DS18B20 센서 동작확인 (LCD1602 I2C)
DS18B20 센서란?
DS18B20 센서는 다음과 같다. 스테인리스 스틸 재질로 된 방수 온도센서이다. 측정 온도는 -55~125도까지 측정이 가능하다. DS18B20은 한 개의 1개의 시리얼 데이터라 선으로 송수신을 할 수 있어 연결이 편리하다.
LCD 1602 I2C
LCD1602 I2C 는 알리익스프레스, 네이버 쇼핑몰, 아마존 등에서 센서를 구입할 수 있다
4핀(GND/VCC/SDA/SCL) 으로 구성되어 있다.
- LCD 모듈 뒷편에 I2C 변환 모듈이 납땜되어 부착되어 있다. 4개의 핀으로 간편하게 제어가 가능하다
백라이트(Backlight) 가 제공된다. - 가변 저항으로 백라이트 밝기를 조정할 수 있다.
- 16칸 2라인으로 구성된다.
하드웨어 연결
다음과 같이 아두이노 센서를 연결할 수 있다. 4.7킬로옴을 DQ라인에 연결한다.
소프트웨어 코딩
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다.
다음은 코드의 전체적인 구조를 나타낸다.
센서 코드는 다음과 같다.
/**
* DS18B20 - Temperature sensor
*
* @ 2018.07.10
* @ author STEAMEDU123 <steamedu123@gmail.com>
*
* ☞ Homepage http://www.steamedu123.com/
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
LiquidCrystal_I2C lcd(0x27, 16, 2);
//LiquidCrystal_I2C lcd(0x3F, 16, 2);
OneWire ourWire(ONE_WIRE_BUS);
DallasTemperature sensors(&ourWire);
int tempSensor;
void setup()
{
initLCD();
Serial.begin(9600);
sensors.begin();
}
void loop()
{
sensors.requestTemperatures();
tempSensor = sensors.getTempCByIndex(0);
displayLCD();
delay(1000);
}
void initLCD() {
lcd.init();
lcd.backlight();
}
void displayLCD() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp DS18B20");
lcd.setCursor(0, 1);
lcd.print(tempSensor);
lcd.print(" C");
}
센서 동작확인
하드웨어 연결, 소프트웨어 코딩이 완료되면 다음과 같이 동작 화면을 확인할 수 있다.
------------------------------------------------------
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
------------------------------------------------------
01 연결
- 아두이노와 PC 연결
- 아두이노 IDE 실행
- 메뉴 → 툴 → 보드:아두이노 UNO 확인
- 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
만약 다음과 같이 컴파일시 LiquidCrystal_I2C.h 헤더의 에러가 발생하면 스케치> 라이브러리 포함하기> 라이브러리 관리에서 설치할 수 있다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치> 업로드(CTRL+U)를 선택해서 컴파일 파일을 업로드한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
[동작영상]
마무리
본 절은 [DS18B20] 아두이노 센서(LCD16X2)를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명하였다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아보았다. 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
모두의 아두이노 환경 센서 책
[모두의 아두이노 환경 센서] 책은 예스24, 인터넷 교보문고, 알라딘, 인터파크도서, 영풍문고, 반디앤루니스 , 도서11번가 등에서 구입할 수 있다. 이 책에서는 PMS7003, GP2Y1010AU0F, PPD42NS, SDS011 미세먼지 센서, DHT22 온습도 센서, MH-Z19B 이산화탄소 센서, ZE08-CH2O 포름알데히드 센서, CCS811 총휘발성유기화합물 TVOC, GDK101 방사선(감마선) 센서, MQ-131 오존(O3) 센서, MQ-7 일산화탄소, MICS-4514 이산화질소 센서, MICS-6814 암모니아 센서, DGS-SO2 아황산가스(SO2) 센서, BME280 기압 센서, GUVA-S12SD 자외선(UV) 센서, MD0550 기류 센서, QS-FS01 풍속 센서(Wind speed) 를 사용한다.
'모두의 아두이노 센서 > 아두이노 센서 (물)' 카테고리의 다른 글
SEN0244 TDS 아두이노 센서 (0) | 2021.05.15 |
---|---|
PH-4502C pH 아두이노 센서 (LCD16X2 + RGB + DS18B20) (0) | 2021.05.14 |
PH-4502C pH 아두이노 센서 (LCD16X2 키패드실드) (0) | 2021.05.13 |
PH-4502C pH 아두이노 센서 (0) | 2021.05.13 |
DS18B20 센서 동작확인 (LCD16X2 키패드실드) (0) | 2021.05.04 |
MH-RD 빗물 감지 아두이노 센서(LCD16X2 키패드실드) (0) | 2021.05.04 |
T1529P 수위감지 아두이노 센서(LCD16X2 키패드실드) (0) | 2021.05.04 |
SKU DFR0300 전기전도도 아두이노 센서(LCD16X2 키패드실드) (0) | 2021.05.04 |
댓글