초음파 센서(HC-SR04)(씨마스 정보교과서)

아두위키 : Arduwiki
ArduWiki (토론 | 기여)님의 2023년 12월 14일 (목) 17:02 판

본 위키는 씨마스 고교 정보교과서 내 초음파 센서에 해당하는 내용을 서술합니다.

초음파 센서(HC-SR04) 문서에서 모듈에 대한 기본 정보를 참고해주세요.

P. 215 스스로 해결하기③ (초음파 센서, 부저, LED)

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

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


연결

초음파 센서의 Trig 핀은 아두이노 8번 핀, Echo 핀은 아두이노 9번 핀에 연결했습니다. 가운데|클래스=coders100

예제 코드

초음파 센서 값이 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번 핀에 연결했습니다. 가운데|클래스=coders100

예제 코드

교과서와 동일한 코드입니다.

조도 센서 값에 따라 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")