아두이노 음성녹음 모듈 ISD 1820

ISD 1820은 음성을 녹음해서 스피커로 출력할 수있도록 해주는 모듈형 부품입니다.

 


ISD 1820 모듈의 기능을 살펴보겠습니다.


1. 
REC : 누르고 있는 동안 녹음을 진행합니다 녹음은 약 10초가량 가능합니다.
PLAYE : 한번 누르면 녹음된 음성이 재생됩니다.
PLAYL : 누르고 있는동안 녹음된 음성이 재생됩니다.

2.
FT : Feed Throgh, MIC에 음성을 넣으면 스피커로 바로 출력됩니다.
P-L : PLAYL 작업을 할 수 있는 핀 입니다.
P-E : PLAYE 작업을 할 수 있는 핀입니다.
REC : REC 작업을 할 수 있는 핀입니다.

추가로 핀 뒤의 점퍼를 이용해서 FT, P-E기능을 사용 할 수 있습니다.
사용법은 전원을 인가한 상태에서 FT나 P-E표시된 곳으로 점퍼를 옮겨주면 됩니다.
이렇게 하면 전원이 인가되는 동안에 FT나 P-E작업을 수행할 수 있습니다.
점퍼를 원래대로 되돌리면 REC, P-E, P-L, FT핀을 사용할 수 있게 됩니다.

우선 모듈에 있는 버튼을 이용해서 녹음을 해 보겠습니다.

VCC핀은 아두이노의 5V에 GND핀은 아두이노의 GND에 연결하면 됩니다.

 

 

이번에는 시리얼 통신을 이용해서 녹음을 해 보겠습니다.

 

--------------------------------​​--------------------------------​​​--------------------------------​​​--------------------------------​​​--------------------------------​​

 

int REC = 5;

int PLAYE = 6;
int PLAYL = 7;
int FT = 8;

char input;

void setup() {
  Serial.begin(9600);
  pinMode(REC, OUTPUT);
  pinMode(PLAYE, OUTPUT);
  pinMode(PLAYL, OUTPUT);
  pinMode(FT, OUTPUT);
}

void loop() {
  if(Serial.available())
  {
    input = Serial.read();
    
    if(input == 'R')
    {
      digitalWrite(REC,HIGH);
      Serial.println("REC...");
    }
    else if(input == 'E')
    {
      digitalWrite(PLAYE,HIGH);
      Serial.println("PLAYE...");
      digitalWrite(PLAYE,LOW);
    }
    else if(input == 'L')
    {
      digitalWrite(PLAYL,HIGH);
      Serial.println("PLAYL...");
      delay(10000);
      digitalWrite(PLAYL,LOW);
    }
    else if(input == 'F')
    {
      digitalWrite(FT,HIGH);
      Serial.println("FT...");
    }
    else if(input == 'S')
    {
      digitalWrite(REC,LOW);
      digitalWrite(FT,LOW);
      Serial.println("STOP...");
    }
    else
    {
      Serial.println("wrong input value");
    }
  }

} 

 

​--------------------------------​​​--------------------------------​​​--------------------------------​​​--------------------------------​​​--------------------------------​​-

시리얼 모니터 창에서 R을 치면 'REC', E를 치면 'PLAYE', F를 치면 'FT', S를 치면 '녹음중지'로 동작하는 코드 입니다.


else if(input == 'L')
    {
      digitalWrite(PLAYL,HIGH);
      delay(10000);
      digitalWrite(PLAYL,LOW);
    }


이 부분에 적절한 delay를 넣지 않으면 음성이 재생중이 끓기게 됩니다
이는 'PLAYL' 기능과 연관되어 있는 부분으로 사용시에 주의하여야 합니다.

 

 

- 음질이 그렇게 좋은편이 아니라서 사용에 한계가 있습니다. 

- 마이크 성능도 그리 좋은편이 아니라서 녹음시 마이크에서 멀어지면 소리가 급격히 작아집니다.

- 전선과 스피커를 납땜해야 하는데 생각보다 전선이 잘 끊어지니 주의 하시기 바랍니다. 


 

  •  7,746
  •  5
  •  0

임범섭 2019-05-05 15:45:04

이 제품을 이용하여 블루투스 HC-06모듈로 제어가 가능한지 궁금합니다!!@!!!!@

학생 2019-05-23 14:56:26

궁금한게있어요

마승우 2019-09-07 20:17:28

안돼는돼요?

지나가던 궁금이 2022-07-14 18:14:38

아두이노로 마이크 입력을 바로 스피커로 증폭해서 출력할 수 있을까요?

함주형 2022-11-21 12:41:14

안녕하세요. 좋은자료 감사합니다. 이모듈을 활용해서 녹음된 음성을 지정된 시간에 출력하고자하면 추가적인 타이머모듈로 연결해서 작업해야할까요? 버튼부도 따로 구매해서 달려고하는데 조언을 받고 싶은데 가능할까요? 회신 이메일 : u7kr@naver.com


댓글을 남겨 주세요.