본 절은 [YL-69] 아두이노 센서를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
목차
YL-69 토양 수분 아두이노 센서 (LCD16X2 키패드 실드)
YL-69 센서란?
YL-69 ((PA-A138, YL-38) 센서는 토양의 수분을 측정하는 센서이다. 토양 수분 모듈은 주변 습도에 가장 민감하며 일반적으로 토양의 수분 함량을 감지하는 데 사용된다.
임계 값에 도달하는 모듈은 토양 수분, DO 포트 출력 높음에 설정되며, 토양 습도가 설정된 임계 값을 초과하면 모듈 D0 출력이 낮다. 디지털 출력 D0은 마이크로 컨트롤러에 직접 연결되어 토양 수분을 감지하기 위해 마이크로 컨트롤러에 의해 높고 낮은 것을 감지할 수 있다.
아날로그 출력 AO와 AD 모듈을 AD 컨버터를 통해 연결하면보다 정확한 토양 수분 값을 얻을 수 있다.
YL-69 센서 하드웨어 연결
다음과 같이 YL-69 아두이노 센서를 연결할 수 있다. 4개의 Pin VCC/GND/DO/AO가 있다. D0 는 연결 하지 않아도 된다.
YL-69 센서 소프트웨어 코딩
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다.
센서 코드는 다음과 같다.
/**
YL-69 Soil Sensor
@ 모두의 아두이노 환경 센서 (Arduino Sensors for Everyone)
https://book.naver.com/bookdb/book_detail.nhn?bid=18030644
@ author STEAMEDU123 <steamedu123@gmail.com>
*/
#include <LiquidCrystal.h>
#define MIN 60
#define MAX 65
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int inputPin = A1;
int soilMoisture;
int avrADC;
void setup() {
initSensor();
pinMode(inputPin, INPUT);
}
void loop() {
onSensor();
displayLCD();
}
void initSensor() {
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("YL-69 SOIL");
lcd.setCursor(0, 1);
lcd.print("Ready...........");
delay(1000);
lcd.clear();
}
void onSensor() {
avrADC = averageAnalogRead(inputPin);
soilMoisture = map(avrADC, 0, 1023, 100, 0);
}
int averageAnalogRead(int pinToRead)
{
byte count = 10;
float value = 0;
for (int x = 0 ; x < count ; x++) {
value += analogRead(pinToRead);
delay(20);
}
value = value / count;
return (value);
}
void displayLCD() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("AVR:");
lcd.print(avrADC);
lcd.print(" Hu:");
lcd.print(soilMoisture);
lcd.setCursor(0, 1);
if (soilMoisture > MAX) {
lcd.print("Water Enough!!");
} else if (soilMoisture < MIN) {
lcd.print("Give me Water!!");
} else {
lcd.print("Moisture OK");
}
}
건조할 때, 즉 센서에 아무런 영향이 없을 때는 1023이라는 값이 나온다. 물에 거의 담그다 싶이 해도 350 또는 이 그이하로 잘 떨어지지 않으며, 이런 문제를 해결 하기 위해 Mapping을 사용해 준다.
건조 할 때는 0%로 설정하고, 어느정도 습 할 때는 50% , 축축하다 싶으면 100% 로 나올 수 있게 조정 할 수 있다.
YL-69 센서 동작확인
하드웨어 연결, 소프트웨어 코딩이 완료되면 다음과 같이 동작 화면을 확인할 수 있다.
------------------------------------------------------
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
------------------------------------------------------
01 연결
- 아두이노와 PC 연결
- 아두이노 IDE 실행
- 메뉴 → 툴 → 보드:아두이노 UNO 확인
- 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
마무리
아두이노와 YL-69 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
모두의 아두이노 환경 센서 책
[모두의 아두이노 환경 센서] 책은 예스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) 를 사용한다.
'모두의 아두이노 센서 > 아두이노 센서 (흙)' 카테고리의 다른 글
SEN0193 아두이노 토양 수분센서 (LCD16X2 I2C) (0) | 2021.05.20 |
---|---|
SEN0193 아두이노 토양 수분센서 (0) | 2021.05.20 |
SEN0193 아두이노 토양 수분센서 (LCD16X2 키패드실드) (0) | 2021.05.20 |
SEN0114 아두이노 토양 수분센서 (LCD16X2 키패드실드) (0) | 2021.05.20 |
GROVE 아두이노 토양 수분 센서 (LCD16X2 키패드실드) (0) | 2021.05.20 |
OKY3443 (CYT1033)아두이노 토양 수분 센서 (LCD16X2 키패드실드) (0) | 2021.05.20 |
YL-69 토양 수분 아두이노 센서 (LCD1602 I2C) (0) | 2021.05.20 |
YL-69 토양 수분 아두이노 센서 (YL-38 / PP-A138 / FC-28 / HL-69 ) (0) | 2021.05.19 |
댓글