Étape 3: Le Code :
Code est plutôt simple, c’est donc aussi une tâche rapide une fois que les bibliothèques appropriées sont téléchargés.
/*
Clavier commande un module de WTV020-SD - 16p pour jouer la voix d’une carte Arduino.
Créé par Diego J. Arevalo, 6 août 2012.
Publié dans le domaine public.
Modifié par S & T Geotronics 21/08/2013
*/
#include < Wtv020sd16p.h >
#include < Keypad.h >
int resetPin = 3 ; 2 ; Le NIP de la broche de remise à zéro.
int clockPin = 9 ; 3 ; Le NIP de l’axe de l’horloge.
int dataPin = 8 ; 4 ; Le nombre de broches de la broche de données.
int busyPin = 5 ; Le NIP de la broche occupé.
/*
Créez une instance de la classe Wtv020sd16p.
1er paramètre : Reset code PIN.
paramètre 2: code PIN Clock.
paramètre 3: données numéro pin.
4ème paramètre : NIP occupé.
*/
Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin) ;
const byte rangs = 4 ; quatre rangées
const byte COLS = 3 ; trois colonnes
touches de char [lignes] [colonnes] = {}
{'1', « 2 », 3'},
{'4', « 5 », 6'},
{« 7 », « 8 », 9'},
{'*','0','#'}
};
rowPins Byte [rangs] = {12, 11, 10, 7} ; se connecter à la ligne de brochage du clavier
colPins Byte [CDL] = {6, 4, 2} ; se connecter à la liste des broches colonne du clavier
Clavier clavier = clavier (makeKeymap(keys), rowPins, colPins, lignes, colonnes) ;
void setup() {}
Initialise le module.
wtv020sd16p.Reset() ;
Serial.Begin(9600) ;
}
void loop() {}
clé char = keypad.getKey() ;
Si (touche! = NO_KEY) {}
Serial.println(Key) ;
int keynum = clé-48 ;
Switch (keynum) {}
cas 1 :
wtv020sd16p.asyncPlayVoice(1) ;
Delay(10000) ;
rupture ;
cas 2 :
wtv020sd16p.asyncPlayVoice(1010) ;
Delay(15000) ;
rupture ;
cas 3 :
wtv020sd16p.asyncPlayVoice(1030) ;
Delay(3000) ;
rupture ;
cas 4 :
wtv020sd16p.asyncPlayVoice(100) ;
Delay(3000) ;
rupture ;
cas no 5 :
wtv020sd16p.asyncPlayVoice(50) ;
Delay(3000) ;
rupture ;
cas 6 :
wtv020sd16p.asyncPlayVoice(1040) ;
Delay(3000) ;
rupture ;
cas 7 :
wtv020sd16p.asyncPlayVoice(1060) ;
Delay(3000) ;
rupture ;
cas 8 :
wtv020sd16p.asyncPlayVoice(1070) ;
Delay(3000) ;
rupture ;
cas 9 :
wtv020sd16p.asyncPlayVoice(1020) ;
Delay(10000) ;
rupture ;
case 0 :
wtv020sd16p.asyncPlayVoice(2) ;
Delay(10000) ;
rupture ;
par défaut :
en option
}
}
}