본문 바로가기

아두이노

IR 센서와 소리 감지 센서를 결합한 음성 인식 시스템

반응형

IR 센서와 소리 감지 센서를 결합하여 음성 인식 시스템을 만들어 보겠습니다. 이 시스템은 소리가 감지되면 IR 센서를 사용하여 해당 방향을 감지하고 특정 동작을 수행합니다.

1. 이론 소개:

  • 이 프로젝트에서는 IR 센서를 사용하여 방향을 감지하고, 소리 감지 센서를 사용하여 소리를 감지합니다. 특정 소리가 감지되면 IR 센서를 통해 방향을 확인하고 동작을 수행합니다.

2. 준비물:

  • Arduino 보드 (예: Arduino Uno)
  • IR 센서 모듈 (예: TCRT5000)
  • 소리 감지 센서 모듈 (예: KY-037)
  • 서보 모터
  • 점퍼 와이어
  • 빵판 또는 프로토타이핑 보드

3. 비슷한 센서 모델명:

  • IR 센서 모듈: TCRT5000, TCRT1000, 등
  • 소리 감지 센서 모듈: KY-037, KY-038, 등

4. 추천 보드 및 간단한 설명:

  • Arduino Uno: 이 프로젝트에 적합한 시작 보드입니다.

5. 회로 구성:

  • IR 센서 모듈과 소리 감지 센서 모듈을 아두이노에 연결합니다.
  • 서보 모터를 아두이노에 연결합니다.

   IR 센서와 서보 모터 연결:

  • IR 센서의 출력 핀을 아두이노의 디지털 핀 (예: D2)에 연결합니다.
  • 서보 모터의 제어 핀을 아두이노의 디지털 핀 (예: D9)에 연결합니다.

  소리 감지 센서 연결:

  • 소리 감지 센서의 출력 핀을 아두이노의 디지털 핀 (예: D7)에 연결합니다.

 

6. 코딩 내용:

 

#include <Servo.h>

Servo myservo;
int IRpin = 2; // IR 센서의 출력 핀
int soundPin = 7; // 소리 감지 센서의 출력 핀
int val; // IR 센서의 값

void setup() {
  myservo.attach(9); // 서보 모터 제어 핀
  pinMode(soundPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  val = digitalRead(IRpin); // IR 센서 값 읽기
  int soundValue = digitalRead(soundPin); // 소리 감지 센서 값 읽기

  if (soundValue == HIGH) { // 소리 감지 시
    if (val == LOW) { // IR 센서 감지 시
      myservo.write(90); // 서보 모터를 90도로 회전
      delay(1000);
      myservo.write(0); // 서보 모터를 원위치로 회전
      delay(1000);
    }
  }
}

 

 

7. 코딩 내용 설명:

  • 소리 감지 센서에서 소리가 감지되면 IR 센서를 사용하여 방향을 감지합니다.
  • IR 센서가 물체를 감지하면 서보 모터를 90도 회전시키고, 다시 0도로 회전하여 원래 위치로 돌아갑니다.

8. 코드 업로드 및 테스트:

  • 위의 코드를 아두이노 IDE에 복사하여 업로드합니다.
  • 소리를 내면서 물체를 IR 센서에 가까이 가져가면 서보 모터가 움직이는 것을 확인합니다.

9. 응용 업그레이드:

  • 이 프로젝트를 확장하여 특정 소리에 반응하는 음성 인식 시스템을 개발할 수 있습니다.

10. 전문용어 및 설명:

  • IR 센서: 적외선을 감지하는 센서로, 물체의 감지 및 거리 측정에 사용됩니다.
  • 서보 모터: 정해진 각도로 회전하거나 움직이는 모터입니다.
  • 소리 감지 센서: 주변 소리를 감지하고 신호로 변환하는 센서입니다.

11. 기타:

  • 이 프로젝트를 통해 간단한 음성 인식 및 동작 제어 시스템을 만들 수 있습니다.

 

 

반응형