의뢰는 instructables.tistory.com/64
Naver
[음성인식 원리] :: 미리 기억시킨 음성이 있는 상태에서 새로 입력이 들어왔을때 일치여부에 따라 출력이 발생됩니다.
부품리스트
JT-2000
Arduino
Servo Motor(HC-311)
L293D Motor Driver
Linear DC Motor (12V)
1N4001 Rectifier 5개 (4개는 Bridge circuit구성용 / 1개는 External Voltage용)
음성인식 모듈(JT-2000)은 10개의 저장공간을 갖고있다.
이를 ROM이라고 부른다.
각 방의 입력에 따라 어떤 포트로 출력을 내보낼지 결정된다.
위 회로상에서 버튼이 음성인식 모듈의 출력이 나감을 의미한다.
이 값이 들어가면 Servo모터가 동작하면서 버튼을 눌러서 DC모터가 동작하는 원리이다.
정류다이오드의 (-)극성이 Vcc와 연결되있는 이유가 의아할 수 있는데
이렇게 함으로써 DC모터가 전류를 모두 서모할수있도록 이렇게 연결한다고 한다.
Motor Driver를 사용하는 이유는 모터의 정회전 역회전이 있기 때문이다.
>>
Sequence
음성인식모듈에서 출력을 내보냄 >> Arduino의 입력으로 들어감 >> Servo Motor를 동작시킴 >> ServoMotor가 외부 버튼을 물리적으로 누름 >>버튼이 눌렸을때 DC모터가 정회전을 함 >> 일정시간이 흐른후 역회전을하며 다시 원점으로 돌아옴
버튼연결시 반드시 pull-down 저항을 써야한다.
https://kocoafab.cc/tutorial/view/526
실제로는 스위치가 열리게 될때는 0도 아니고 1도 아닌 0과 1사이에서 방황하는 아무런 상태도 아니게 됩니다. 그렇기 때문에 닫혀있을때는 전류가 흐르기 때문에 1을 출력하지만 열려있을때는 값이
이렇게 부유하고 있는 상태를 플로팅상태라고 합니다.
마치 0(LOW)과 1(HIGH)사이를 부유하고 있는 모습이죠.
... 실제 pull-down저항없이 버튼을 누르게 되면 한번만 눌렀는데도 동작했다가 멈췄다를 불규칙적으로 반복함을 확인할 수 있다.
JT-2000 사용법
http://instructables.tistory.com/466
https://blog.naver.com/no1_devicemart/221707269679
11111
11111
▲위 제품링크처럼 TTL컨버터와 같이 구매해야 음성을 기록해 놓을 수 있습니다.
Port와 BaudRate를 맞춰줘야한다.BaudRate는 9600으로 해주고 Port는 컴퓨터마다 다를수 있는데이건 어떻게 확인하냐면~ 바로 아래에 이어서 말씀드리겠습니다.
컴퓨터 자판에서 (윈도우아이콘 + PauseBreak) 를 같이 눌러주면
장치관리자로 들어갈 수 있습니다.
그때 아래 그림처럼 해당포트가 잡히는데 이때 번호와 맞춰주면 됩니다.
AA36 이라고 써주고 Send를 눌러서 Common Mode라고 떠야 음성인식 모듈이 정상이다.
AA11 을 Send하고 recording을 시작한다.
Start를하면 바로 마이크로 말해줘야한다.
Finish One을 총 5번 해줘야 Group Finish가 뜨며 녹음이 마무리가 된다.
이걸 Import시켜줘야 기록이 된다. (이거까지 해줘야 마무리~~)
마이크를 통해 들어간 음성이 음성인식 모듈에 저장된 값들과 일치한다면
HEX값이 출력되는데
각각 0x11, 0x12, 0x13, 0x14, 0x15로 구분되어서 출력된다.
(위에서 확인할 수 있듯이 총5개의 Room에 저장된다.)
Case statement를 통해서 0x11에 해당되는 음성과 일치하는경우
Buzzer출력을 내보내게 끔 코딩하면 활용도가 높아진다.
Buzzer 연결시 +, - 극성은 위 그림과 같으며
Arduino의 출력을 Buzzer의 +에 연결하며 저항은 연결하지 않는게 좋습니다.
(출력시 소리가 작아짐)
조도센서 회로도
조도센서의 회로도
Pull-Down 저항은 10K가 적합합니다. (위 그림에서 R1)
LDR에 빛이 적어지면 LDR의 저항값이 10K이상이 되는데
그때 GND값이 A0로 흘러갑니다.
LDR에 빛이 많아지면 LDR의 저항값이 10K미만이 되는데
그때 5V값이 LDR의 저항만큼 깍이면서 A0로 흘러갑니다.
거리센서
가까울수록 값이 올라가고, 멀어질수록 값이 떨어집니다. (초음파 센서와 반대)
Distance Range는 10cm~80cm 이고,under 10cm, over 80에선 객체가 없는걸로 인식됩니다.
설정값(threshold) |
감지거리(cm) |
200 |
30cm |
400 |
16cm |
600 | 11cm |
800 | 10cm |
1000 | 9cm |
ADC는 10bit 2진수로 표기되어, 0~1023의 범위이므로 1023이 MAX 입니다.
'졸업작품 > 음성인식모듈(JT-2000)' 카테고리의 다른 글
[JT-2000] (0) | 2016.07.10 |
---|