제조공정
약간의 노력으로 나는 라스베리 파이를 사용하여 실시간으로 얼굴을 추적하면서 웹캠이 팬/틸트할 수 있도록 두 개의 서보 모터를 제어하는 것이 처음에는 불가능하지 않다는 것을 발견했습니다. 약간의 신중한 조정과 코드 최적화를 통해 320×240에서 OpenCV 얼굴 감지를 실행하면서 오른쪽 프로필, 왼쪽 프로필 및 정면 얼굴을 찾고 서보를 초당 한 번보다 빠르게 조정하면서 파이가 두 개의 서보를 따라갈 수 있도록 할 수 있었습니다. .
필요한 것:
A raspberry pi — Model A는 잘 작동합니다. 새 Model A(네트워크 제외)와 동일한 사양을 가진 원래의 Model B가 있습니다.
팬/틸트 브래킷
2개의 서보
GPIO 리빈 케이블
Pi 지원 웹캠 — Logitech C210 사용
이미 라즈베리 파이와 웹캠이 있다고 가정하면 추가 하드웨어는 약 $25를 실행합니다.
공식 RaspbianOS(하드 플로트 버전)를 사용 중이고 최신 버전인지 확인하세요.
라즈베리 파이를 오버클럭할 수 있습니다. 저는 800mhz로 했습니다. 높이 올라갈수록 안면 인식은 빨라지지만 파이가 덜 안정적일 수 있습니다.
Python용 OpenCV 설치:sudo apt-get install python-opencv
Richard Hirst의 멋진 raspberry pi용 서보블래스터 서보 드라이버 받기:여기
모든 파일을 zip 아카이브로 다운로드하고 파이의 어딘가에 압축을 풉니다.
서보 블래스터 드라이버를 설치하려면 터미널과 CD를 열어 서보 블래스터 파일을 추출한 디렉토리로 이동하십시오.
실행 명령:make install_autostart
서보블래스터가 시간 초과되도록 설정하고 서보가 움직이지 않는 경우 1초 후에 서보에 신호 전송을 중지할 수 있습니다.
이렇게 하려면 다음 줄을 /etc/modules에 추가하세요. 서보블래스터 idle_timeout=1000
다음 명령으로 서보블라스터를 시작하십시오:sudo modprobe servoblaster
다음 작업은 카메라가 예상대로 작동하도록 하는 것입니다.
우선, 이것을 찾아 지적해 준 Gmoto에게 감사드립니다. 모든 것이 원활하게 실행되도록 하는 "pi"의 마지막 부분이었습니다. 모든 것이 제대로 실행되도록 하려면 uvcvideo 모듈에서 일부 매개변수를 조정해야 합니다.
즉, 다음 명령을 실행하세요.
rmmod uvcvideo
modprobe uvcvideo nodrop=1 timeout=5000 quirks=0x80
얼굴 추적 프로그램을 실행할 계획이라면 재부팅할 때마다 실행해야 합니다. 또는 서보블래스터 시간 제한 조정에서 했던 것처럼 /etc/modules에 매개변수를 추가해야 합니다.
지침에 따라 팬/틸트 브래킷을 만들고 서보를 부착합니다.
카메라를 브래킷 상단에 부착하고(저는 방금 테이프를 사용했습니다) 라즈베리 파이 USB 포트에 연결합니다.
저는 USB 허브 없이도 전원을 공급할 수 있지만 전원이 공급되는 USB 허브를 사용하고 싶을 수도 있습니다.
Servoblaster는 서보-0을 GPIO 4에 연결된 것으로 간주하고 서보-1은 GPIO-17에 연결된 것으로 간주합니다.
서보에는 3개의 와이어가 있습니다. 하나는 Vin/positive, 하나는 갈색 또는 검은색입니다. 접지/음극이고 다른 하나는 제어입니다.
리본 케이블(내 경우에는 구멍에 끼인 일부 커넥터 와이어)을 사용하여 각 서보의 제어 와이어를 올바른 핀에 연결합니다. 이 코드는 서보-0이 좌우 이동을 제어하고 서보-1이 카메라의 상하 이동을 제어한다고 가정합니다. 이 방법으로 연결하십시오.
이제 서보용 Vin은 GPIO의 5v 핀에서 나오고 서보용 접지는 GPIO의 접지 핀에서 오는 것이 상식인 것 같지만 제 경우에는 작동하지 않았습니다. 기지를 위한 더 큰 서보. 큰 서보는 파이가 공급하고자 하는 것보다 더 많은 전력을 끌어들였습니다. 그러나 문제 없이 작은 틸트 서보에 전원을 공급할 수 있었습니다. 또한 서보블래스터를 만든 Richard Hirst는 GPIO 5v로 여러 개의 소형 서보를 구동할 수 있다고 암시하는 것 같습니다. 또한 내 버전의 파이에는 나중에 해당 전원 핀과 관련하여 제거된 퓨즈가 있다는 것도 알게 되었습니다. 내 본능에 따르면 새로운 파이의 해당 핀에서 두 개의 작은 서보에 전원을 공급할 수 있습니다. 할 수 없는 경우 다음을 수행해야 합니다.
무거운 5v-6v 부하를 처리할 수 있는 일종의 외부 전원이 필요합니다. 저는 arduino에 내장된 전원을 사용했지만 5ish 볼트 전원이 있어야 합니다. 서보는 최대 6v 정격입니다. 컴퓨터 전원 공급 장치의 5v 핀, 5v-6v 벽면 충전기, 병렬로 연결된 일부 배터리 당신의 배를 띄우는 것은 무엇이든. 외부 소스가 있으면 서보의 양극 및 음극 라인을 전원의 양극 및 음극에 연결한 다음 외부 전원의 접지(음)를 raspberry pi GPIO의 접지 핀에 연결하기만 하면 됩니다.
이 기사에 python 스크립트를 첨부했습니다. 이 스크립트를 PiFace.py라고 하여 터미널의 해당 위치로 CD를 실행하고 다음을 입력합니다. python PiFace.py
다음은 작동 중인 내 동영상입니다.
자세한 내용:라즈베리 파이를 사용한 팬/틸트 얼굴 추적
제조공정
구성품 및 소모품 Arduino UNO × 1 웹캠 × 1 고무 밴드 × 1 9V 1A 스위칭 벽 전원 공급 장치 × 1 MG-90s 서보 × 2 2.1*5.5mm 잭 플러그 × 1 선형 조정기(7805) × 1 M2*10mm 셀프 태핑 나사 × 15 종이 클립 × 1 후크업 와이어 키트, 22AWG × 1 핀 헤더 × 1 5mm LED
이 튜토리얼에서는 팬 및 틸트 헤드가 있는 전동 카메라 슬라이더를 만드는 방법을 배웁니다. 이 Arduino 기반 프로젝트는 100% DIY이며 MDF 및 합판과 같은 저렴한 재료로 제작되고 Arduino, 3개의 스테퍼 모터, 일부 버튼 및 맞춤형 설계 PCB에 부착된 조이스틱을 사용하여 제어됩니다. 그럼에도 불구하고 매우 부드러운 카메라 움직임으로 전문가 수준의 영화 같은 장면을 얻을 수 있어 최종 결과는 매우 인상적입니다. 다음 비디오를 보거나 아래에 작성된 튜토리얼을 읽을 수 있습니다. 개요 컨트롤러를 사용하여 수동으로