Salut à tous,

Oh un tuto arduino… Ca faisait longtemps 🙂

J’ai reçu ce matin un petit module Voice Recorder compatible Arduino ( ISD1820 Sound recorder), que j’ai commandé uniquement pour tester et éventuellement m’amuser un peu 🙂

Le module est basé sur le  ISD1280, le principe est simple,il s’agit d’un module d’enregistrement et de lecture de message vocaux à 1 seule puce.  On appuie sur l’un des trois boutons (REC) pour enregistrer quelque chose et ensuite on à deux façons de le lire.

Enfin, le module a une capacité d’enregistrement de 10 secondes par défaut.

isd1820

Détail concernant l’achat

  • Objet: Sound Recorder Voice Recording Module With Micophone + 0.5W Loudspeaker
  • Prix: 1,62 EUR
  • Site d’achat: Ebay
  • Provenance: Chine.
  • Destination: Belgique
  • Livraison: 10 jours!
  • Vendeur: findyours 

 

Ce petit module est composé de 3 boutons:

  1. REC
  2. PLAYE
  3. PLAYL

voicerecorder

Dans l’ordre:

REC: Va nous permettre d’enregistrer quelque chose.

PLAY E: Permet de lire le son enregistré au complet (du début à la fin). Un appui lit tous l’enregistrement.

PLAY L: Quant à lui, il lit aussi le son enregistré mais il faut garder le bouton enfoncer pour le jouer. S’il est relâché puis pressé, il reprend à zéro.

PinOut et branchement module -> Arduino

  • VCC -> 5V
  • GND -> GND
  • FT
  • P-L
  • P-E -> Pin 7 de l’Arduino
  • REC

schema

Le module est livré avec deux jumper déja enfoncé sur le module.

Le controler avec l’Arduino

Dans l’exemple suivant j’utilise un IR sensor de ce type:

irsensor

Qui sera connecté quant à lui:

  • VCC -> 3.3V ou 5V de l’Arduino
  • GND -> Vers GND de l’Arduino
  • OUT -> Pin 2 de l’arduino

schema_total

Lorsqu’il détecte un passage l’Arduino changera l’état de la pin 7 ce qui donnera l’ordre de jouer le son enregistré. On utilisera que cette fonction (jouer le son) dans l’immédiat car c’est la plus intéressante.

Le code arduino:

              int inputSensor = 2; // Out de l'IR sensor
              int PlayE = 7; // PE du voice Recorder
              int irState = LOW; // Etat low par défaut de l'ir sensor
              int val = 0;
               
              void setup() {
                pinMode(inputSensor, INPUT); // Pin 2 en entrée
                pinMode(PlayE, OUTPUT); // Pin 7 en sortie
                Serial.begin(9600);
                Serial.println("init");
              }
               
              void loop(){
                val = digitalRead(inputSensor);
                if (val == HIGH) {
                  if (irState == LOW) {
                    digitalWrite(PlayE,HIGH);
                    irState = HIGH;
                  }
                } else {  
                  if (irState == HIGH){
                    digitalWrite(PlayE,LOW);
                    irState = LOW;
                  }
                }
              } 

Source