Stap 3: De Code:
Code is vrij eenvoudig, dus dit ook een snelle taak is zodra de juiste bibliotheken worden gedownload.
/*
Toetsenbord controle een WTV020-SD - 16P-module om te spelen stem van een Arduino board.
Gemaakt door Diego J. Arevalo, 6 augustus 2012.
Vrijgegeven in het publieke domein.
Bewerkt door S & T Geotronics 8/21/2013
*/
#include < Wtv020sd16p.h >
#include < Keypad.h >
int resetPin = 3; 2; Het pin-nummer van de resetpin.
int clockPin = 9; 3; Het pin-nummer van de pin klok.
int dataPin = 8; 4; Het pin-nummer van de pin van de gegevens.
int busyPin = 5; Het pin-nummer van de drukke pin.
/*
Maak een instantie van de klasse Wtv020sd16p.
1ste parameter: Reset pin-nummer.
2e parameter: de pincode van de klok.
3e parameter: gegevens pincode.
4e parameter: drukke pincode.
*/
Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);
Const byte rijen = 4; vier rijen
Const byte COLS = 3; drie kolommen
char toetsen [ROWS] [COLS] = {}
{'1', '2','3 '},
{'4', '5','6 '},
{'7', '8','9 '},
{'*','0','#'}
};
byte rowPins [ROWS] = {12 11, 10, 7}; verbinding maken met de pinouts rij van het toetsenbord
byte colPins [COLS] = {6, 4, 2}; verbinding maken met de kolom pinouts van het klavier
Toetsenbord toetsenbord toetsenbord = (makeKeymap(keys), rowPins, colPins, rijen, COLS);
VOID Setup {}
Initialiseert de module.
wtv020sd16p.reset();
Serial.begin(9600);
}
void loop {}
char sleutel = keypad.getKey();
Als (sleutel! = NO_KEY) {}
Serial.println(Key);
int keynum = toets-48;
schakelaar (keynum) {}
Case 1:
wtv020sd16p.asyncPlayVoice(1);
delay(10000);
breken;
Case 2:
wtv020sd16p.asyncPlayVoice(1010);
delay(15000);
breken;
Case 3:
wtv020sd16p.asyncPlayVoice(1030);
delay(3000);
breken;
Case 4:
wtv020sd16p.asyncPlayVoice(100);
delay(3000);
breken;
Case 5:
wtv020sd16p.asyncPlayVoice(50);
delay(3000);
breken;
Case 6:
wtv020sd16p.asyncPlayVoice(1040);
delay(3000);
breken;
Case 7:
wtv020sd16p.asyncPlayVoice(1060);
delay(3000);
breken;
zaak 8:
wtv020sd16p.asyncPlayVoice(1070);
delay(3000);
breken;
Case 9:
wtv020sd16p.asyncPlayVoice(1020);
delay(10000);
breken;
Case 0:
wtv020sd16p.asyncPlayVoice(2);
delay(10000);
breken;
standaard:
optioneel
}
}
}