In diesem Beitrag möchte ich das Voice Recorder Modul “ISD1820” vorstellen.
Bezug
Das Voice Recoder 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.
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
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.
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 Voice Recorders 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.
Jumper & Pins
Die Jumper & Pinleiste dient zum Anschluss eines Mikrocontrollers zum Beispiel ein Arduino. Des Weiteren können durch die Jumper verschiedene Funktionen des ISD1820 aktiviert werden.
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.
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.
Da wir für den Aufbau ein Breadboard verwenden, benötigen wir noch 2 Breadboardkabel (männlich – weiblich, 20 cm).
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.
Ü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).
Kannst Du mir einen Link zum Datenblatt des ISD1820 zukommen lassen, wir wollen etwas mit Spracherkennung machen in einem Jufo Projekt
Hi Christian,
ich habe auf die schnelle folgendes Datenblatt gefunden
https://www.allelectronics.com/mas_assets/media/allelectronics2018/spec/ME-63.pdf
Ich hoffe das hilft dir weiter.
Gruß,
Stefan Draeger
Hallo Stefan,
kann man den Voice Recorder im Stand alone betrieb resetten wenn er schon besprochen ist.
Danke im voraus
Gruß Uwe
Hi,
einen Reset gibt es laut Datenblatt nicht (https://www.allelectronics.com/mas_assets/media/allelectronics2018/spec/ME-63.pdf).
Ich denke, man kann den internen Speicher nur überschreiben.
Gruß,
Stefan