Audio shield per Arduino – in kit da saldare

19,50 IVA inclusa

Disponibilitร  immediata.

Basata sull’integrato ISD1760PY, questa shield per Arduino (Duemilanove, UNO o Mega), permette di registrare e riprodurre fino a 60 secondi di musica e parlato

SKU: 8220-KA02 Categorie: , Tag:

Basata sull’integrato ISD1760PY, questa shield per Arduino (Duemilanove, UNO o Mega), permette di registrare e riprodurre fino a 60 secondi di musica e parlato. L’accoppiamento ad Arduino รจ reso molto semplice grazie ad un’apposita libreria da caricare nello sketch, che provvede alla gestione del chip vocale ISD. Dispone di vari pulsanti di controllo (REC, PLAY, FWD, ERASE, VOL, ecc), capsula microfonica, una presa jack da c.s. per l’ingresso audio di linea e una presa per l’uscita audio. La registrazione dei messaggi si effettua direttamente tramite la capsula microfonica, l’ingresso audio di linea IN puรฒ essere utile per registrare messaggi o musica provenienti da una fonte esterna (piastre a cassette, lettori MP3, mixer ecc). La shield preleva l’alimentazione dai contatti 5 V e GND di Arduino. Particolarmente utile per attivare dei messaggi a voce al verificarsi di un evento in un impianto di allarme, per un controllo I/O generico e per domotica, oppure per far riprodurre un avviso quando viene rilevato l’approssimarsi di una persona o di un veicolo in una zona. Dimensioni (mm): 71×53.

Sketch di esempio

Il seguente sketch permette di gestire le funzioni della shield.

#include <ISD1700.h>
ISD1700 chip(10); // Initialize chipcorder with
   // SS at Arduino's digital pin 10
int apc=0;
                     int vol=0; //volume 0=MAX, 7=min
int startAddr=0x10;
                     int endAddr =0x2DF;
                     int inInt=0;
                     void setup()
                     {
   apc = apc | vol; //D0, D1, D2
   
   //apc = apc | 0x8; //D3 comment to disable output monitor during record
   
   apc = apc | 0x50; // D4& D6 select MIC REC
   //apc = apc | 0x00; // D4& D6 select AnaIn REC
   //apc = apc | 0x10; // D4& D6 select MIC + AnaIn REC
   
   apc = apc | 0x80; // D7 AUX ON, comment enable AUD
   
   apc = apc | 0x100; // D8 SPK OFF, comment enable SPK
   
   //apc = apc | 0x200; // D9 Analog OUT OFF, comment enable Analog OUT
   
   //apc = apc | 0x400; // D10 vAlert OFF, comment enable vAlert
   
   apc = apc | 0x800; // D11 EOM ON, comment disable EOM
   
   
   
   Serial.begin(9600);
   Serial.println("Sketch is starting up");
   }
void loop()
                     {
   char c;
   
   if(Serial.available())
   {
   /* Power Up */
   chip.pu();
   c = Serial.read();
   switch(c)
   {
   case 'A':
   Serial.println(chip.rd_apc(), BIN);
   break; 
   case 'Y':
   chip.play();
   break;
   case 'P':
   chip.stop();
   delay(500);
   break;
   case 'E':
   chip.erase();
   delay(500);
   break;
   case 'R':
   chip.rec();
   break;
   case 'F':
   chip.fwd();
   delay(500);
   break;
   case 'Z':
   chip.g_erase();
   delay(500);
   break;
   case 'I':
   Serial.println(chip.devid(), BIN); 
   break;
   case 'W': 
   Serial.println(apc, BIN);
   chip.wr_apc2(apc); //
   break;
   case 'S': 
   Serial.println(chip.rd_status(), BIN);
   break;
   case '>': 
   startAddr=SerialIn(); 
   Serial.print("startAddr: ");
   Serial.println(startAddr);
   break; 
   case '<': 
   endAddr=SerialIn(); 
   Serial.print("endAddr: ");
   Serial.println(endAddr);
   break; 
   case 'y':
   chip.set_play(startAddr,endAddr);
   break;
   case 'r':
   //chip.set_erase(startAddr,endAddr);
   //delay(500);
   chip.set_rec(startAddr,endAddr);
   break;
   case 'e':
   chip.set_erase(startAddr,endAddr);
   delay(500);
   break;
   
   }
   Serial.print("Status---> ");
   Serial.print(chip.CMD_ERR()? "CMD_ERR ": "OK ");
   Serial.print(chip.PU()? "PU ": "NO PU ");
   Serial.print(chip.RDY()? "RDY ": "Not_RDY ");
   Serial.print(chip.rd_status(), BIN);
   Serial.println();
   delay(1000);
   }
   }
int SerialIn(){
   inInt=0;
   
   while (Serial.available() <= 0) 
   {
   delay(300);
   }
   while (Serial.available()) {
   // get the new byte:
   char c = Serial.read(); 
   // add it to the inputString:
   inInt = (inInt*10) + (c-48);
   // if the incoming character is a newline, set a flag
   // so the main loop can do something about it:
   if (c == 'n') {
   //stringComplete = true;
   Serial.print("stringComplete ");
   } 
   }
   //c = Serial.read()-48; 
   //mess(c);
 return (inInt);
                       
                       }
                       /*
                       void mess(int num){
   Serial.print("num: ");
   Serial.println(num);
   startAddr=(0x50*num)+0x10;
   endAddr=(startAddr+0x50)-1;
   Serial.print("startAddr: ");
   Serial.print(startAddr, HEX);
   Serial.print(" - endAddr: ");
   Serial.println(endAddr, HEX);
   
   }
   */
Schermate del software
Software per PC appositamente realizzato da noi per gestire i messaggi all’interno di qualsiasi integrato ISD1700 e programmare gli integrati di tale famiglia; il software consente di caricare nel chip vocale file audio memorizzati nel computer definendo eventualmente anche le locazioni di memoria in cui scriverli o lasciando che sia il PC a decidere come collocarli.
CLICCA SULL’IMMAGINE PER INGRANDIRE
CLICCA SULL’IMMAGINE PER INGRANDIRE
Informazioni aggiuntive
  • Il prodotto รจ in kit da saldare
  • La scheda Arduino non รจ compresa
  • รˆ disponibile anche la versione montata codice 8220-VMA02
Documentazione e link utili

 

Documentazione Tecnica
PDF italiano

Menu