Hacka alla telefoner! (3 / 4 steg)
Steg 3: Kod:
Koden är ganska enkelt så detta är också en snabbuppgift när korrekt biblioteken är hämtat.
/*
Knappsatsen styra en WTV020-SD - 16P modul att spela röster från en Arduino ombord.
Skapad av Diego J. Arévalo, 6 augusti 2012.
Ut i det offentliga rummet.
Modifierad av S & T Geotronics 8/21/2013
*/
#include < Wtv020sd16p.h >
#include < Keypad.h >
int resetPin = 3; 2. Den pin-kod Återställ PIN-koden.
int clockPin = 9; 3. Klockan stift pin nummer.
int dataPin = 8; 4. Data stift pin nummer.
int busyPin = 5; Pin-kod i upptagen PIN-koden.
/*
Skapa en instans av klassen Wtv020sd16p.
1. parameter: Återställ pin-kod.
2: a parametern: klocka pin-kod.
3: e parametern: Data nåla fast antal.
4: e parametern: upptagen pin-kod.
*/
Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);
CONST byte rader = 4; fyra rader
CONST byte COLS = 3; tre kolumner
char nycklar [rader] [COLS] = {
{"1", "2", "3"},
{'4', '5','6 '},
{'7', '8','9 '},
{'*','0','#'}
};
byte rowPins [rader] = {12 11, 10, 7}; ansluta till rad Stifttilldelningar för knappsatsen
byte colPins [COLS] = {6, 4, 2}; ansluta till kolumn Stifttilldelningar för knappsatsen
Tangentbordet knappsatsen = knappsatsen (makeKeymap(keys), rowPins, colPins, rader, kolumner);
void setup() {
Initierar modul.
wtv020sd16p.Reset();
Serial.BEGIN(9600);
}
void loop() {
char nyckel = keypad.getKey();
om (nyckel! = NO_KEY) {
Serial.println(Key);
int keynum = nyckel-48.
växel (keynum) {
fall 1:
wtv020sd16p.asyncPlayVoice(1);
Delay(10000);
bryta;
fall 2:
wtv020sd16p.asyncPlayVoice(1010);
Delay(15000);
bryta;
fall 3:
wtv020sd16p.asyncPlayVoice(1030);
Delay(3000);
bryta;
fall 4:
wtv020sd16p.asyncPlayVoice(100);
Delay(3000);
bryta;
fall 5:
wtv020sd16p.asyncPlayVoice(50);
Delay(3000);
bryta;
fall 6:
wtv020sd16p.asyncPlayVoice(1040);
Delay(3000);
bryta;
fall 7:
wtv020sd16p.asyncPlayVoice(1060);
Delay(3000);
bryta;
mål 8:
wtv020sd16p.asyncPlayVoice(1070);
Delay(3000);
bryta;
mål 9:
wtv020sd16p.asyncPlayVoice(1020);
Delay(10000);
bryta;
fall 0:
wtv020sd16p.asyncPlayVoice(2);
Delay(10000);
bryta;
standard:
tillval
}
}
}