[활용기] 초음파 센서를 활용한 RGB 제어

2017. 2. 2. 00:19임베디드/아두이노

-본 체험 제품은 No1. 전자부품 전문 쇼핑몰 아이씨뱅큐의 지원을 받아 작성한 것 입니다.


너의 이름은..?


아두이노 우노 스타터 키트 Pro E2 매뉴얼 LK-E2-BOOK



활용하기 전에..

저번편 '[사용기] 아두이노 스타터 키트, 그 사용기!'에 이은 포스팅입니다. RGB모듈의 활용인 만큼 기초적인 RGB모듈 사용법을 제시한 저번편을 보고 오시면 많은 도움이 될 것 같습니다~


이전 포스팅

2017/01/22 - [임베디드/아두이노] - [개봉기] 아두이노 스타터 키트!


2017/01/26 - [임베디드/아두이노] - [사용기] 아두이노 스타터 키트, 그 사용기!




초음파 센서 HC-SR04

초음파 센서란..?

아두이노를 한 번 이라도 접해본 사람이라면 한 번 쯤은 들어 볼 법한 센서로 초음파의 왕복 시간을 통해 거리를 측정하는 센서를 지칭한다.

두 개의 눈(?) 중에서 하나는 초음파를 쏘고 하나는 초음파를 받는, 발신부수신부 역할을 합니다.


초음파 센서의 계산법

흔히 알고 계시는 '속도x시간 = 거리' 공식을 활용하여 거리를 계산합니다.

여기서 초음파, 즉 소리의 속도는340(m/s)입니다. 이를 걸린 시간 측정 단위인(cm/μs)로 바꾸면 340*100 / 1000000, 0.034 (cm/μs)이 되죠. 단위를 맞추고 난 후에 걸린 시간을 곱해주고, 마지막으로 왕복 거리이기 때문에 총 결과값을 2로 나눕니다. 완성된 식은 이렇게 되죠.


거리 = 0.034 * 걸린 시간 (duration) /2



실제로는 그냥 '0.017 * 걸린시간' 하면 됩니다.



본격적인 활용 Start!

대략적인 설명

거리에 따라 LED의 색깔을 바꾸고, 이에 대한 정보를 LCD 창에 나타내는 것이 이 프로젝트를 통해 얻고자 하는 결과물입니다!


설계도

LCD 16핀을 4핀으로 바꿔주는 i2c 모듈이 fritzing에 기재되어 있지 않은 관계로 빠른 시일 내에 추가하도록 하겠습니다.


프로젝트 사진


눈치 채셨겠지만.. 옆에 자를 놓아 거리 측정이 올바른지 확일 할 수 있도록 하였습니다.


프로젝트 소스 코드

http://ikso2000.tistory.com/20에 게시된 내용 일부 활용하여 작성함.


요약하면 이러하다.


측정된 거리가 5cm이상, 10cm미만 = 빨간색 LED 점등


측정된 거리가 10cm이상, 15cm미만 = 초록색 LED 점등


측정된 거리가 15cm이상, 20cm미만 = 파란색 LED 점등


그 외의 경우는 모든 LED를 끈다.

작동 영상



총평 (낮춤말 주의!)

이 프로젝트를 실행함에 있어서 생각했던 것보다 프로젝트 진행에 어려움이 많았다. 특히나 처음써보는 LCD i2c 모듈의 경우에는 따로 라이브러리를 추가해야 되는 것을 모르고 왜 안돼나.. 왜 안돼나.. 계속 노가다만 몇 시간을 붙잡고 있었고, 초음파 센서의 GND를 +5v에 꽂고 왜 값이 0만 뜨지.. 라며 다른 초음파 센서를 여럿 교체하며 시간을 보냈던 점과 같이 여러 어려움들이 있었다. 그래도 알게된 정보의 양과 잘 작동했을 때의 그 뿌듯함에 비하면 뭐.. 그냥 저냥 넘어갈 수 있을 것 같다. 아! 그리고 영상을 보신 분은 아시겠지만 가끔씩 센서 인식값이 크게 튈 때가 있는데.. 나중에 시간이 많을 때 자세히 코드부터 봐야 겠다$$ (그러면서 안하잖아;;)



- 아두이노키트 구입처 : 아이씨뱅큐 http://www.icbanq.com/P007468190
- 아이씨뱅큐 무상체험단 카페 : http://cafe.naver.com/icbanq
- 아이씨뱅큐 공식 블로그 : http://blog.naver.com/icbanq