Code et vidéo Arduino : enregistreur vocal ISD1820
Le module ISD1820 est un enregistreur vocal simple qui vous permet d'enregistrer et de lire de l'audio en utilisant un Arduino. Dans ce tutoriel, vous apprendrez à configurer l'ISD1820 avec un Arduino pour enregistrer jusqu'à 20 secondes de son et le rejouer sur commande. Ce projet est parfait pour les débutants souhaitant explorer le traitement audio avec Arduino.

Tout au long de ce tutoriel, vous trouverez des identificateurs clés utilisés dans le code, tels queREC,PLAY_E, etPLAY_L. Ces identifiants correspondent aux broches utilisées pour les fonctions d'enregistrement et de lecture. De plus, les extraits de code fournis aideront à clarifier la logique de programmation derrière ce projet. Pour une explication plus détaillée, n'oubliez pas de consulter la vidéo (voir à 00:00).
Le matériel expliqué
Le composant principal de ce projet est le module d'enregistrement vocal ISD1820, qui peut enregistrer de l'audio jusqu'à 20 secondes. Il possède plusieurs broches permettant de contrôler l'enregistrement, la lecture et le passage direct du signal. Le module fonctionne sous une tension d'alimentation de 3 V à 4,5 V, ce qui le rend compatible avec la plupart des cartes Arduino.
En plus du module ISD1820, vous aurez besoin d'une carte Arduino, d'un haut-parleur et d'un microphone. L'Arduino contrôlera les fonctions d'enregistrement et de lecture via des broches numériques. Le fonctionnement du module est simple : il enregistre l'audio lorsque la broche d'enregistrement est mise à l'état haut et lit l'audio lorsque les broches de lecture sont activées.
Détails de la fiche technique
| Fabricant | ISD1820 |
|---|---|
| Numéro de pièce | ISD1820 |
| Tension logique/E/S | 3,3 V typ. |
| Tension d'alimentation | 3.0 V à 4.5 V |
| Courant de repos | 0,5 µA typique |
| Courant de fonctionnement | 30 mA maximum |
| Durée d'enregistrement | 20 s max. |
| Durée de lecture | 20 s max. |
| Paquet | 8 broches DIP |
- Assurez-vous que la tension d'alimentation est comprise entre 3.0 V et 4.5 V pour éviter d'endommager le module.
- Utilisez des résistances pour ramener le signal 5V de l'Arduino au niveau logique 3.3V pour une interface sûre.
- Surveillez la consommation de courant ; le module peut consommer jusqu'à 30 mA pendant son fonctionnement.
- Connectez un haut-parleur à faible puissance (0,5 W) à la sortie audio pour la lecture.
- Le module prend en charge différentes durées d'enregistrement ; ajustez le minutage en fonction de vos besoins.
Instructions de câblage

Pour câbler l'ISD1820 à votre Arduino, commencez par connecter le module.VCCConnectez la broche à la sortie 3.3V de l'Arduino. Ensuite, connectez leGNDConnectez la broche du module à l'une des broches de masse de l'Arduino. Pour les broches de commande, connectez celles du module...RECconnecter la broche à la broche 2 de l'Arduino,PLAY_Eà la broche 3,PLAY_Là la broche 4, etFTà la broche 5.
Comme l'Arduino fonctionne à 5V, vous devrez utiliser un diviseur de tension pour connecter en toute sécurité les broches de commande. Par exemple, connectez une résistance de 5 kΩ entre la broche de l'Arduino et la broche de commande du module, puis connectez une résistance de 3.3 kΩ entre la broche de commande du module et la masse. Répétez ce processus pour toutes les broches de commande supplémentaires afin de vous assurer qu'elles reçoivent les niveaux de tension corrects.
Exemples de code et guide pas à pas
Le fragment de code suivant définit les broches utilisées pour l'enregistrement et la lecture. Cela vous permet de référencer facilement ces broches dans votre code plutôt que d'utiliser des valeurs codées en dur.
#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 playbackDans la fonction setup, nous initialisons les broches en tant que sorties. Cela garantit que l'Arduino peut contrôler efficacement le module 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
}La boucle principale vérifie les entrées utilisateur depuis le moniteur série. Selon le caractère reçu, elle déclenchera les actions appropriées, comme l'enregistrement ou la lecture de l'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
}
}Cette structure conditionnelle permet un contrôle flexible de l'ISD1820 en fonction des entrées de l'utilisateur, ce qui facilite l'enregistrement et la lecture audio selon les besoins. Pour plus de détails, le code complet est présenté ci-dessous, sous l'article.
Démonstration / À quoi s'attendre
Une fois que tout est configuré et que le code est téléversé, vous devriez pouvoir enregistrer de l'audio en envoyant lercommande via le moniteur série et lecture en utilisant lepcommande. Le comportement attendu comprend une réponse dans le moniteur série indiquant quand l'enregistrement commence et s'arrête, ainsi que quand la lecture commence et se termine. Gardez à l'esprit le timing défini dans le code ; par exemple, l'enregistrement est réglé sur 3 secondes, et la lecture sur 5 secondes (dans la vidéo à 05:00).
Ce dont vous pourriez avoir besoin
-
Amazon
-
eBayISD1820 Voice Recorder from eBayebay.us
-
AliExpressISD1820 Voice Recorder from AliExpresss.click.aliexpress.com
Ressources et références
Aucune ressource pour le moment.
Fichiers📁
Fichier Fritzing
-
ISD1820 voice recorder module
application/zip0.01 MB