Securing KeysIT/IoT [아두이노] 초음파센서 측정값을 바탕으로 LED 제어하기GRACE_MJ 2020. 6. 7. 21:12 초음파센서- 초음파를 이용하여 사물이나 벽까지의 거리를 알려주는 센서 - trig (발사하는 부분) + echo (받는 부분) 을 통해 초음파가 일정한 속도(340m/s)로 똑바로 날아감 (단, 경우에 따라 굴절 방향이 달라질 수 있음) - trig핀의 전압이 HIGH = 초음파 발사 - echo핀의 전압이 HIGH = 초음파가 사물이나 벽을 맞고 돌아옴 - 시간을 거리로 환산하는 방식으로 제어 가능 준비물- Arduino UNO R3 - 초음파센서 (HC-SRO4) - 점퍼선 - 브레드보드 (빵판) - UNO 케이블 - LED 3개 - (권장) 220Ω 저항 아두이노 GND는 브레드보드 - 라인, 아두이노 5V는 브레드보드 + 라인에 연결하여 아두이노의 전원과 브레드보드를 연결합니다 LED의 +극을 구부려 짧은 다리와 길이를 맞춰줍니다 LED를 브레드보드에 꽂아줍니다. 이때 저항이 있다면 저항도 +에 맞게 꽂아줍니다. 저는 급하게 저항이 없는 상황이라 그냥 진행했습니다. 보기 쉽게 색깔에 맞는 선을 점퍼선을 연결해주었습니다. 빨간 LED는 디지털 13번에, 노란 LED는 디지털 10번에, 초록 LED는 디지털 7번에 연결했습니다. 이제 초음파 센서를 연결하겠습니다. 초음파 센서 HC-SRO4는 vcc, trig, echo, gnd 이렇게 4개의 핀으로 이루어져 있습니다. 초음파 센서를 브레드보드에 핀이 서로 연결되지 않는 범위에서 꽂아주었습니다. 초음파 센서의 vcc를 아두이노 5V와 연결된 +라인에 꽂아주었습니다. 그리고 gnd는 아두이노 GND와 연결된 -라인에 꽂아주었습니다. 초음파를 발사하는 trig 핀은 아두이노 디지털 2번과 연결해주었습니다. 마지막으로 초음파를 받아주는 echo핀은 아두이노 디지털 3번과 연결해주었습니다. 여기까지 했으면 초기 세팅은 끝입니다. 이제 코딩으로 넘어가면 됩니다.
자신이 설정한 세팅에 맞게 위와 같이 변수를 저장해줍니다.
초음파는 눈에 보이지 않기 때문에 시리얼 통신을 설정해주었습니다. 그리고 디지털 핀들을 위와 같이 핀모드로 초기설정 해줍니다. 초음파를 발사하는 trig와 LED들은 OUTPUT, 초음파를 받아들이는 echo는 INPUT으로 설정해줍니다.
아두이노로 작성된 코드를 컴파일 해준 후, 오류를 수정해줍니다. 이제 아두이노로 코드를 업로드 해줍니다. (이때, 보드랑 포트 올바른지 확인 필수) 결과물입니다. 장애물이 가까이 접근할수록 빨간불이 들어오고, 멀수록 초록불이 들어오게끔 설정했습니다. |