토양 수분 센서(YL-69): 두 판 사이의 차이

아두위키 : Arduwiki
편집 요약 없음
잔글편집 요약 없음
1번째 줄: 1번째 줄:
{{#seo:|title=아두위키 : 아두이노 토양 수분 센서(YL-69) 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 토양 수분 센서(YL-69), 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 토양 수분 센서(YL-69)를 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}추가 예정
{{#seo:|title=아두위키 : 아두이노 토양 수분 센서(YL-69) 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 토양 수분 센서(YL-69), 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 토양 수분 센서(YL-69)를 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}[[파일:토양수분센서사진.jpg|632x632픽셀]]
 
== '''개요''' ==
토양 수분 센서(YL-69)는 토양의 수분 함량을 측정하는 데 사용되는 센서입니다. 농업, 원예, 환경 모니터링 등 다양한 분야에서 활용되며, 작물의 건강과 생산성을 유지하기 위해 중요한 역할을 합니다. 아두이노와 같은 마이크로컨트롤러와 함께 사용되어 실시간으로 수분 수치를 모니터링할 수 있습니다.
 
 
==== 동작 원리 ====
YL-69 센서는 두 개의 전극을 사용하여 토양의 전기 전도도를 측정합니다. 토양의 수분 함량이 높을수록 저항 값이 낮아지게 되고, 이에 따라 전기 전도도가 증가하게 되며 이 값을 아날로그 신호로 변환하여 마이크로컨트롤러에 전달합니다.
 
 
== '''사양''' ==
{| class="wikitable"
!항목
!설명
|-
|'''민감도 조정'''
|PCB에 부착된 가변저항을 돌려 민감도 조정 설정 가능
|-
|'''작동 전압'''
|3.3V - 5V
|-
|'''출력 모드'''
|디지털 출력, 아날로그 출력을 모두 지원
'''디지털 출력''' : 임계값 초과시 LOW, 그 외에는 HIGH를 출력
'''아날로그 출력''' : 0 ~ 1023 사이의 값을 출력
|-
|'''설치 용이성'''
|고정 볼트 구멍이 있어 설치가 용이함.
|-
|'''크기'''
|PCB : 3cm x 1.6cm
탐침부 : 약 2cm x 6cm
|-
|'''전원 및 출력 표시'''
|전원 표시등(빨간색) 및 디지털 스위치 출력 표시등(녹색)
|-
|'''칩'''
|LM393
|}
 
== '''활용 예제''' ==
 
=== 1. 토양 수분 센서 출력값을 시리얼 모니터로 확인하기 ===
시리얼 모니터를 통해 아날로그 출력값을 확인합니다.
 
 
==== 1-1. 회로 구성 ====
YL-69 토양 수분 센서는 디지털 출력과 아날로그 출력을 모두 지원하기 때문에 VCC, GND, DO, AO 총 4개의 핀으로 구성되어있습니다.
 
회로도의 SIG 부분에서 디지털 출력이 필요하다면 DO, 아날로그 출력이 필요하다면 AO를 아두이노와 연결하시면 됩니다.
 
본 예제에서는 아날로그 출력이 필요하기 때문에 AO 핀을 아두이노의 A0 핀에 연결했습니다.
{| class="wikitable"
!YL-69 센서 핀
!아두이노 핀
|-
|VCC
|5V
|-
|GND
|GND
|-
|AO
|A0
|}
[[파일:토양수분센서YL69예제1회로.jpg|2546x2546픽셀]]
 
==== 1-2. 아두이노 코드 ====
<syntaxhighlight lang="c++" line="1">
const int sensorPin = A0;
 
void setup() {
    Serial.begin(9600); // 시리얼 통신 시작
}
 
void loop() {
    int sensorValue = analogRead(sensorPin); // 센서 값 읽기
    Serial.print("토양 수분 수치: ");
    Serial.println(sensorValue); // 센서 값 출력
    delay(1000); // 1초 대기
}
</syntaxhighlight>
 
 
==== 1-3. 실행 결과 ====
[[파일:토양수분센서yl69예제1실행결과.jpg|601x601픽셀]]
 
 
=== 2. 토양 수분 센서 값과 수분 공급 필요 여부를 LCD에 출력하기 ===
토양 수분 센서의 아날로그 출력값을 LCD에 표시하고, 이 값이 얼마인지에 따라 수분 공급이 필요한지 여부 또한 LCD에 함께 출력하는 예제입니다.
 
LCD에 대한 자세한 정보는 [[LCD(Liquid Crystal Display)]] 문서를 참고하세요.
 
 
==== 2-1. 회로 구성 ====
{| class="wikitable"
!YL-69 센서 핀
!아두이노 핀
!
!LCD 핀
!아두이노 핀
|-
|VCC
|5V
| rowspan="4" |
|VCC
|5V
|-
|GND
|GND
|GND
|GND
|-
|AO
|A0
|SCA
|A4(우노) / 20(메가)
|-
|
|
|SCL
|A5(우노) / 21(메가)
|}
[[파일:토양수분센서yl69예제2회로.jpg|884x884픽셀]]
 
==== 2-2. 아두이노 코드 ====
<syntaxhighlight lang="c++" line="1">
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
 
// I2C LCD 초기화: 주소 0x27, 열 16, 행 2
LiquidCrystal_I2C lcd(0x27, 16, 2);
 
// YL-69 센서 핀 정의
const int sensorPin = A0;
 
void setup() {
    lcd.init();
    lcd.clear();
    lcd.backlight(); // 백라이트 켜기
    Serial.begin(9600); // 시리얼 통신 시작
}
 
void loop() {
    int sensorValue = analogRead(sensorPin); // 센서 값 읽기
    Serial.print("토양 수분 수치: ");
    Serial.println(sensorValue); // 시리얼 모니터에 출력
 
    // LCD에 값 표시
    lcd.clear(); // LCD 화면 지우기
    lcd.setCursor(0, 0); // 첫 줄 첫 번째 열로 커서 이동
    lcd.print("water : ");
    lcd.print(sensorValue); // 센서 값 출력
    lcd.setCursor(0, 1); // 두 번째 줄 첫 번째 열로 커서 이동
    if (sensorValue > 500)
      lcd.print("Please Water");
    else
      lcd.print("Enough Water");
 
    delay(1000); // 1초 대기
}
</syntaxhighlight>
 
 
==== 2-3. 실행 결과 ====
수분이 없을 때는 LCD에 Please Water가 표시되는 모습입니다.
 
[[파일:토양수분센서yl69예제2실행결과수분X.jpg|869x869픽셀]]
 
 
 
반면 수분이 있을 때는 Enough Water가 표시되는 모습입니다.
 
[[파일:토양수분센서yl69예제2실행결과수분O.jpg|870x870픽셀]]
 
 
=== 3. 토양 수분 센서와 LCD, LED 함께 활용하기 ===
2번 예제에 LED를 추가하여 수분이 충분하면 파란 불이 들어오지만 수분이 없으면 LED가 꺼져 수분이 필요함을 알리는 예제입니다.
 
 
==== 3-1. 회로 구성 ====

2024년 8월 2일 (금) 14:36 판

개요

토양 수분 센서(YL-69)는 토양의 수분 함량을 측정하는 데 사용되는 센서입니다. 농업, 원예, 환경 모니터링 등 다양한 분야에서 활용되며, 작물의 건강과 생산성을 유지하기 위해 중요한 역할을 합니다. 아두이노와 같은 마이크로컨트롤러와 함께 사용되어 실시간으로 수분 수치를 모니터링할 수 있습니다.


동작 원리

YL-69 센서는 두 개의 전극을 사용하여 토양의 전기 전도도를 측정합니다. 토양의 수분 함량이 높을수록 저항 값이 낮아지게 되고, 이에 따라 전기 전도도가 증가하게 되며 이 값을 아날로그 신호로 변환하여 마이크로컨트롤러에 전달합니다.


사양

항목 설명
민감도 조정 PCB에 부착된 가변저항을 돌려 민감도 조정 설정 가능
작동 전압 3.3V - 5V
출력 모드 디지털 출력, 아날로그 출력을 모두 지원

디지털 출력 : 임계값 초과시 LOW, 그 외에는 HIGH를 출력 아날로그 출력 : 0 ~ 1023 사이의 값을 출력

설치 용이성 고정 볼트 구멍이 있어 설치가 용이함.
크기 PCB : 3cm x 1.6cm

탐침부 : 약 2cm x 6cm

전원 및 출력 표시 전원 표시등(빨간색) 및 디지털 스위치 출력 표시등(녹색)
LM393

활용 예제

1. 토양 수분 센서 출력값을 시리얼 모니터로 확인하기

시리얼 모니터를 통해 아날로그 출력값을 확인합니다.


1-1. 회로 구성

YL-69 토양 수분 센서는 디지털 출력과 아날로그 출력을 모두 지원하기 때문에 VCC, GND, DO, AO 총 4개의 핀으로 구성되어있습니다.

회로도의 SIG 부분에서 디지털 출력이 필요하다면 DO, 아날로그 출력이 필요하다면 AO를 아두이노와 연결하시면 됩니다.

본 예제에서는 아날로그 출력이 필요하기 때문에 AO 핀을 아두이노의 A0 핀에 연결했습니다.

YL-69 센서 핀 아두이노 핀
VCC 5V
GND GND
AO A0

1-2. 아두이노 코드

const int sensorPin = A0;

void setup() {
    Serial.begin(9600); // 시리얼 통신 시작
}

void loop() {
    int sensorValue = analogRead(sensorPin); // 센서 값 읽기
    Serial.print("토양 수분 수치: "); 
    Serial.println(sensorValue); // 센서 값 출력
    delay(1000); // 1초 대기
}


1-3. 실행 결과


2. 토양 수분 센서 값과 수분 공급 필요 여부를 LCD에 출력하기

토양 수분 센서의 아날로그 출력값을 LCD에 표시하고, 이 값이 얼마인지에 따라 수분 공급이 필요한지 여부 또한 LCD에 함께 출력하는 예제입니다.

LCD에 대한 자세한 정보는 LCD(Liquid Crystal Display) 문서를 참고하세요.


2-1. 회로 구성

YL-69 센서 핀 아두이노 핀 LCD 핀 아두이노 핀
VCC 5V VCC 5V
GND GND GND GND
AO A0 SCA A4(우노) / 20(메가)
SCL A5(우노) / 21(메가)

2-2. 아두이노 코드

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// I2C LCD 초기화: 주소 0x27, 열 16, 행 2
LiquidCrystal_I2C lcd(0x27, 16, 2);

// YL-69 센서 핀 정의
const int sensorPin = A0;

void setup() {
    lcd.init();
    lcd.clear();
    lcd.backlight(); // 백라이트 켜기
    Serial.begin(9600); // 시리얼 통신 시작
}

void loop() {
    int sensorValue = analogRead(sensorPin); // 센서 값 읽기
    Serial.print("토양 수분 수치: ");
    Serial.println(sensorValue); // 시리얼 모니터에 출력

    // LCD에 값 표시
    lcd.clear(); // LCD 화면 지우기
    lcd.setCursor(0, 0); // 첫 줄 첫 번째 열로 커서 이동
    lcd.print("water : ");
    lcd.print(sensorValue); // 센서 값 출력
    lcd.setCursor(0, 1); // 두 번째 줄 첫 번째 열로 커서 이동
    if (sensorValue > 500)
      lcd.print("Please Water");
    else
      lcd.print("Enough Water");

    delay(1000); // 1초 대기
}


2-3. 실행 결과

수분이 없을 때는 LCD에 Please Water가 표시되는 모습입니다.


반면 수분이 있을 때는 Enough Water가 표시되는 모습입니다.


3. 토양 수분 센서와 LCD, LED 함께 활용하기

2번 예제에 LED를 추가하여 수분이 충분하면 파란 불이 들어오지만 수분이 없으면 LED가 꺼져 수분이 필요함을 알리는 예제입니다.


3-1. 회로 구성