Ironman – 아두이노와 구글 음성인식 프로젝트 공유

이전글에서 소개한 아두이노 프로젝트 공유

구글의 음성인식 서비스를 이용해서 집안의 전자 제품을 제어함.

Arduino 부품 구성

1366606244729m0
아두이노 UNO
1435213141307m0
블루투스 모듈 (HC-06)
TA189_m
모션 인식 센서
41VwSSx
릴레이

Arduino 회로도

Circuit

안드로이드 앱
Github 소스
APK Download

아두이노 소스

 

간략 설명

  1. 아두이노 모션 센서에서 인체 동작이 인식이 되면 블루투스를 통해 안드로이드 앱으로 패킷을 보냄.
  2. 안드로이드 앱에서는 모션이 인식되면 구글 음성 인식서비스를 작동시킴.
    1. 음성인식 서비스를 항상 활성화시키면 좋겠지만 음성인식 라이브러리 자체가 최대 5초까지만 작동하게 제한되어 있음.
    2. 5초마다 재시작 시키는 방식도 고려했지만 각 재시작시 생기는 딜레이로 음성인식이 안되는 문제가 있음.
    3. 따라서 사람의 모션을 인식했을때만 작동하는 방식이 가장 효율적임.
  3.  음성인식 결과 문자열중 미리 입력해둔 명령어가 있다면 해당 명령어를 아두이노로 전송
    1. 현재 명령어는 : light on, light off의 두 가지.
    2. 명령어를 말하기 전에 Signal Speech를 말해야 하는데 현재 입력된 값은 “Lucy”임
    3. 따라서 “Lucy light on” 이라고 말해야 정상 인식
  4. 아두이노에서는 해당 명령 처리.
    1. 가령 light on이 전달되면 릴레이에 신호를 주어 전등을 켬.

 

아두이노와 구글 음성인식


 

재밌는 놀이중…

아이언맨의 자비스 같은 비서를 만들어보겠다고 거창하게 시작했으나 참 험난하다.
음성인식 이름도 Jarvis로 하려다 발음이 어려워서 포기 ㅋㅋㅋ Lucy가 발음도 쉽고 친근하다 ㅋㅋ

구글음성인식은 꽤 쓸만은 한데 젤리빈에서는 연속인식이 안되는 버그가 있어서 삽질좀 하다가 어떻게 땜질을 해두긴 했지만 아무래도 핸드폰을 바꿔야할거 같다.

일단 가장 기본적인 전등제어만 됐고 다른것들은 차근차근 넣어가야겠지..

아두이노에 릴레이를 붙이니 확실히 실생활에 쓸만한 무언가를 만들 수 있을거 같다.

// 2015.06.27
비디오 및 사진 업데이트.

아두이노와 레고 RC카 (2)

드디어 완성된 모습.

모터고정이 불안정해서 다소 탁탁거리긴 하지만 뭐 작동엔 이상이 없다.

준비물

—-아래는 옵션—-

  • 16*2 LCD
  • LCD 인터페이스 변환 어댑터, I2C로 전환 (원래 LCD는 포트낭비가 많은데 이걸 이용하면 4포트 밖에 안쓴다.)

간단히 모터쉴드와 블루투스 모듈만 있으면 되겠다. 모터쉴드는 꼭 저 모델아니더라도 모터 2개를 운용할 수 있으면 된다.

그리고 블루투스를 연결할 스마트폰 앱이 필요한데
안드로이드에는 BlueStick Control 이라는 잘 만들어진 앱이 있어서 이걸 사용했다.

다음은 소스.
더 보기 “아두이노와 레고 RC카 (2)”

아두이노와 레고 RC카 (1)

 

아두이노로 처음 만들어 보고 싶었던건 RC카였다.
집에 잠자고 있는 레고 8070 슈퍼카 모델에 아두이노를 블루투스로 연결하여 무선 조종을 해보는 거다.(사실은 레고에서 파는 적외선 무선조종킷이 있지만… 직접만들면 더 재밌잖아?)

그 첫 단계로 아두이노에 모터를 컨트롤할 수 있는 쉴드를 연결하고, 스마트폰을 통해 블루투스로 연결하여 아두이노를 작동시켜 봤다. 스마트폰 앱은 이미 누군가 잘 만들어둔게 있어서 그대로 활용.
전진과 후진을 담당하는 모터 하나와, 핸들을 조정하는 모터 하나 해서 두개의 모터 제어가 필요하다. 위 영상은 그걸 제어하는 모습. 이제 남은건 레고 자동차에 연결하는 일이다.

다만 레고 8070 모델이 원래는 핸들이 모터에 의해 조종되지도 않을뿐더러 기본 모터도 출력이 너무 딸린다. 따라서 개조가 좀 필요한데 이 부분이 제일 난관이었다.

완성된 모습은 조만간 다시 올리기로.