Codice Arduino e video: Registratore vocale Arduino ISD1820

Codice Arduino e video: Registratore vocale Arduino ISD1820

L'ISD1820 è un semplice modulo registratore vocale che ti permette di registrare e riprodurre audio usando un Arduino. In questo tutorial imparerai come configurare l'ISD1820 con un Arduino per registrare fino a 20 secondi di suono e riprodurlo su comando. Questo progetto è perfetto per i principianti che vogliono esplorare l'elaborazione audio con Arduino.

isd1820 voice recording module

Nel corso di questo tutorial troverai identificatori chiave utilizzati nel codice, comeREC,PLAY_E, ePLAY_L. Questi identificatori corrispondono ai pin utilizzati per le funzioni di registrazione e riproduzione. Inoltre, i frammenti di codice forniti aiuteranno a chiarire la logica di programmazione alla base di questo progetto. Per una spiegazione più dettagliata, assicurati di guardare il video a 00:00.

Hardware spiegato

Il componente principale di questo progetto è il modulo registratore vocale ISD1820, che può registrare audio fino a 20 secondi. Dispone di diversi pin per controllare le funzioni di registrazione, riproduzione e feed-through. Il modulo funziona con una tensione di alimentazione da 3V a 4.5V, rendendolo compatibile con la maggior parte delle schede Arduino.

Oltre al modulo ISD1820, avrai bisogno di una scheda Arduino, di un altoparlante e di un microfono. L'Arduino controllerà le funzioni di registrazione e riproduzione tramite i pin digitali. Il funzionamento del modulo è semplice: registra l'audio quando il pin di registrazione viene portato a livello alto e riproduce l'audio quando i pin di riproduzione vengono attivati.

Dettagli della scheda tecnica

ProduttoreISD1820
Numero di parteISD1820
Tensione logica/I/O3.3 V tip.
Tensione di alimentazione3.0 V a 4.5 V
corrente di riposo0.5 µA tipico.
Corrente di funzionamento30 mA massimo.
Durata di registrazione20 secondi al massimo.
Tempo di riproduzione20 s al massimo.
PacchettoDIP a 8 pin

  • Assicurarsi che la tensione di alimentazione sia compresa tra 3.0 V e 4.5 V per evitare di danneggiare il modulo.
  • Usa resistori per adattare il segnale da 5V dell'Arduino al livello logico di 3.3V per un'interfaccia sicura.
  • Monitorare il consumo di corrente; il modulo può assorbire fino a 30 mA durante il funzionamento.
  • Collegare un altoparlante a bassa potenza (0,5 W) all'uscita audio per la riproduzione.
  • Il modulo supporta varie durate di registrazione; regola la tempistica in base alle tue esigenze.

Istruzioni di cablaggio

Arduino wiring for ISD1820 voice_recorder
Arduino wiring for ISD1820 voice_recorder

Per collegare l'ISD1820 al tuo Arduino, inizia collegando il modulo.VCCCollega il pin all'uscita 3.3V sull'Arduino. Successivamente, collega ilGNDCollegare il pin del modulo a uno dei pin di massa dell'Arduino. Per i pin di controllo, collegare i pin del moduloRECcollega il pin al pin 2 di ArduinoPLAY_Eal pin 3,PLAY_Lal pin 4, eFTal pin 5.

Poiché l'Arduino funziona a 5V, sarà necessario utilizzare un partitore di tensione per collegare in sicurezza i pin di controllo. Ad esempio, collegare una resistenza da 5 kΩ dal pin dell'Arduino al pin di controllo del modulo, quindi collegare una resistenza da 3.3 kΩ dal pin di controllo del modulo alla massa. Ripetere questo processo per eventuali pin di controllo aggiuntivi per assicurarsi che ricevano i livelli di tensione corretti.

Esempi di codice e guida passo-passo

Il seguente frammento di codice definisce i pin utilizzati per la registrazione e la riproduzione. Questo ti permette di fare riferimento facilmente a questi pin nel tuo codice invece di usare valori codificati staticamente.

#define REC 2 // pin 2 is used for recording
#define PLAY_E 3 // pin 3 is used for playback-edge trigger
#define PLAY_L 4 // pin 4 is used for playback

Nella funzione setup inizializziamo i pin come uscite. Questo garantisce che l'Arduino possa controllare efficacemente il modulo ISD1820.

void setup() 
{
  pinMode(REC, OUTPUT); // set the REC pin as output
  pinMode(PLAY_L, OUTPUT); // set the PLAY_L pin as output
  pinMode(PLAY_E, OUTPUT); // set the PLAY_E pin as output
}

Il ciclo principale controlla l'input dell'utente dal monitor seriale. A seconda del carattere ricevuto, attiverà le azioni appropriate, come la registrazione o la riproduzione dell'audio.

void loop() {
  while (Serial.available() > 0) {
    char inChar = (char)Serial.read();
    if (inChar == 'p' || inChar == 'P') {
      digitalWrite(PLAY_E, HIGH); // Start playback
      delay(50);
      digitalWrite(PLAY_E, LOW); // Stop playback
    }
}

Questa struttura condizionale permette un controllo flessibile dell'ISD1820 in base all'input dell'utente, rendendo semplice registrare e riprodurre audio quando necessario. Per ulteriori dettagli, il codice completo è riportato sotto l'articolo.

Dimostrazione / Cosa aspettarsi

Una volta che tutto è impostato e il codice è stato caricato, dovresti essere in grado di registrare audio inviando ilrcomando tramite il monitor seriale e riproduzione utilizzando ilpcomando. Il comportamento previsto include un messaggio nel monitor seriale che indica quando la registrazione inizia e termina, così come quando la riproduzione inizia e termina. Tieni presente i tempi impostati nel codice; per esempio, la registrazione è impostata per 3 secondi e la riproduzione per 5 secondi (nel video a 05:00).

Immagini

Arduino wiring for ISD1820 voice_recorder
Arduino wiring for ISD1820 voice_recorder
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
72-This is the Arduino code and video: ISD1820 Arduino Voice Recorder
Lingua: C++
Copia!

Cose di cui potresti avere bisogno

Risorse e riferimenti

Nessuna risorsa ancora.

File📁

File Fritzing