초음파 센서 활용하기
안녕하세요.
아두이노라는 이름이 익숙한 분도 많으실 텐데, 여기서는 가볍게 설명하고 본론으로 들어가겠습니다.
아두이노(https://www.arduino.cc/)는 이탈리아 어로 '힘센 친구(strong friend)'라는 의미로 프로그래밍이 가능한 작은 보드를 말합니다. 다양한 센서와 led, 모터 등을 연결해서 이것저것 만들어볼 수 있는 재미있는 도구입니다.
오늘 주제 내용은 먼저 동영상으로 먼저 보시죠.
가까이 가면 밝아지고, 멀리 가면 어두워지는 프로그램을 만든 것인데요, 어떻게 만들었는지 설명해보겠습니다.
아두이노는 하드웨어와 소프트웨어로 이루어지는데, 동영상에서 본 작은 파란 보드가 아두이노 하드웨어, 지금 보여드릴 개발환경이 소프트웨어 아두이노입니다.
소스에 대한 상세 내용은 직접 소스 옆에 주석으로 달았습니다.
모든 소스코드를 입력하고 위쪽에 있는 업로드 버튼을 클릭하면 소스 검사 -> 확인 -> 업로드의 순서로 반영이 됩니다.
소스 내부에 변수를 할당하거나 변환하는 함수를 사용하고 조건문도 있어서 어려우신 분도 계실 것 같네요. 내용은 크게 복잡하지 않습니다. 초음파 센서로 값을 읽어 들이는데, 응답하는 시간이 짧을수록 더 가까이 물체가 존재한다는 의미입니다. 시간의 차이 숫자를 거리로 환산하는 식이 등장하고, 이를 다시 거리가 짧을수록 값이 커지는 map 함수를 사용했습니다.
거리가 0~100mm 사이면 짧으면 led에 줄 수 있는 최대 값인 255, 거리가 멀어지면 0이 되도록 설정했습니다.
그리고 100mm 이상이 되면 음수 값으로 바뀌는데, led가 원하는 방향으로 동작하지 않습니다.(음수면 다시 불빛이 밝아집니다.) 그래서 그 값을 0으로 바꾼 것입니다.
아두이노의 경우 정말 소스 길이가 짧고 쉬우면서도 다양한 공작과 활용이 가능한 특성을 가지고 있습니다.
한 번 따라 해 보시면 정말 재미있을 겁니다.
그럼, 다음에 또 새로운 내용으로 올리겠습니다. 감사합니다.