WT588D-16P
Voice Play Module 12Bit PWM Output Support WAV Audio Format

Ultimo aggiornamento 4 novembre 2018


 

Indice

Descrizione

Il modulo WT588D è un potente circuito integrato di voce riprogrammabile a microcontrollore.
Il suo modo di controllo può essere modificato e i dati  scaricati tramite un'interfaccia Flash SPI dal nostro software per PC.
Il software è di facile utilizzo e supporta lo scaricamento online, anche con il chip alimentato, i dati possono essere scaricati alla relativa Flash SPI quindi reimpostare il circuito, la modalità di controllo verrà aggiornata.
I possono essere acquistati presso il sito www.plexishop.it questo link
Sono prodotti due tipi diversi di modulo uno a 28 PIN che possiede a bordo l'interfaccia di programmazione e un modulo a 16 Pin che necessita di un modulo di programmazione

homotix

Versione a 16 pin

Versione a 28 pin completa di programmatore

Caratteristiche

  1. Tensione operativa: 2.8-5.5V;

  2. Assorbimento a riposo 1uA (tipico); 3uA (max);

  3. Supporto memoria 2M-32Mbit SPI-Flash;

  4. Processore audio DSP  ad alta velocità;

  5. Built-in 13 bit / convertitore DA e 12 Bit / uscita PWM;

  6. Uscita PWM in grado di pilotare direttamente un altoparlante 0.5W - 8 ohm;

  7. Supporta DAC / PWM;

  8. Supporta caricamento di WAV formato audio; caricare il supporto 6K-22KHz frequenza di campionamento audio;

  9. USB download; possibilità di caricare on-line / off-line;

Piedinatura del modulo

PIN

Simbolo

Breve descrizione

Funzione

1

RESET

RESET

RESET PIN

2

PWM+/DAC

PWM+/DAC

PWM+/DAC AUDIO OUTPUT

3

PWM+/DAC

PWM+/DAC

PWM+/DAC AUDIO OUTPUT

4

PWM-

PWM-

PWM- AUDIO OUTPUT

5

P14

DI

PROGRAMMING  INPUT

6

P13

DO

PROGRAMMING OUTPUT

7

P16

CLK

CLOCK

8

GND

GND

GROUND

9

P15

CS

PROGRAMMING CHIP-SELECT

10

P03

K4/CLK/DATA

KEY/THREE-LINE CLOCK/ONE-LINE DATA INPUT

11

P02

K3/CS

KEY/THREE-LINE CHIP-SELECT INPUT

12

P01

K2/DATA

KEY/THREE-LINE DATA INPUT

13

P00

K1

KEY INPUT

14

VCC

VCC

MEMORIZER POWER INPUT

15

BUSY

BUSY

PLAY BUSY SIGNAL OUTPUT

16

VDD

VDD

DIGITAL POWER INPUT

M25PXX 512 Kbit to 32 Mbit, Low Voltage, Serial Flash Memory With 40 MHz or 50 MHz SPI Bus Interface
 
Piedinatura Datasheet Foto dell'integrato

wt588d - re-programming voice chip microcontroller
Piedinatura Datasheet Foto del modulo

Programmatore USB per il Downloader
e Testing del modulo audio WT588D

Per programmare e testare il modulo WT588D si può lo speciale dispositivo visibile nella foto sottostante, con esso è possibile testare vari modelli come: WT588D-16P, WT588d-28p.
Utilizzando l'apposito software si creerà il file che sarà compilato creando un file bin, a questo punto basterà inserire il modulo nell'apposito zoccolo ZIF, quindi ci collegherà il modulo al proprio PC utilizzando la porta USB.
La presenza dell'alimentazione sarà segnalata dall'apposito led presente. Il programma potrà gestire a questo punto il modulo WT588D tramite l'interfaccia SPI-Flash presente sul modulo.
Il modulo di test, dispone di vari tasti, prese per cuffie e altoparlante per il test completo del modulo.

  1. Uscita audio DAC, richiede amplificatore di potenza esterno, e WT588D desidera impostare come la modalità di uscita DAC;

  2. Uscita PWM audio per pilotare direttamente un altoparlante: Potenza 0.5W 8 ohm. Occorre impostare il modulo WT588D in modalità di uscita PWM;

  3. Pin VCC GND Vrest CS CLK DO DI in linea per accesso all'interfaccia;

  4. Pulsante di Reset (se si verifica un'interruzione del collegamento, si verifica un errore nel processo di connessione, e dopo aver completato il download, è possibile fare clic sul Pulsante Reset);

  5. Pulsante di test, dieci tasti K1, K2, K3, K4, K5, K6, K7, K8, K9, K10 corrispondono alla porta I /O P00, P01, P02, P03, P04, P05,P06, P07, P10, P11;

  6. Pin di reset, Pin delle porte I/O: P00 P01 P02 P03,  per il debug microcontrollore con il programma;

  7. Led indicatore del segnale occupato occupato (Busy);

  8. Led indicatore di alimentazione;

  9. Slot di ingresso cavo USB, collegato al computer tramite un cavo USB, dopo aver acceso l'alimentazione fornita dalla USB;

  10. Presenza zoccolo ZIF per il facile inserimento del modulo.

Gestione del modulo stand alone

L'utilizzo più semplice del modulo wt588D-16P, è quello tramite dei pulsanti, sino a 5, connessi ai pin da 1 a 5 (sigle da K1 a K5).
Portando momentaneamente a massa il relativo pin viene trasmesso dal modulo il file ad esso associato.
In pratica premendo il tasto associato a K1, sarà trasmesso il file 001.wav, premendo il tasto K2 sarà trasmesso il file 002.wav e così via.
Prima di premere un stato attendere che si spenga il led rosso presente sul modulo.

Schema di base da Datasheet

Schema di collegamento

BreadBoard Alimentatore per breadboard
Pulsante da CS Modulo WT588D-P16
Altoparlante 1W 8 Ohm Cavetti per Bread Board di vari colori

 

I file audio utilizzati per il test

Gestione base del modulo tramite Arduino

La libreria

Per la gestione del modulo WT588D-16P, si può utilizzare una scheda Arduino connessa tramite i segnali: Busy, Data, CS, CLK, Reset.
Per semplificare questa possibilità è disponibile una libreria (che può essere scaricata da questo link)
La Libreria scritta da Norbert Danneberg grazie per l'ispirazione e il codice iniziale di esempio "SugarBombs" sul forum di arduino è molto semplice e permette di riprodurre i suoni campionati memorizzati nella memoria flash del modulo WT588D (limitatamente a modello WT588D-16P 8+8) la libreria supporta varie modalità operative per attivare la riproduzione di file audio.
Attualmente questa libreria supporta solamente la modalità seriale a tre linee
Una volta salvato il file zip, sarà sufficiente utilizzare la funzione  fornita dall'IDE per aggiungere una libreria da file zip

 

Inclusione della libreria nello skech

#include "WT588D.h"

Impostare dei pin per l'utilizzo corretto dello shield del chip WT588D, i pissi possono essere diversi da quelli indicati

#define WT588D_RST 2 // Pin RST Module "REST" o pin # 1
#define WT588D_CS 4 // Pin CS Module "P02" o pin # 11
#define WT588D_SCL 3 // Pin CLK Module "P03" o pin # 10
#define WT588D_SDA 5 // Pin DATA Module "P01" o pin # 12
#define WT588D_BUSY 8 // Pin Module "LED/BUSY" o pin # 15

Assegnazione di pin e creazione dell'oggetto myWT588D

WT588D myWT588D(WT588D_RST, WT588D_CS, WT588D_SCL, WT588D_SDA, WT588D_BUSY);

Comandi disponibili:

setVolume(uint8_t volume); Regolazione del volume
playSound(uint8_t playListNumber);
Esecuzione file
startLoopSound(void);
Inzio loop
stopLoopSound(void);
Fine looop

 

Arduino uno Breadboard
Modulo WT588D-P16 Altoparlante 1W 8 Ohm
 
Cavetti per Breadboard di vari colori  

 

Pin WT588D-16P

Pin Arduino

Altoparlante

Reset

Pin 3

 

Busy

Pin 4

 

P01 (Data)

Pin 5

 

P02 (CS)

Pin 6

 

P03 (CLK)

Pin 7

 

VCC

+3.3V

 

VDD

+5V

 

GND

GND

 

PWM+

 

SPK+

PWM-

 

SPK-

Schema base per il collegamento con Arduino

Schema di collegamento

Per esempio il programma mostrato pronuncia i numeri da 1 a 10 e da 10 a 1.

Programma  di test

I file audio utilizzati per il test

 

/*
  Test_WT588D.ino
  Il programma pronuncia i numeri da 1 a 10 e da 10 a 1
  Basato su libreria di Norbert Danneberg,  https://github.com/ACDCLabs/WT588D

  Creato il 9/4/2017 da Adriano Gandolfo
  Sito web https://www.adrirobot.it
  Blog http://it.emcelettronica.com/author/adrirobot
  Pagina Facebook https://www.facebook.com/Adrirobot-318949048122955
  Istagram https://www.instagram.com/adrirobot/
  This example code is in the public domain.
*/


#include "WT588D.h"
// impostare i corretti contatti per il chip WT588D
#define WT588D_RST 3  // Pin Module "REST" o pin # 1
#define WT588D_CS 6   // Pin Module "P02" o pin # 11
#define WT588D_SCL 7  // Pin Module "P03" o pin # 10
#define WT588D_SDA 5  // Pin Module "P01" o pin # 12
#define WT588D_BUSY 4 // Pin Module "LED/BUSY" o pin # 15

//Assegnazione dei pin
WT588D myWT588D(WT588D_RST, WT588D_CS, WT588D_SCL, WT588D_SDA, WT588D_BUSY);

void setup() {
  // Inizializzazione del modulo
  myWT588D.begin();
  speakPhrase(12); // Test_modulo_seriale
  speakPhrase(11); // citazione_adrirobot
}

void loop()
{
  //Riproduzione dei numeri da 0 a 10
  for (int playListNumber = 0; playListNumber < 11; playListNumber ++) {
    speakPhrase(playListNumber);
  }
  //Riproduzione dei numeri da 10 a 0
  for (int playListNumber = 10; playListNumber > 0; -- playListNumber) {
    speakPhrase(playListNumber);
  }
}

// Attende che il WT588D abbia terminato di riprodurre il file wav
void busy(int pause) {
  delay(100);
  while (myWT588D.isBusy() ) {
  }
  delay(pause);
}
// Riproduzione del file wav indicato
void speakPhrase(int phrase) {
  myWT588D.playSound(phrase);
  busy(0);
}

Realizzazione shield per Arduino

Per un più facile utilizzo con Arduino si è pensato di realizzare un apposito Shield, questo permette di testare il modulo sia collegato ad Arduino sia in modalità stand alone in quanto sono presenti anche i tasto da K1 a K4.

Lo schema è lo stampato sono stati realizzati con il programma free EasyEDA, il progetto può essere visionato a questo link, per la realizzazione si è utilizzato il servizio di realizzazione fornito da JLCPCB

Immagine dello shield realizzato

 

Manuale uso del Software di programmazione

Indice

1. Installazione Software

Scaricare il file, e quindi fare doppio clic sul file "WT588D VoiceChip Beta 1.6 Setup.exe" avviare l'impostazione di software per PC.

 

 

2. Uso del software
2.1.1 Interfaccia del software.

L'interfaccia di programmazione dispone di due aree: Voice loading area: i file vocali carico qui, nell'area di modifica voce: file vocali Inserire formano zona di carico, e modificare. I file vocali in area di modifica non si occupa spazio di memoria.

 

2.1.2 Comandi

La prima operazione da compiere sarà quella si cambiare la lingua, sono disponibili il cinese e l'inglese.
Per quanto riguarda i comandi sono presenti:  "Nuovo progetto", "Apri progetto", "Compile (salva BIN)", "Opzioni", "Download dei dati".
Il comando Help non è attivo.

2.2. Nuovo progetto

Fare clic su "File" "Nuovo progetto" per creare un nuovo progetto.
Inserire il nome del progetto nella finestra di dialogo pop-up, e scegliere una cartella per salvarlo.

Premere il tasto "Save" il progetto si salva in una nuova cartella di progetto, questo sistema di nuova cartella include tutte le informazioni sul progetto.

2.3. Impostazioni formato memoria

Nell'angolo in alto a destra dell'interfaccia software,  può essere impostato il formato della memoria SPI-Flash. Sono disponibili i valori di :2M, 4M, 8M, 16M, 32M, 64M. Scegliere il formato secondo la dimensione del vostro modulo..

2.4. Caricamento file audio

La frequenza di campionamento vocale deve essere 6000Hz, 8000Hz, 10000Hz, 12000Hz, 14000Hz, 16000Hz, 18000Hz o 20000Hz, fare clic destro il pulsante del mouse e caricare i file vocali.

 

Scegli i file vocali, e premere "Apri".

A questo punto le loro informazioni sui file caricati saranno visualizzati, come il nome del file, frequenza di campionamento, bit, pista, la durata.

Per ascoltare il file caricato premere il tasto destro e premere "Play" il suono sarà emesso dall'altoparlante del PC se questo è disponibile.

2.5. Opzioni per modi di funzionamento

Fai clic su "Operation" "Options" entrare nell'interfaccia. Ci sono 5 modi di controllo, quella di default è la "Key mode" :

One-line serial

Utilizzare una linea seriale per comunicare con il chip, o attivare sequenze utilizzando appositi pin come nella modalità Key. Apparentemente difficile da utilizzare

3×8 Matrix

E' possibile gestire uno dei 24 suono da una combinazione di ingresso sui pin P00-P07 e P10-P12.
Non ci sono controlli disponibili, e richiede 11 pin solo per attivare i suoni . Non è possibile sul modulo a 16 pin. Molto limitato

Three-line serial

Utilizza tre pin per CS, DATI, SCK per un'interfaccia di controllo in stile SPI. Usato comunemente

Parallel port mode

Si tratta di un'interfaccia parallela con meno opzioni di controllo - e per un modulo a 16 pin, solo 3 pin sono disponibili per specificare 23 indirizzi, o un massimo di 8 sequenze sonore

Key mode (default)

Svolge una specifica sequenza di suoni o una playlist premendo un tasto specifico.
Si associa ogni suono ad un Pin specifico; per attivare premere un pulsante che viene messo a GND.
Per un modulo a 16 pin, pin solo P00 a P03 sono disponibili; versione 1.2 del modulo 28-pin definisce altri sei pin, o fino a quattro sequenze sonore chiave mappato discreti, o dieci, rispettivamente,

2.5.1. Modalità una linea seriale

Fai clic su "Operation" "Option", scegliere "One Line Mode" e premere "OK".

Fai clic su "Operation" "Key setup", è possibile vedere ogni I/O tasto corrispondente, il tasto 1 per KEY 10 default. KEY 4 (corrispondente P03 I/O) viene bloccato, P03 è pin DATA nel modo, non può essere utilizzato come un tasto.

Altri I/O possono essere utilizzati come tasti. Modalità Trigger tra cui :“No function”, “Edge retrigger”, ”Edge no retrigger”, ”Level hold loop”, “Level loop” ,”On/off” ,”Next unloop”, “Prev unloop” ,”Next loop” ,” Prev loop” ,”Level unloop”, “Pause” ,”Vol+”, “Vol-“,”Stop”.
Dopo scegliere la modalità di attivazione, quando il tasto corrispondente (I / O) impostato a livello basso, voce può essere innesco di giocare nella modalità di impostazione di trigger.
I tasti disponibili (I/O) sono stati in default come "Edge Retrigger ".

Fai clic su "Operation" "Equation Setup", per impostare di ogni tasto (I/O) l'indirizzo del trigger.

 

Da KEY 1 a KEY 10  l' indirizzo di trigger è 0 ~ 9  di default, gli indirizzi possono essere cambiati di numero di ingresso compreso tra 0 ~ 219. I seguenti modi di innesco possono dirigere gli indirizzi di voce di trigger. "Edge retrigger”, “ Edge no retrigger” ,”Level hold loop”, “Level loop”,” On/off” ,”Level unloop”.
Solo il tasto corrispondente (I/O) impostato su queste modalità di trigger, indirizzi può essere attivato direttamente.
Indirizzi informazioni si prega di fare riferimento al 2,8 INDIRIZZI VOICE

2.5.2. Modalità tre linee seriale

Fai clic su "Operation" "Option" e scegliere "Three Line Mode" e premere "OK".

In questo modo, tutti gli I/O non posso essere utilizzati come tasti Come si può vedere tutti i tasti sono stati bloccati

 

Aprire "Operation" "Equation Setup", tasto 2 (P01), Tasto 3 (P02), Tasto 4 (P03) sono stati bloccati.

2.5.3. Modalità tasti

Fai clic su "Operation" "Option" e scegliere "Key Mode" e premere "OK".

In questa modalità, i tasti da Key 1 (P00) a Key 10 (P11) sono tutti validi.  Aprire "Operation" "Equation Setup", la modalità di attivazione tasti (I/O) può essere modificato dal menu a discesa. La modalità di attivazione predefinita è Edge Retrigger.

Gli indirizzi trigger possono essere modificati da Input addresses.

I tasti da 1 a 10 hanno per default gli indirizzi da 0 a 9, gli indirizzi possono essere cambiati nell'intervallo compreso tra 0 e 219. I seguenti modi di attivazione possono dirigere gli indirizzi di voce d. “Edge retrigger”, “ Edge no retrigger” ,”Level hold loop”, “Level loop”,” On/off” ,”Level unloop”.
Solo il tasto corrispondente (I/O) impostato su queste modalità di trigger, indirizzi può essere attivato direttamente.
Per informazioni sugli indirizzi si prega di fare riferimento al capitolo 2,8 INDIRIZZI VOICE.

2.5.4. Modalità matrice 3x8

Fai clic su "Operation" "Option" e scegliere "3x8 Matrix Mode" e premere "OK".

In questa modalità, l'indirizzo voce innescato da Matrix (costituiti da I/O), tutti i tasti sono stati Bloccati e in modalità Retrigger Edge.

 Aprire "Operation" "Equation Setup", 24 indirizzi di voce può essere impostata da 0 ~ 219.

2.5.5 Modalità parallela

Fai clic su "Operation" "Option" e scegliere "Parallel port mode" e premere "OK".

In questa modalità, il tasto 1 (P00) è definito come pin di SBT, mentre P01, P02, P03, P04, P05, P06, P07, P10 sono indirizzi.
Aprire “Operation” ”Key setup”,  solo la modalità di attivazione tasto 1 del può essere modificata. Vi proponiamo di impostarlo a "Edge retrigger " o "Edge no retrigger" o "Level hold loop" o "Level loop" o "on/off" o "Level unloop". Poiché questi modi possono indirizzare direttamente gli indirizzi voce di trigger.

Aprire  “Operation” ”Key setup”, il cambiamento di impostazione key1 non è valido.

2.6. Uscita audio

Aprire "Operation” ”Options”  e scegliere la modalità di uscita audio.
Uscita DAC: è necessario un amplificatore esterno
Uscita PWM: è pilotato direttamente l'altoparlante

2.7. Impostazione busy

Aprire "Operation” ”Options”  per impostare la porta di BUSY (occupato) (I/O P17) ad alto o basso livello durante la riproduzione vocale.

2.8. Indirizzi voice

Scegliere il numero di Equation con "+" o "-", e caricare (doppio clic del pulsante sinistro o fare clic sul pulsante a destra) i file vocali da "VOICE LOADING AREA", file vocali possono essere riutilizzati.

Ci sono 0 ~ 219 opzioni in "Equazione NO.", Gli indirizzi da "+" (o "W"), giù gli indirizzi di "-" (o "S"). Ad esempio, impostare il tasto MODE 1 trigger "retrigger Edge", Equazione No. come 0, 1 chiave (P00) può innescare voci da svolgere in ordine in indirizzo 0.
Ci sono 220 indirizzi vocali totali in 85 gruppi di voce possono essere carico a ciascun indirizzo max. Un intervallo di silenzio può essere inserito.
La stessa voce utilizzata in altri indirizzi, non avrà spazio di memoria aggiuntiva. (Basta prendere uno spazio voce). Allo stesso tempo il silenzio non occupa spazio. La dimensione totale dipende dalla dimensione di voci  presenti nella "VOICE LOADING AREA".

2.9. Insert mute (silenzio)

Cliccare con tasto destro del mouse nella "VOICE EDITING AREA", scegliere "“Insert” ” User defined silence ", oppure si possono utilizzare i valori standard di lunghezza del silenzio: 10ms, 20ms, 50ms, 100ms, 200ms, 300ms so direttamente.
Per esempio inserendo 10ms di silenzio tra la voce 1 e la voce 2, dopo che sarà stato trasmesso la  voce 1 ci saranno 10ms muti, prima della trasmissione della voce 2.

 

Anche con "User defined silence" è possibile inserire un silenzio. Per esempio, ecco come inserire una pausa di 100ms.

Dopo aver inserito il multiplo e premuto "OK" il silenzio di 100ms viene inserito.

2.10. Cancellazione voci vuote

Nella "VOICE LOADING AREA" possiamo scegliere la voce ed eliminare uno ad uno.  É anche possibile utilizzare "EMPTY", per cancellare tutte le voci presenti.
Allo steso modo è possibile svuotare tutte le voci presenti nella "VOICE EDITING AREA".
Nella "VOICE EDITING AREA", possiamo scegliere la voce ed eliminare uno ad uno. Scegliere "EMPTY", per cancellare tutte le voci di indirizzo attuale per una sola volta.

2.11. Compilazione (save bin)

Dopo aver impostato il progetto, dobbiamo compilarlo e creare il file BIN, da scaricare tramite l'interfaccia SPI-Flash sul modulo WT588D.
Aprire "Operation” "Compile (save bin)" o premere "F4", oppure l'apposita icona per compilare il file Bin.

Se la dimensione del file Bin è più grande rispetto alla memoria SPI-Flash, ci sarà una finestra di dialogo pop-up per informare che occorre una memoria più grande.
La percentuale della memoria occupata dal file bin viene mostrata nell'angolo in basso a destra.

2.12. Download dati

Inserire correttamente il modulo sul programmatore  e collegarlo al PC tramite il cavo USB,  apri "Tool” ”download data", oppure premere F5,  per scaricare i dati nella memoria flash.

Selezionare il formato Flash che si sta per programmare. E quindi fare clic su "Connect".

A questo punto fare clic su "OnekayDownLoad" per andare avanti.

A questo punto inizierà la cancellazione della memoria , terminato la quale inizierà il trasferimento dei dati in memoria SPI -Flash.

Se l'operazione sarà andata a buon fine sarà indicato "Download Success" e quindi il modulo sarà disconnesso.

2.13. Schema per le operazioni

Nota: Se si dispone già del file Bin, è possibile aprirlo dal software per PC e scaricare i dati direttamente, non sono necessari per la modifica di nuovo la voce.

Elenco revisioni

04/11/2018

Aggiornato pagina, inserito procedura caricamento libreria

21/08/2017

Inserito segnalazione shield

10/04/2017

Emissione preliminare

Private Policy Cookie Policy