가속도계(ADXL335)는 3축(X, Y, Z) 가속도를 측정하는 장치입니다. 스마트폰에도 탑재되어 있으며, 템플 런 같은 모션 게임에서 폰을 기울여 캐릭터를 움직이는 원리와 같습니다. (자이로스코프는 별도 센서로 이번 프로젝트엔 불필요)
제스처 인식 및 제어 흐름도
로봇의 두뇌는 아두이노 우노(ATmega32)입니다. 손 제스처로 인한 가속도 변화는 ADXL335가 X, Y, Z 좌표로 읽어 아두이노로 전송합니다(Z축은 미사용). 아두이노는 좌표 값을 분석해 4비트 코드를 인코더 IC(HT12E)로 보내고, 인코더는 데이터를 RF 송신 모듈로 전송합니다. 수신 측 RF 모듈이 신호를 받아 디코더 IC(HT12D)로 전달하고, 디코더는 모터 드라이버 IC(L298)로 제어 신호를 보내 두 모터를 원하는 방향으로 회전시킵니다.
전원 회로 제작
송신부와 수신부 각각 별도 전원 회로가 필요합니다.
수신부: 12V 전원 필요 (12V 모터 사용 시). 7805 레귤레이터로 5V 강압, 0.1µF 및 470µF 커패시터, 상태 LED용 1kΩ 저항 포함
송신부: 9V 배터리로 구동 가능
수신부 전원 회로도
주의: 7805 레귤레이터에 반드시 방열판 장착하세요. 12V→5V 강압 시 7V 전압 강하로 발열이 심해 레귤레이터 손상 우려가 있습니다.
송신부(리모컨) 제작
가속도계가 손 제스처를 감지해 아두이노로 데이터를 보내고, 아두이노는 가속도계 데이터에 따라 인코더 IC에 4비트 코드를 전송합니다.
중요: 일부 가속도계는 3.3V 전용이라 5V 연결 시 손상될 수 있습니다. 공급사 문서로 정확한 전압 확인 필수!
송신부 회로도송신부(리모컨) 구성도
아두이노 코드 업로드
업데이트된 코드는 깃허브 저장소에 있습니다. 아두이노 IDE로 열어 업로드하세요.
수신부 제작
수신부 회로도 (HT12D 디코더, L293D 모터 드라이버, RF 수신 모듈)
수신부에는 2개의 LED가 있습니다: 하나는 전원 표시용, 다른 하나는 HT12D 근처에 있어 유효 전송(VT) 시 점등됩니다. 송신부 전원 투입 시 이 LED가 켜지지 않으면 배선이나 RF 모듈 문제입니다.