산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

DIY 자동 음성 녹음 및 재생

구성품 및 소모품

Arduino UNO
× 1
isd1820
× 1
스피커:0.25W, 8옴
× 1
점퍼 와이어(일반)
× 6

이 프로젝트 정보

그 뒤에 숨겨진 아이디어!

나는 음성을 녹음하고 다시 재생하는 장치를 찾기 위해 인터넷을 저글링했습니다. ISD1820은 매우 합리적이며(단 3$) 일부 녹음을 사용하여 혼자 소리를 녹음할 수 있습니다. 및 재생 버튼. 아두이노를 사용하여 이 장치를 제어해야 합니다. 아두이노를 통해서만 음성을 녹음하고 재생하는 것을 의미합니다.

이 프로젝트는 초보자와 Arduino와 함께 ISD1820의 기능에 대해 배우고자 하는 사람들을 위한 것입니다. 그러나 아주 큰 의미로 확장할 수도 있습니다.

전체 설명과 새로운 아이디어를 보려면 www.gadgetprogrammers.online을 방문해야 합니다.

작동 원리!

먼저 ISD1820을 통해 음성을 녹음하기만 하면 20초 동안 녹음할 수 있으며(sd 카드에도 음성을 저장할 수 있음) 계속해서 재생할 수 있습니다. 그래서 여기서는 사용자가 직렬 모니터에서 'r'을 누르면 음성을 녹음하고 사용자가 직렬 모니터에서 'p'를 누르면 재생합니다.

이것이 우리 시스템의 전체 작업이었습니다.

.

아래는 핀 작업입니다(건너뛸 수 있음):

<울>
  • VCC– 3.3V 전원 공급 장치
  • <울>
  • GND– 전원 접지
  • <울>
  • REC – REC 입력은 활성-HIGH 레코드 신호입니다. 모듈은 REC가 HIGH일 때마다 녹음을 시작합니다. 이 핀은 기록하는 동안 HIGH를 유지해야 합니다. REC는 재생(PLAYL 또는 PLAYE) 신호보다 우선합니다.
  • <울>
  • PLAYE – 재생, 에지 활성화:HIGH 진행 전환이 감지되면 EOM(End-of-Message) 마커가 발생하거나 메모리 공간의 끝에 도달할 때까지 계속됩니다.
  • <울>
  • PLAYL – 재생, 레벨 활성화, 이 입력 핀 레벨이 LOW에서 HIGH로 전환되면 재생 주기가 시작됩니다.
  • <울>
  • 스피커 출력 – SP+ 및 SP- 핀은 임피던스가 8Ω에 불과한 라우드스피커에 직접 구동을 제공합니다.
  • <울>
  • MIC – 마이크 입력, 마이크 입력은 신호를 온칩 프리앰프로 전송합니다.
  • <울>
  • FT – Feed Through:이 모드에서는 마이크가 스피커를 직접 구동할 수 있습니다.
  • <울>
  • P-E – 레코드를 끝없이 재생합니다.
  • 성공하자!

    아래와 같이 연결하십시오:

    <울>
  • VCC => 아두이노 5v
  • <울>
  • GND => 아두이노 GND
  • <울>
  • FT => Arduino 핀 5
  • <울>
  • 플레이 L(PL) => Arduino 핀 4
  • <울>
  • PLAY_E(P-E) => Arduino 핀 3
  • <울>
  • REC => Arduino 핀 2
  • 위의 핀아웃 후 코드 SAMPLE1 업로드:

    샘플 1:사용자가 음성 녹음을 결정하기를 원하는 경우

    샘플 2:3초 동안 음성을 자동으로 녹음하고 5초 동안 재생합니다.

    샘플 1:

    /** Arduino와 ISD1820 Sound Recorder*를 사용하여 소리를 녹음하고 재생하는 ISD1820 Arduino Voice Recorder*는 https://www.gadgetprogrammers.online/**에서 이 코드를 가져옵니다. ** ISD1820 Arduino Voice Recorder* Code Written by Pareek 교육용* 2018년 6월 6일 오후 11시 20분, */#define REC 2 // 핀 2는 녹음에 사용#define PLAY_E 3 // 핀 3은 재생 에지 트리거에 사용#define FT 5 // 핀 5는 피드 스루에 사용되며 // 기록하지 않습니다.#define playTime 5000 // 재생 시간 5초를 정의합니다. REC,OUTPUT);// REC 핀을 출력 pinMode(PLAY_E,OUTPUT)로 설정;// PLAY_e 핀을 출력 pinMode(FT,OUTPUT)로 설정;// FT 핀을 출력으로 설정 Serial.begin(9600); // 직렬 모니터 설정 }void loop() { while (Serial.available()> 0) { char inChar =(char)Serial.read(); if(inChar =='p' || inChar =='P'){ digitalWrite(PLAY_E, HIGH); 지연(50); 디지털 쓰기(PLAY_E, LOW); Serial.println("플레이백 시작됨"); 지연(재생시간); Serial.println("플레이백 종료"); 부서지다; } else if(inChar =='r' || inChar =='R'){ digitalWrite(REC, HIGH); Serial.println("녹화가 시작되었습니다."); 지연(기록시간); 디지털 쓰기(REC, LOW); Serial.println("녹음이 중지되었습니다"); } Serial.println(###직렬 모니터 종료"); }// wihileSerial.println(### 녹음하려면 r, 재생하려면 p를 입력하세요."); 지연(500);} 

    샘플 2:

    #define REC 2 // 핀 2는 녹음에 사용됩니다.#define PLAY_E 3 // 핀 3은 재생 에지 트리거에 사용됩니다. // PLAY_E가 HIGH가 되면 장치가 재생 시작하고 계속 재생합니다.#define FT 5 / / 핀 5는 피드를 통해 사용됩니다.#define playTime 5000 // 재생 시간 5초#define recordTime 3000 // 녹음 시간 3초#define playLTime 900 // 재생 시간 0.9초를 눌렀다 떼십시오.void setup() { pinMode(REC,OUTPUT );// REC 핀을 출력 pinMode(PLAY_E,OUTPUT)로 설정;// PLAY_e 핀을 출력 pinMode(FT,OUTPUT)로 설정;// FT 핀을 출력으로 설정 Serial.begin(9600);// 설정 up 직렬 모니터 }void 루프() { digitalWrite(REC, HIGH); 지연(기록시간); 디지털 쓰기(REC, LOW); 디지털 쓰기(PLAY_E, HIGH); 지연(50); 디지털 쓰기(PLAY_E, LOW); 지연(재생시간); 지연(500);} 

    이제 전체 시스템을 구축했습니다. 서둘러!

    미래 범위:

    당신 할 수 있습니다 음성을 녹음하고 나중에 사용할 수 있도록 SD 카드에 저장하면 무전기 등을 만들 수 있습니다..... 상상대로 :)

    도움이 되셨다면 공유 부탁드립니다........:)

    www.gadgetprogrammers.online

    을 위해 새로운 프로젝트를 구축할 수 있도록 방문하여 홍보해 주십시오. <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • 샘플 1
  • 샘플 2
  • 샘플 1Arduino
    이 코드를 ARDUINO에 붙여넣고 연결 빌드 후 실행하십시오.
    /** Arduino 및 ISD1820 Sound Recorder*를 사용하여 소리를 녹음하고 재생하려면 ISD1820 Arduino Voice Recorder*가 https://www.gadgetprogrammers.online/*에서 코드를 받으십시오. * ISD1820 Arduino Voice Recorder* Code Written by Anshul Pareek for the purpose of education* on June 06, 2018 at 11:20 pm, */#define REC 2 // pin 2 is used for recording#define PLAY_E 3 // pin 3 재생 에지 트리거#define FT 5에 사용됨 // 핀 5는 피드스루에 사용// 그리고 기록하지 않습니다.#define playTime 5000 // 재생 시간 5초#define recordTime 3000 // 녹화 시간 3초 시간을 연장할 수 있습니다. 최대 10초void setup() { pinMode(REC,OUTPUT);// REC 핀을 출력 pinMode(PLAY_E,OUTPUT)로 설정;// PLAY_e 핀을 출력 pinMode(FT,OUTPUT)로 설정;// FT 핀을 설정 출력으로 Serial.begin(9600);// 직렬 모니터 설정 }void loop() { while (Serial.available()> 0) { char inChar =(char)Serial.read(); if(inChar =='p' || inChar =='P'){ digitalWrite(PLAY_E, HIGH); 지연(50); 디지털 쓰기(PLAY_E, LOW); Serial.println("플레이백 시작됨"); 지연(재생시간); Serial.println("플레이백 종료"); 부서지다; } else if(inChar =='r' || inChar =='R'){ digitalWrite(REC, HIGH); Serial.println("녹화가 시작되었습니다."); 지연(기록시간); 디지털 쓰기(REC, LOW); Serial.println("녹음이 중지되었습니다"); } Serial.println(###직렬 모니터 종료"); }// wihileSerial.println(### 녹음하려면 r, 재생하려면 p를 입력하세요."); 지연(500);} 
    샘플 2Arduino
    3초 동안 음성을 계속 녹음합니다. 5초 동안 재생
    #define REC 2 // 핀 2는 녹음에 사용#define PLAY_E 3 // 핀 3은 재생-에지 트리거에 사용// PLAY_E가 HIGH가 되면 장치는 STARTS를 재생하고 계속#define FT 5 // 핀 5는 피드를 통해 사용됩니다.#define playTime 5000 // 재생 시간 5초#define recordTime 3000 // 녹음 시간 3초#define playLTime 900 // 재생 시간 0.9초를 눌렀다 떼기 void setup() { pinMode(REC ,OUTPUT);// REC 핀을 출력 pinMode(PLAY_E,OUTPUT)로 설정;// PLAY_e 핀을 출력 pinMode(FT,OUTPUT)로 설정;// FT 핀을 출력으로 설정 Serial.begin(9600);/ / 직렬 모니터 설정 }void loop() { digitalWrite(REC, HIGH); 지연(기록시간); 디지털 쓰기(REC, LOW); 디지털 쓰기(PLAY_E, HIGH); 지연(50); 디지털 쓰기(PLAY_E, LOW); 지연(재생시간); 지연(500);}

    회로도


    제조공정

    1. 운하 및 자물쇠
    2. 활과 화살
    3. LP 레코드
    4. 긁고 냄새 맡기
    5. 버터와 마가린
    6. 제조 이동성:데이터, 음성, 비디오 및 위치
    7. DIY 환경 및 대기 질 모니터
    8. DIY:HomeBrew의 온도 모니터링 및 규정
    9. DIY 저렴한 장갑 컨트롤러 및 프로펠러 자동차
    10. 주문 및 작업자를 보호하는 4가지 창고 음성 앱