본문 바로가기
모두의 아두이노 센서/아두이노 센서 (물)

DS18B20 센서 동작확인 (LCD16X2 키패드실드)

by 로니킴 2021. 5. 4.


 

+더 알아보기

 

본 절은 [DS18B20] 아두이노 센서(LCD16X2 키패드 실드)를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 간단한 코딩으로 센서를 쉽게 실습할 수 있다. 

 

 

 

 

 


DS18B20 센서 동작확인 (LCD16X2)

 

DS18B20-센서-동작확인-(LCD16X2)
DS18B20-센서-동작확인-(LCD16X2)

 

 

 

 

 




DS18B20 센서란?

DS18B20 센서는 다음과 같다. 스테인리스 스틸 재질로 된 방수 온도센서이다.  측정 온도는 -55~125도까지 측정이 가능하다. DS18B20은 한 개의 1개의 시리얼 데이터라 선으로 송수신을 할 수 있어 연결이 편리하다.  

 

DS18B20-LCD16X2-센서화면
DS18B20-LCD16X2-센서화면

 

 

 


 

LCD 1602 Keypad shield 

LCD1602 keypad sheild 는 알리익스프레스, 네이버 쇼핑몰, 아마존 등에서 센서를 구입할 수 있다

 

LCD-1602-Keypad-shield 
LCD-1602-Keypad-shield 

 

특성
운영 전압: 4.5-5.5V
작동 현재: 2.0mA (5.0V)
모듈 최고의 작동 전압: 5.0V

 

 

핀배열

Pin

Function

Analog 0

Button (select, up, right, down and left)

Digital 4

DB4

Digital 5

DB5

Digital 6

DB6

Digital 7

DB7

Digital 8

RS (Data or Signal Display Selection)

Digital 9

Enable

Digital 10

Backlit Control

 

LCDKeypad Shield V1.0 SCH.pdf
0.05MB
HD44780.pdf
0.31MB
DFR0009SCH01.pdf
0.05MB


 



하드웨어 연결

다음과 같이 아두이노 센서를 연결할 수 있다. 4.7킬로옴을 DQ라인에 연결한다. 

 

DS18B20-LCD16X2-센서-연결화면
DS18B20-LCD16X2-센서-연결화면

 


 

소프트웨어 코딩

하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다. 

다음은 코드의 전체적인 구조를 나타낸다. 

LCD키패드쉴드-아두이노-DS18B20-소프트웨어-구성도
LCD키패드쉴드-아두이노-DS18B20-소프트웨어-구성도

 

 

센서 코드는 다음과 같다. 

/**
   DS18B20 - Temperature sensor
   311-DS18B20_LCD_KEYPAD.ino
   @ author STEAMEDU123 <steamedu123@gmail.com>
   ☞ Homepage    http://www.steamedu123.com/
*/


#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 3

byte customChar[] = {
  B11000,
  B11000,
  B00111,
  B01000,
  B01000,
  B01000,
  B00111,
  B00000
};

OneWire ourWire(ONE_WIRE_BUS);
DallasTemperature sensors(&ourWire);

int tempSensor;

void setup()
{
  initLCD();
  sensors.begin();
}

void loop()
{
  sensors.requestTemperatures();
  tempSensor = sensors.getTempCByIndex(0);
  displayLCD();
  delay(1000);
}

void initLCD() {
  lcd.begin(16, 2);
  lcd.createChar(0, customChar);

}

void displayLCD() {
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("DS18B20 Sensor");
  lcd.setCursor(0, 1);
  lcd.print("Temp: ");
  lcd.print(tempSensor);
  lcd.write(byte(0));

}

 

 

 


 



센서 동작확인

하드웨어 연결, 소프트웨어 코딩이 완료되면 다음과 같이 동작 화면을 확인할 수 있다. 

 

------------------------------------------------------ 
개발환경 : WINDOWS 10 
아두이노 IDE : 1.8.13 
------------------------------------------------------ 
01 연결
 - 아두이노와 PC 연결 
 - 아두이노 IDE 실행 
 - 메뉴 → 툴 → 보드:아두이노 UNO 확인 
  - 메뉴 → 스케치 → 확인/컴파일 

02 컴파일 확인 

스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.

 

DS18B20-LCD16X2-센서-컴파일-화면
DS18B20-LCD16X2-센서-컴파일-화면

 

만약 다음과 같이 컴파일시 DallasTemperature.h 헤더의 에러가 발생하면 스케치> 라이브러리 포함하기> 라이브러리 관리에서 설치할 수 있다. 

 

DS18B20-LCD16X2-센서-Dallas-Temperature-라이브러리-에러및-설치-화면
DS18B20-LCD16X2-센서-Dallas-Temperature-라이브러리-에러및-설치-화면


03 아두이노 우노 업로드 

컴파일이 이상없이 완료되면 스케치> 업로드(CTRL+U)를 선택해서 컴파일 파일을 업로드한다. 


04 동작 확인

다음과 같이 동작을 확인할 수 있다. 

 

 

 

[동작영상]

 

DS18B20-아두이노-센서-동작영상-LCD키패드쉴드

 

 

 

 

 


 

마무리

본 절은 [DS18 B20] 아두이노 센서(LCD16X2 키패드 실드)를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명하였다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아보았다. 간단한 코딩으로 센서를 쉽게 실습할 수 있다. 

 

 

 

 

 

 

 

 

 

 

 




모두의 아두이노 환경 센서

[모두의 아두이노 환경 센서] 책은 예스24, 인터넷 교보문고, 알라딘, 영풍문고, 반디앤루니스 등에서 구입할 수 있다. 이 책에서는 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) 를 사용한다. 

 

 

모두의 아두이노 환경 센서

아두이노와 센서로 내 건강을 지킬 수 있다!다양한 환경 센서를 실생활 프로젝트에 응용해보자!시중에 판매되고 있는 간이측정기도 센서로 값을 측정합니다. 똑같은 센서를 아두이노에 연결하

book.naver.com