brunch

You can make anything
by writing

C.S.Lewis

by 임성현 Jan 20. 2016

가까워지면 밝아지는 아두이노

초음파 센서 활용하기

안녕하세요.

아두이노라는 이름이 익숙한 분도 많으실 텐데, 여기서는 가볍게 설명하고 본론으로 들어가겠습니다.

아두이노(https://www.arduino.cc/)는 이탈리아 어로 '힘센 친구(strong friend)'라는 의미로 프로그래밍이 가능한 작은 보드를 말합니다. 다양한 센서와 led, 모터 등을 연결해서 이것저것 만들어볼 수 있는 재미있는  도구입니다.

많이 쓰이는 아두이노 우노 입니다.

오늘 주제 내용은 먼저 동영상으로 먼저 보시죠.

가까이 가면 밝아지고, 멀리 가면 어두워지는 프로그램을 만든 것인데요, 어떻게 만들었는지 설명해보겠습니다.


아두이노는 하드웨어와 소프트웨어로 이루어지는데, 동영상에서 본 작은 파란 보드가 아두이노 하드웨어, 지금 보여드릴 개발환경이 소프트웨어  아두이노입니다.

소스에 대한 상세 내용은 직접 소스 옆에 주석으로 달았습니다.

아두이노 소스의 앞 부분(환경구성, setup)
아두이노 소스의 뒷 부분(무한반복 구간)

모든 소스코드를 입력하고 위쪽에 있는 업로드 버튼을 클릭하면 소스 검사 -> 확인 -> 업로드의 순서로 반영이 됩니다.


소스 내부에 변수를 할당하거나 변환하는 함수를 사용하고 조건문도 있어서 어려우신 분도 계실 것 같네요. 내용은 크게 복잡하지 않습니다. 초음파 센서로 값을 읽어 들이는데, 응답하는 시간이 짧을수록 더 가까이 물체가 존재한다는  의미입니다. 시간의 차이 숫자를 거리로 환산하는 식이 등장하고, 이를 다시 거리가 짧을수록 값이 커지는 map 함수를 사용했습니다.

거리가 0~100mm 사이면 짧으면 led에 줄 수 있는 최대 값인 255, 거리가 멀어지면 0이 되도록  설정했습니다.

그리고 100mm 이상이 되면 음수 값으로 바뀌는데, led가 원하는 방향으로 동작하지 않습니다.(음수면 다시 불빛이 밝아집니다.) 그래서 그 값을 0으로 바꾼  것입니다.


아두이노의 경우 정말 소스 길이가 짧고 쉬우면서도 다양한 공작과 활용이 가능한 특성을 가지고 있습니다.

한 번 따라 해 보시면 정말 재미있을 겁니다.

그럼, 다음에 또 새로운 내용으로 올리겠습니다. 감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari