카테고리 없음

arduino와 pixy 카메라 연결하는 과정을 알아봅니다.

abc0123 2017. 10. 27. 12:53
반응형

 

어제까지 해서 pixy 카메라와 메커니즘 조립 및 작동 과정까지 정리를 해봤고 이제 이 녀석을 아두이노와 연결해보기로 한다. (어떤 기본서도 없이 초보 혼자 이것저것 해보면서 기록하는 글이라서 엉성하기 짝이 없는 글이네요. 먼가 잘못하고 있거나 부족한 부분 있으면 고수님들의 고견 언제나 환영합니다.^^)

 

pixy

 

카메라작동

 

하드웨어

 

▲ 하드웨어의 결합은 카메라의 구성품 중에 아두이노와 연결할 수 있는 케이블이 포함되어 있기 때문에 바로 연결만 하면 된다. 그리고 pixy에서 제공하는 라이브러리를 받아서 아두이노에 추가한 후 코드를 작성하면 되는데 먼저 라이브러리를 받아보자.

 

API

 

▲ 위 홈페이지로 이동하면 다음과 같은 페이지가 나타나는데...

 

 

라이브러리

 

▲ 여기서 Arduino libray " arduino_pixy-x.y.z.zip" 다음에 보이는 here를 클릭해서 이동한다.

 

윈도우 버전

 

▲ 그리고 OS를 윈도우를 하용하고 있기 때문에 해당 버전의 압축 파일을 내려받는다. 이제 내려받은 압축 파일을 그대로 라이브러리에 추가하자.

 

라이브버리추가

 

▲ IDE를 실행한 후 메뉴 중에서 [스케치 > 라이브러리 포함하기 > .ZIP 라이브러리 추가]를 차례대로 선택한다.

 

압축파일

 

▲ 그리고 내려받은 라이브러리 압축파일을 선택해서 넣어준다. 이렇게 넣은 후에 제대로 포함이 됐는지 확인해보자.

 

확인

 

▲ 윈도우 탐색기에서 [문서 > 라이브러리 > Arduino > libraries > pixy] 폴더에 다음과 같이 파일들이 추가된 걸 확인할 수 있다. 이제 아두이노와 연결해서 제대로 데이터를 주고받는지 확인해보자.

 

색깔 설정

 

▲ 먼저 pixy 카메라에 어제 글에서 정리했던 것처럼 타겟 색깔을 잡아준 후 아두이노 소스 코드를 다음과 같이 작성한다.

 

 

객체

 

▲ SPI.h, Pixy.h 헤더 파일을 include 한 후 Pixy 객체의 인스턴스를 선언했으며 setup() 함수에서는 카메라가 읽어들이는 값을 확인하기 위해서 시리얼 통신을 위한 준비를 했다.

 

setup

 

▲ 그리고 loop() 함수에서 getBlocks() 함수에서 반환될 값을 저장하기 위한 blocks를 선언한 후 blocks이 있다면 x 좌표를 출력하도록 해봤다. (우선 아두이노와 pixy가 제대로 데이터를 주고받는지 확인하기 위해서 대충 작성해본 소스이니 참고할 만한 내용은 아님.)

 

이제 파일을 업로드한 후 실행 결과를 지켜보자.

 

 

▲ 아두이노 시리얼 모니터와 pixymon의 실행 창인데 이처럼 설정해준 색이 감지될 때는 그 x좌표를 반환하는 걸 알 수 있다.

 

이렇게 해서 일단 아두이노와 pixy가 제대로 연결된 건 확인을 했는데 이 녀석을 어떻게 활용할지는 좀 더 고민을 해봐야 할 것 같다. 머릿속에서는 여러 가지가 그려지는데 그걸 만들어 낼 수 있을지..ㅎㅎ 여기저기 찾으면서 공부를 많이 해야 할 듯 싶다.

반응형