ISD1820 Voice Recording and Playback Module¶
In order to be able to integrate a sound in the project, we have utilized the ISD1820 module. This module allows you to record and play a 10 second voice message.
Operation¶
This module has a microphone to record a sound/voice message and a speaker to play the sound. To operate the ISD1820 module, connect 5V and ground to the VCC and GND ports, connect a speaker to the speaker ports and connect the microphone jack to a phone. Open the sound you want to record from your phone while simultaneously hold down the REC button. To play the entire recording , press on the PLAYE button. To play the recording to a specific part, press and hold the PLAYL button.
Problems Encountered¶
We have had two main problems with this module:
1- Low Speaker Sound¶
The speaker provided with the module outputs a very faint sound which required us to either use a sound amplifier to increase the sound or try out other speakers. Since we did not find a sound amplifier in FabLab, we tried out multiple speakers but, all of them outputted a low sound.
Then, Dua gave us another speaker and thankfully, it had a much stronger sound compared to the previous ones.
2- Unclear Microphone¶
The microphone soldered on the ISD1820 board is a condenser microphone which picks up a lot of the background noise resulting in an unclear recording. To solve this issue, I desoldered the microphone and soldered a microphone jack to allow me to use my phone and the microphone. I did that because we did not have a different type of microphone at FabLab.
Using the Microcontroller¶
In our project, we wanted to include a button to record and an LED to indicate that the recording process is happening. To do that, we connected a button to the REC pin on the ISD1820 module. The button example code in the Arduino IDE was used.
Circuit Connections¶
Code Used¶
/*
Button
Turns on and off a light emitting diode(LED) connected to digital pin 13,
when pressing a pushbutton attached to pin 2.
The circuit:
- LED attached from pin 13 to ground through 220 ohm resistor
- pushbutton attached to pin 2 from +5V
- 10K resistor attached to pin 2 from ground
- Note: on most Arduinos there is already an LED on the board
attached to pin 13.
created 2005
by DojoDave <http://www.0j0.org>
modified 30 Aug 2011
by Tom Igoe
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Button
*/
// constants won't change. They're used here to set pin numbers:
const int buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 6; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}
void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
} else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}