초음파 센서(HC-SR04)(씨마스 정보교과서)
본 위키는 씨마스 고교 정보교과서 내 초음파 센서에 해당하는 내용을 서술합니다.
초음파 센서(HC-SR04) 문서에서 모듈에 대한 기본 정보를 참고해주세요.
※ 교과서 내용에 따라 엔트리파이선을 사용합니다.
아두이노 사용 방법 문서에서 엔트리파이선 활용 방법을 참고하세요.
P. 215 스스로 해결하기③ (초음파 센서, 부저, LED)
초음파 센서를 활용하여 물체를 감지하면 LED에 불이 켜지고, 스피커로 소리를 내는 프로그램
연결
초음파 센서의 Trig 핀은 아두이노 8번 핀, Echo 핀은 아두이노 9번 핀에 연결했습니다.
예제 코드
초음파 센서 값이 10 이하일 때를 물체가 감지된 것으로 판단해 LED를 켜고, 부저로 소리를 내는 예제 코드입니다.
import Entry
import Arduino
distance = 1
def when_start():
while True:
distance = Arduino.ultrasonicRead(8, 9)
if (distance > 10):
Arduino.digitalWrite(10, "LOW")
else:
Arduino.digitalWrite(10, "HIGH")
Arduino.tone(6, "G", 3, 0.2)
Entry.wait_for_sec(0.2)
P. 220 도전! 해커톤! '밤이 깊었네' (초음파 센서, 조도 센서, LED)
본 예제는 교과서 내용에 따라 엔트리파이선을 사용합니다.
아두이노 사용 방법 문서에서 엔트리파이선을 활용 방법을 참고하세요.
연결
초음파 센서의 Trig 핀은 아두이노 8번 핀, Echo 핀은 아두이노 9번 핀에 연결했습니다.
예제 코드
교과서와 동일한 코드입니다.
조도 센서 값에 따라 11번 핀에 연결된 LED가 켜지고, 초음파 센서 값에 따라 3, 5번 핀에 연결된 LED가 켜집니다.
import Entry
brightness = 1
distance = 1
def when_start():
while True:
brightness = Arduino.analogRead("A0")
distance = Arduino.ultrasonicRead(8, 9)
if brightness < 150:
Arduino.digitalWrite(11, "HIGH")
else:
Arduino.digitalWrite(11, "LOW")
if distance < 10:
Arduino.digitalWrite(3, "HIGH")
Arduino.digitalWrite(5, "LOW")
else:
Arduino.digitalWrite(3, "LOW")
Arduino.digitalWrite(5, "HIGH")