brunch

You can make anything
by writing

C.S.Lewis

by 배용열 Oct 21. 2021

할로코드와 스마트 카메라를 활용한 자동문 만들기

아파트 1층 현관문은 사람이 가면 열리는 자동문이 아니라, 비밀번호를 입력하거나 전자키를 인식시켜야만 자동으로 열리게 됩니다. 이처럼 오늘은 특정 조건에서만 자동으로 열리는 자동문을 만들어 보겠습니다. 전자키와 같이 특수한 조건을 주기는 힘들기 때문에, 우리는 특정 색깔을 카메라에 인식시켜야 열리도록 코딩을 해 보겠습니다.

지금부터 장치 제작 과정을 설명하겠습니다.




먼저 장치 제작에 필요한 준비물부터 설명하겠습니다.

준비물: 할로코드, 스마트 카메라, 서보모터, 서보 드라이버, 배터리, 문 모형, 색종이

실제 자동문은 대부분이 미닫이 문입니다. 하지만 미닫이 문으로 자동문을 만들 경우 문을 고정하는 틀과 모터와 문을 연결하는 다양한 도구들이 필요합니다. 따라서 오늘은 편의상 미닫이 문이 아닌 여닫이 문으로 만들어 보겠습니다. 미닫이 문으로 만들 경우 dc 모터가 필요하지만, 여닫이 문으로 만들 때는 서보 모터로 만들 수 있기 때문에 준비물에서 dc 모터 대신 서보 모터를 적어놓았습니다.




다음은 할로코드를 모터, 카메라, 배터리 등과 연결해 보겠습니다. 연결 방법은 지난번 글에서 설명하였기 때문에 생략하고 최종 연결 상태만 사진으로 확인해 보겠습니다.


모두 연결하면 위와 같은 모습이 됩니다.

모든 연결이 끝이 났기 때문에 이제 mblock를 실행하여 코딩을 해보도록 하겠습니다.

mblock를 실행하고, 할로코드를 컴퓨터와 연결한 후 할로코드 장치를 추가합니다.

그 후 확장 아이콘을 눌러 코딩에 필요한 스마트 카메라와 서보 드라이버를 추가합니다.


이제 코딩할 준비가 완료되었습니다. 본격적으로 코딩을 시작해 보겠습니다.

먼저 할로코드가 켜졌을 때 블록으로 시작을 합니다.

그 후 스마트 카메라를 설정해 주어야 합니다. 스마트 카메라는 다양한 기능을 가지고 있지만, 우리는 색깔을 구분하는 기능이 필요하기 때문에 


위 사진과 같이 color block detect 꾸러미의 블록을 이용하겠습니다.

스마트 카메라에서 색을 구분하는 기능을 사용한다는 의미의 블록을 추가하고, 색 벨런스를 맞춰줍니다.


그다음 스마트 카메라에 색을 인식시킵니다.


위 블록은 색을 몇 개 인식시킬 것인지를 설정하는 블록입니다. 우리는 한 가지 색만 인식시킬 것이기 때문에 starts learning color block을 1로 설정합니다. 최대 7개의 색을 인식시킬 수 있다고 합니다.

그다음 서보모터 꾸러미에서 서보 모터를 제로 값으로 설정하여 줍니다. 지금 까지 사용한 블록을 모두 결합하면 


위와 같은 모습이 됩니다. 이제 장치 작동 전에 설정되어야 하는 것은 모두 완료가 되었습니다. 이제는 카메라가 색을 감지한다면 서보 모터가 작동하여 문이 열리도록 코딩해 보겠습니다.

계속 반복하기 블록을 가지고 오고, 카메라가 색을 인식한다면 서보 모터가 작동해야 하므로 만약~이 참이라면 조건문을 계속 반복하기 안에 넣습니다. 그리고 조건은 스마트 카메라 꾸러미에서 색을 감지했는가? 블록을 가지고 와서 조건에 삽입합니다. 여기까지 완료되면 아래와 같은 모습으로 코딩이 됩니다.



그다음은 조건이 충족했을 때 서보 모터가 움직이도록 코딩하겠습니다.


서보 모터 꾸러미에서 서보 드라이버 각도를 90도로 설정하는 블록을 가지고 와서 문이 열리도록 설정합니다. 그 후 몇 초 뒤에는 문이 닫혀야 하기 때문에, ~초 기다리기 블록과 서보 드라이버를 제로 위치로 돌아가기 블록을 연결해 줍니다. 3개의 블록이 결합되면 위 조건문 안에 삽입합니다. 



위와 같은 모습으로 코딩이 되었다면, 이제 처음에 카메라와 서보 모터를 설정해 준 블록들 뒤에 연결합니다.


맞게 코딩하였다면 위와 같은 모습이 됩니다.

이제 중요한 부분이 나옵니다. 스마트 카메라에 색을 인식할 준비를 해 놓았기 때문에, 자동문이 작동하기 전에 특정 색을 인식시켜 주어야 합니다.

장치를 연결하고 전원을 켜면 스마트 카메라에 불이 들어오고, 흰색 불이 깜빡깜빡하다가 꺼지게 됩니다. 여기까지가 색 밸런스를 조정하는 단계입니다. 이제 색을 인식시켜 주는 단계로 넘어가겠습니다. 특정 색의 색종이를 카메라 렌즈 부분에 비춰 주면 카메라가 색종이의 색을 인식하고 같은 색을 led로 표시합니다. 여기까지 되었다면 옆에 learn 버튼을 눌러 이 색을 입력하면 설정은 완료가 됩니다.

이제 실제 작동 모습을 확인해 보겠습니다.




위와 같이 파란색 외에 다른 색에는 문이 열리지 않습니다. 파란색과 비슷한 하늘색에도 문이 열리지 않는 것을 확인할 수 있습니다. 




지금까지 특정 색을 인식하면 열리는 자동문을 만들어 보았습니다. 

문 모형은 3d 프린터로 제작하였습니다. 혹시 필요한 사람들을 위해 stl 파일을 첨부해 두도록 하겠습니다. 감사합니다.











작가의 이전글 엔트리를 이용하여 한영사전 만들기
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari