728x90
오늘은 초음파 센서를 라즈베리에 연결하는 방법에 대해서 알아보겠다!
인터넷에 열심히 뒤져봤는데 다들 1㏀ 2㏀ 저항으로 연결하는데 우리가 가진 건 110과 220...
(저항 계산기 어플로 쉽게 알 수 있다)
그래서 다른 방법을 찾아 저항 없이 연결하는 방법을 알아냈다
(그래도 되나?)
우리가 사용할 초음파 센서는 HC-SR04
센서의 각 부분을 라즈베리 파이와 연결해야 하는데
VCC라인에 5V를 연결 GND라인에 GND를 연결 GPIO23에 Echo를 연결 GPIO24에 Trig를 연결 |
참고 : https://blog.naver.com/PostView.naver?blogId=elepartsblog&logNo=220288246775
이 방법으로 연결하면 된다.
라즈베리 파이의 GPIO는 표를 보며 확인하면 됨.
사진에서 좌측이 표에서 위쪽.
검정 선(VCC)을 전압 5V에(4번핀)
갈색 선(Trig)을 GPIO24번에(18번핀)
흰색 선(Echo)을 GPIO23번에(16번핀)
회색 선(Gnd)을 GND에(6번핀)
암-수 점퍼선으로 각각 연결해주면 된다.
연결 완.
import RPi.GPIO as gpio
import time
TRIGER = 24
ECHO = 23
gpio.setmode(gpio.BCM)
gpio.setup(TRIGER, gpio.OUT)
gpio.setup(ECHO, gpio.IN)
#period = endTime - startTime에서 startTime값이 null인 경우 발생->초기화
startTime = time.time()
try:
while True:
gpio.output(TRIGER, gpio.LOW)
time.sleep(0.1)
gpio.output(TRIGER, gpio.HIGH)
time.sleep(0.00002)
gpio.output(TRIGER, gpio.LOW)
while gpio.input(ECHO) == gpio.LOW:
startTime = time.time() # 1sec unit
while gpio.input(ECHO) == gpio.HIGH:
endTime = time.time()
period = endTime - startTime
dist1 = round(period * 1000000 / 58, 2)
dist2 = round(period * 17241, 2)
print("Dist1", dist1, "cm", ", Dist2", dist2, "cm")
if dist1 < 10 and dist2 < 10:
print("detect")
except:
gpio.cleanup()
거리가 10cm 이내면 detect 출력
728x90
LIST
'Project > CloudIOT' 카테고리의 다른 글
라즈베리 파이로 회로도 그리기 (무료 프로그램 설치 - fritzing) (0) | 2022.06.18 |
---|---|
라즈베리 파이에서 카메라 모듈 사용하기 / raspistill과 raspivid 명령어 정리 (0) | 2022.04.26 |