Enregistreur et lecteur vocal ISD1820 piloté par Arduino
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino UNO | 1 |
| Module ISD1820 | 1 |
| Haut-parleur 0,25 W, 8 Ω | 1 |
| Fils de connexion (jumper wires) | 6 |
À propos de ce projet
L'idée derrière
Je cherchais sur internet un dispositif capable d'enregistrer et de rejouer la voix. J'ai trouvé l'ISD1820, très abordable (environ 3 $), qui peut enregistrer seul via des boutons physiques. Mon but : le contrôler entièrement par Arduino (enregistrement et lecture via le port série).
Ce projet s'adresse aux débutants et à ceux qui veulent comprendre le fonctionnement de l'ISD1820 avec Arduino. Il peut être étendu bien au-delà.
Visitez www.gadgetprogrammers.online pour la description complète et de nouvelles idées.
Comment ça marche
L'ISD1820 enregistre jusqu'à 20 secondes (on peut aussi stocker sur carte SD). Ici, on enregistre quand l'utilisateur tape 'r' dans le moniteur série, et on lit quand il tape 'p'.
Broches principales de l'ISD1820 :
- VCC — Alimentation 3,3 V
- GND — Masse
- REC — Entrée d'enregistrement (niveau HAUT actif). L'enregistrement dure tant que REC reste HAUT. Prioritaire sur la lecture.
- PLAYE — Lecture déclenchée par front montant. Joue jusqu'au marqueur EOM ou fin de mémoire.
- PLAYL — Lecture déclenchée par niveau (transition BAS→HAUT).
- SP+/SP- — Sorties haut-parleur (impédance min. 8 Ω).
- MIC — Entrée microphone (préampli intégré).
- FT — Mode "Feed Through" : le microphone pilote directement le haut-parleur.
- P-E — Lecture en boucle continue.
Câblage
- VCC → Arduino 5V
- GND → Arduino GND
- FT → Broche 5
- PLAYL (PL) → Broche 4
- PLAY_E (P-E) → Broche 3
- REC → Broche 2
Deux exemples de code sont fournis :
- Exemple 1 : L'utilisateur décide quand enregistrer/lire via le moniteur série.
- Exemple 2 : Enregistrement automatique 3 s, lecture 5 s, en boucle.
Exemple 1 : Contrôle utilisateur via moniteur série
/* ISD1820 Arduino Voice Recorder
* Enregistre et joue un son avec Arduino et ISD1820
* Code par Anshul Pareek, 06/06/2018
*/
#define REC 2
#define PLAY_E 3
#define FT 5
#define playTime 5000
#define recordTime 3000
void setup() {
pinMode(REC, OUTPUT);
pinMode(PLAY_E, OUTPUT);
pinMode(FT, OUTPUT);
Serial.begin(9600);
}
void loop() {
while (Serial.available() > 0) {
char inChar = (char)Serial.read();
if (inChar == 'p' || inChar == 'P') {
digitalWrite(PLAY_E, HIGH);
delay(50);
digitalWrite(PLAY_E, LOW);
Serial.println("Lecture démarrée");
delay(playTime);
Serial.println("Lecture terminée");
break;
} else if (inChar == 'r' || inChar == 'R') {
digitalWrite(REC, HIGH);
Serial.println("Enregistrement démarré");
delay(recordTime);
digitalWrite(REC, LOW);
Serial.println("Enregistrement arrêté");
}
Serial.println("### Moniteur série quitté ###");
}
Serial.println("### Tapez r pour enregistrer, p pour jouer ###");
delay(500);
}
Exemple 2 : Enregistrement/lecture automatique en boucle
#define REC 2
#define PLAY_E 3
#define FT 5
#define playTime 5000
#define recordTime 3000
#define playLTime 900
void setup() {
pinMode(REC, OUTPUT);
pinMode(PLAY_E, OUTPUT);
pinMode(FT, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(REC, HIGH);
delay(recordTime);
digitalWrite(REC, LOW);
digitalWrite(PLAY_E, HIGH);
delay(50);
digitalWrite(PLAY_E, LOW);
delay(playTime);
delay(500);
}
Évolutions possibles : Enregistrer sur carte SD, créer un talkie-walkie, etc. Selon votre imagination !
Si vous aimez, partagez ! Visitez www.gadgetprogrammers.online.
Schéma
Deux schémas de câblage sont fournis (images).
Processus de fabrication
- Canaux et Écluses : Ingénierie, Histoire et Avenir du Transport Fluvial aux États-Unis
- L'évolution et l'artisanat des arcs et flèches : de la chasse ancienne à l'ingénierie moderne
- L'art et le processus de production des disques vinyles LP
- Scratch & Sniff : la science et l'art de l'impression olfactive microencapsulée
- Beurre vs margarine : histoire, production et perspectives santé
- Construire une station météo et qualité de l'air Raspberry Pi avec InfluxDB et Grafana
- Contrôle de température brassage maison DIY : Surveiller et réguler avec Arduino
- Contrôleur gant DIY low‑cost & voiture à hélice – Construisez votre propre contrôleur main Arduino
- Comment les applications vocales d'entrepôt protègent commandes et travailleurs : 4 avantages clés