Code et vidéo Arduino : enregistreur vocal ISD1820

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.

isd1820 voice recording module

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

FabricantISD1820
Numéro de pièceISD1820
Tension logique/E/S3,3 V typ.
Tension d'alimentation3.0 V à 4.5 V
Courant de repos0,5 µA typique
Courant de fonctionnement30 mA maximum
Durée d'enregistrement20 s max.
Durée de lecture20 s max.
Paquet8 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

Arduino wiring for ISD1820 voice_recorder
Arduino wiring for ISD1820 voice_recorder

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 playback

Dans 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).

Images

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
Langue: C++
Copié !

Ce dont vous pourriez avoir besoin

Ressources et références

Aucune ressource pour le moment.

Fichiers📁

Fichier Fritzing