Arduino Lektion 95: ISD1820 Voice Recorder

In diesem Beitrag möchte ich das VoiceRecorder Modul „ISD1820“ vorstellen.

VoiceRecorder ISD1820
VoiceRecorder ISD1820

Bezug

Das VoiceRecoder Modul ISD1820 habe ich über wish.com für knapp 3 € inkl. Versandkosten erstanden. Die Lieferzeit war jedoch mit 3 Wochen sehr lange. Wer nicht so lange warten möchte und vielleicht ein paar Euro mehr investieren möchte, kann dieses Modul auch bei ebay.de für ca. 6€ inkl. Versandkosten per Sofortkauf erstehen.

Lieferumfang

Zum Lieferumfang gehört ein neben der Platine (welche bereits vormontiert ist), ein Lautsprecher (8Ohm, 0,5W) sowie ein Anschlusskabel um den Lautsprecher mit der Platine zu verbinden.

Lieferumfang VoiceRecorder ISD1820 - Anschlusskabel & Lautsprecher
Lieferumfang VoiceRecorder ISD1820 – Anschlusskabel & Lautsprecher

Auf dem Lautsprecher und dem Anschlusskabel sind jeweils die Pole (+ & -) markiert sodass, der Aufbau kinderleicht ist.

Technische Daten

  • Betriebsspannung 3V bis 5V
  • Aufnahmedauer ca. 10sek.
  • Abmaße (LxBxH) 44 mm x 40 mm x 10 mm

Aufbau

Auf der Platine des VoiceRecorders sind neben dem Chip „ISD1820“,

  • ein Mikrofon für die Aufnahme,
  • ein 2 Poliger Anschluss, für den Lautsprecher,
  • eine 2 Polige Stiftreihe im Rastermaß 2,54 mm,
  • 3 Taster
    • Aufnahme (REC, rot),
    • Wiedergabe (PLAYE, schwarz),
    • Wiedergabe (PLAYL, schwarz)

enthalten.

Aufbau - VoiceRecorder ISD1820
Aufbau – VoiceRecorder ISD1820

Jumper & Pins

Die Jumper & Pinleiste dient zum Anschluss eines Mikrocontrollers zbsp. ein Arduino. Des Weiteren können durch die Jumper verschiedene Funktionen des ISD1820 aktiviert werden.

Jumper & Pins am VoiceRecorder ISD1820
Jumper & Pins am VoiceRecorder ISD1820

Aufnahme und Wiedergabe gleichzeitig

Wenn man die beiden Pins welche auf der Platine mit „FT“ bezeichnet sind verbindet (der Jumper muss dazu umgesteckt werden), dann wird das Modul als Verstärker genutzt, d.h. es wird über das Mikrofon aufgezeichnet und gleichzeitig über den Lautsprecher wiedergegeben.

Endlose Wiedergabe der letzten Aufzeichnung

Wenn man die beiden Pins, welche auf der Platine mit „P-E“ bezeichnet sind, verbindet, dann wird die letzte Aufzeichnung in einer Endlosschleife wiedergegeben.

Anschluss und Schaltung

Das VoiceRecorder Modul ISD1820 kann mit und ohne Mikrocontroller betrieben werden, zunächst einmal möchte ich erläutern wie dieser ohne Mikrocontroller betrieben wird und danach bauen wir eine Schaltung auf wo wir einen Sensor verwenden.

Schaltung ohne Mikrocontroller

Das VoiceRecorder Modul benötigt eine Betriebsspannung von 3V bis 5V. Es wird also entweder ein Universal Netzteil benötigt, an welchem man die Spannung einstellen kann.

Steckernetzteil - Parameter
Steckernetzteil – Parameter

Oder aber man nutzt ein PowerSupply Modul für ein Breadboard. An diesem Modul kann man eine 9V Blockbatterie anklemmen und kann durch das Setzen eines Jumpers zwischen den Spannungen 3,3V und 5V wählen. Da ich für die Schaltungen sowieso ein Breadboard benötige, verwende ich genau so ein Modul für den Aufbau.

Stromversorgung für das Breadboard
Stromversorgung für das Breadboard

Da wir für den Aufbau ein Breadboard verwenden, benötigen wir noch 2 Breadboardkabel (männlich – weiblich, 20 cm).

Aufbau der einfachen Schaltung mit dem VoiceRecorder Modul ISD1820
Aufbau der einfachen Schaltung mit dem VoiceRecorder Modul ISD1820

Es wurde das Modul mit Spannung versorgt und nun kann man über die Aufnahmetaste „REC“ einen ca. 10 Sekunden langen Track aufnehmen.

Um die Qualität zu steigern muss man schon ziemlich dicht am Mikrofon sprechen.

Schaltung mit Arduino UNO

Nun möchte ich gerne vorstellen wie man den VoiceRecorder am Arduino UNO betreibt.

VoiceRecorder ISD1820 am Arduino
VoiceRecorder ISD1820 am Arduino

Über die bereits erwähnte Pinleiste können wir den Arduino anschließen. Dazu benötigen wir noch zusätzlich 1 Jumperkabel für den digitalen Pin.

Zur Aktivierung der Sprachausgabe nutze ich einen Shake Sensor. Hier kann man jeden beliebigen Sensor nehmen.

Sketch

Der Sketch ist eigentlich relativ einfach, denn, wir prüfen nur den Sensor ob dieser ein aktives Signal sendet oder ob dieses Signal in einem bestimmten Bereich liegt (wie in meinem Fall). Wenn das Signal anliegt, dann soll der digitale Pin, an welchem der VoiceRecorder angeschlossen wurde, kurz aktiviert werden.

Der Pin „P-E“ ist dem Taster „PLAYE“ gleichzusetzen, d.h. das Modul benötigt nur einen kurzen Impuls, um die gesamte Sprachausgabe zu starten. Sollte der Pin „P-L“ verwendet werden, so muss das Signal auf dem digitalen Pin solange anliegen bis die Sprachausgabe abgeschlossen ist.

#define PLAY 2 //der Pin P-E vom VoiceRecorder ISD1820 an dem digitalen Pin D2
#define SHAKE_SENSOR 10 //Sensor zum aktivieren der Sprachausgabe am digitalen Pion D10

void setup() { 
  pinMode(PLAY, OUTPUT); //setzen das der digitale Pin D2 ein Ausgang ist
  pinMode(SHAKE_SENSOR, INPUT);   //setzen das der digitale Pin D10 ein Eingang ist
}

void loop() {
  //lesen des Sensorwertes
  double sensorState = analogRead(SHAKE_SENSOR);
  //Wenn der Wert größer als 200 ist dann...
  if(sensorState > 200){
    //den digitalen Pin auf High setzen
    digitalWrite(PLAY, HIGH);  
    delay(125); //eine kleine Pause
    //den digitalen Pin auf Low setzen
    digitalWrite(PLAY, LOW);  
  }
}

Fazit

Ein kleines Modul, welches die Sprache in einer annehmbaren Qualität aufzeichnet und wiedergibt. Möchte man etwas mehr als nur eine Eingabe aufzeichnen oder diese Daten in eine Datei speichern wollen, muss man hier zu einem anderen Modul greifen (zbsp. VS1053 Mp3 Modul).

4 Kommentare

  1. Hallo Stefan,
    kann man den Voice Recorder im Stand alone betrieb resetten wenn er schon besprochen ist.
    Danke im voraus
    Gruß Uwe

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert