토양 수분 센서(YL-69)(씨마스 정보교과서): 두 판 사이의 차이

아두위키 : Arduwiki
편집 요약 없음
편집 요약 없음
 
(같은 사용자의 중간 판 4개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{#seo:|title=아두위키 : 아두이노 토양 수분 센서(YL-69)(씨마스 정보교과서) 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 토양 수분 센서(YL-69), 아두이노 작품, 아두이노 예제코드, 엔트리 아두이노, 파이썬 아두이노|description=씨마스 고교 정보교과서 내용에 따라 아두이노로 토양 수분 센서(YL-69)를 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}본 위키는 씨마스 고교 정보교과서 내 토양 수분 센서(YL-69)에 해당하는 내용을 서술합니다.
'''[[토양 수분 센서(YL-69)]]''' 문서에서 모듈에 대한 기본 정보를 참고해주세요.
※ 교과서 내용에 따라 엔트리파이선을 사용합니다.
[[아두이노 사용 방법|'''아두이노 사용 방법''']] 문서에서 엔트리파이선 활용 방법을 참고하세요.
== '''P. 246 습도 센서 활용''' ==
== '''P. 246 습도 센서 활용''' ==
본 예제는 교과서 내용에 따라 엔트리파이선을 사용합니다.
화분의 습도 센서 측정값에 따라 수분이 없으면 빨간색, 적당한 수분 상태이면 초록색, 수분이 너무 많으면 노란색이 나타나는 프로그램
 
[[아두이노 사용 방법]] 문서에서 엔트리파이선을 활용 방법을 참고하세요.


=== 연결 ===
=== 연결 ===
10번째 줄: 16번째 줄:
예제의 조건에 따라 200, 700을 기준으로 세 구간으로 나누어 RGB LED가 빨강, 초록, 노란색으로 켜집니다.
예제의 조건에 따라 200, 700을 기준으로 세 구간으로 나누어 RGB LED가 빨강, 초록, 노란색으로 켜집니다.


YL-69 센서 값은 평상시(건조한 상황) 1023으로 유지됩니다. 물티슈 같은 젖은 물건으로 감싸고 힘을 조금씩 더 세게 주면서 눌러주면 값이 떨어집니다.<syntaxhighlight lang="python3" line="1">
YL-69 센서 값은 평상시(건조한 상황) 1023으로 유지됩니다. 물티슈 같은 젖은 물건으로 감싸고 힘을 조금씩 더 세게 주면서 눌러주면 값이 떨어집니다.
 
엔트리에 elif문에 정확하게 대응되는 블록이 없기 때문에 엔트리파이선에서도 활용이 어렵습니다.
 
이에 따라 센서값 구간에 대한 부분 코드를 if문으로 작성합니다.<syntaxhighlight lang="python3" line="1">
import Entry
import Entry
import Arduino
import Arduino

2024년 2월 1일 (목) 15:17 기준 최신판

본 위키는 씨마스 고교 정보교과서 내 토양 수분 센서(YL-69)에 해당하는 내용을 서술합니다.

토양 수분 센서(YL-69) 문서에서 모듈에 대한 기본 정보를 참고해주세요.

※ 교과서 내용에 따라 엔트리파이선을 사용합니다.

아두이노 사용 방법 문서에서 엔트리파이선 활용 방법을 참고하세요.

P. 246 습도 센서 활용

화분의 습도 센서 측정값에 따라 수분이 없으면 빨간색, 적당한 수분 상태이면 초록색, 수분이 너무 많으면 노란색이 나타나는 프로그램

연결

예제 코드

예제의 조건에 따라 200, 700을 기준으로 세 구간으로 나누어 RGB LED가 빨강, 초록, 노란색으로 켜집니다.

YL-69 센서 값은 평상시(건조한 상황) 1023으로 유지됩니다. 물티슈 같은 젖은 물건으로 감싸고 힘을 조금씩 더 세게 주면서 눌러주면 값이 떨어집니다.

엔트리에 elif문에 정확하게 대응되는 블록이 없기 때문에 엔트리파이선에서도 활용이 어렵습니다.

이에 따라 센서값 구간에 대한 부분 코드를 if문으로 작성합니다.

import Entry
import Arduino

def when_start():
    while True:
        var = Arduino.analogRead("A0")
        if var < 200:
            Arduino.analogWrite(11, 255)
			Arduino.analogWrite(10, 0)
			Arduino.analogWrite(9, 0)
        if var >= 200 and var < 700:
            Arduino.analogWrite(11, 0)
			Arduino.analogWrite(10, 255)
			Arduino.analogWrite(9, 0)
        if var >= 700:
            Arduino.analogWrite(11, 255)
			Arduino.analogWrite(10, 255)
			Arduino.analogWrite(9, 0)
		Entry.wait_for_sec(0.05)