본 절은 [SEN0193] 아두이노 센서를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
목차
SEN0193 (Capacitive Soil Moisture Sensor) 아두이노 토양 수분센서
SEN0193 (Capacitive Soil Moisture Sensor) 센서란?
SEN0193 센서는 수분을 감지할 수 있는 정전식 수분측정 센서이다.
SEN0193 센서 하드웨어 연결
다음과 같이 SEN0193 아두이노 센서를 연결할 수 있다.
SEN0193 센서 소프트웨어 코딩
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다.
센서 코드는 다음과 같다.
/**
SEN0193 Soil Hygrometer Detection Module
@ 모두의 아두이노 환경 센서 (Arduino Sensors for Everyone)
https://book.naver.com/bookdb/book_detail.nhn?bid=18030644
@ author STEAMEDU123 <steamedu123@gmail.com>
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//LiquidCrystal_I2C lcd(0x27, 16, 2);
LiquidCrystal_I2C lcd(0x3F, 16, 2);
int pinA0 = 0; // SEL0193
int pinA0_0 = 0; // SEL0193 convert to %
int pinA1 = 0; // YL69 raw data
int pinA1_1 = 0; // YL69 convert to %
void setup() {
initLCD();
Serial.begin(9600);
}
void loop() {
setSEN0193_SoilMoisture();
setYL69_SoilMoisture();
delay(1000);
}
void setSEN0193_SoilMoisture() {
int dry_value = 700; //670;
int wet_value = 200;
pinA0 = analogRead(A0);
pinA0_0 = map(pinA0, wet_value, dry_value, 100, 0);
if (pinA0_0 < 0) pinA0_0 = 0;
constrain(pinA0_0, 0, 100);
displayLCD_SEN1093();
}
void setYL69_SoilMoisture() {
int dry_value = 900; //850;
int wet_value = 0;
pinA1 = analogRead(A1);
pinA1_1 = map(pinA1, wet_value, dry_value, 100, 0);
if (pinA1_1 < 0) pinA1_1 = 0;
if (pinA1_1 > dry_value) pinA1_1 = 100;
constrain(pinA0_0, 0, 100);
displayLCD_YL69();
}
void initLCD() {
lcd.init();
lcd.backlight();
}
void displayLCD_SEN1093() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("1093:");
lcd.print(pinA0);
lcd.print(" ");
lcd.print(pinA0_0);
lcd.print("%");
}
void displayLCD_YL69() {
lcd.setCursor(0, 1);
lcd.print("YL69:");
lcd.print(pinA1);
lcd.print(" ");
lcd.print(pinA1_1);
lcd.print("%");
}
최종 출력 값은 프로브 삽입 깊이와 주변에 포장 된 토양이 얼마나 단단한 지에 영향을 받는다.
SEN0193 센서 동작확인
하드웨어 연결, 소프트웨어 코딩이 완료되면 다음과 같이 동작 화면을 확인할 수 있다.
------------------------------------------------------
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
------------------------------------------------------
01 연결
- 아두이노와 PC 연결
- 아두이노 IDE 실행
- 메뉴 → 툴 → 보드:아두이노 UNO 확인
- 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
마무리
아두이노와 SEN0193 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
모두의 아두이노 환경 센서 책
[모두의 아두이노 환경 센서] 책은 예스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) 를 사용한다.
'모두의 아두이노 센서 > 아두이노 센서 (흙)' 카테고리의 다른 글
BNC-MEC10 토양 전도도 센서 (LCD16X2 키패드실드) (0) | 2021.05.21 |
---|---|
SHT10 아두이노 토양 온습도 센서 (0) | 2021.05.21 |
SHT10 아두이노 토양 온습도 센서 (LCD16X2 키패드실드) (0) | 2021.05.21 |
HD-38 아두이노 토양 수분센서 (LCD16X2 키패드실드) (0) | 2021.05.21 |
SEN0193 아두이노 토양 수분센서 (LCD16X2 I2C) (0) | 2021.05.20 |
SEN0193 아두이노 토양 수분센서 (0) | 2021.05.20 |
SEN0193 아두이노 토양 수분센서 (LCD16X2 키패드실드) (0) | 2021.05.20 |
SEN0114 아두이노 토양 수분센서 (LCD16X2 키패드실드) (0) | 2021.05.20 |
댓글