Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Den Code für das Zusammenbauen der Zahlenausgabe habe ich fertig. Ich habe als Zahl Short verwendet, geht dann bis maximal 32767, wir brauchen hier ja nur Zahlen bis 255.
- Folgende MP3-Dateien muss man nur noch für die Zahlen anlegen:
- 0001. Eins
- 0002. Zwei
- 0003. Drei
- 0004. Vier
- 0005. Fünf
- 0006. Sechs
- 0007. Sieben
- 0008. Acht
- 0009. Neun
- 0010. Zehn
- 0011. Elf
- 0012. Zwölf
- 0013. Ein
- 0014. Virr (von vierzig)
- 0015. Zwann (von zwanzig)
- 0016. Sech (von sechzig)
- 0017. Sibb (von siebzig)
- 0018. Zigg (von zwanzig)
- 0019. Sigg (von dreißig)
- 0020. Und
- 0021. Hundert
- 0022. Tausend
- 0023. Null
- Hier der Code-Teil:
- // playNumber - Zahl von 0 bis 32767 (Short) ausgeben
- //
- void playNumber(short mp3Number, bool mp3Folder) {
- short s123;
- short s456;
- if (mp3Number > 32767 || mp3Number < 0) {
- return;
- }
- s123 = mp3Number / 1000;
- s456 = mp3Number - (s123 * 1000);
- if (s123 > 0) {
- playNumber3(s123, mp3Folder, true);
- playMp3File(22, mp3Folder);
- }
- if (s456 > 0) {
- playNumber3(s456, mp3Folder, false);
- }
- if (mp3Number == 0) {
- playMp3File(23, mp3Folder);
- }
- }
- // playNumber3 - dreistellige Zahl ausgeben
- //
- void playNumber3(short mp3Number, bool mp3Folder, bool mp3Tausend) {
- short s1;
- short s2;
- short s3;
- short rest;
- s1 = mp3Number / 100;
- rest = mp3Number - (s1 * 100);
- s2 = rest / 10;
- s3 = rest - (s2 * 10);
- if (s1 > 0) {
- if (s1 == 1) {
- playMp3File(13, mp3Folder);
- }
- else {
- playMp3File(s1, mp3Folder);
- }
- playMp3File(21, mp3Folder);
- }
- if (s2 == 0) {
- if (s3 == 1 && mp3Tausend == true) {
- playMp3File(13, mp3Folder);
- }
- else {
- playMp3File(s3, mp3Folder);
- }
- }
- else if (s2 > 1) {
- if (s3 == 1) {
- playMp3File(13, mp3Folder);
- }
- else {
- playMp3File(s3, mp3Folder);
- }
- if (s3 > 0) {
- playMp3File(20, mp3Folder);
- }
- switch (s2) {
- case 2:
- playMp3File(15, mp3Folder);
- break;
- case 4:
- playMp3File(14, mp3Folder);
- break;
- case 6:
- playMp3File(16, mp3Folder);
- break;
- case 7:
- playMp3File(17, mp3Folder);
- break;
- default:
- playMp3File(s2, mp3Folder);
- }
- if (s2 == 3) {
- playMp3File(19, mp3Folder);
- }
- else {
- playMp3File(18, mp3Folder);
- }
- }
- else {
- switch (s3) {
- case 0:
- playMp3File(10, mp3Folder);
- break;
- case 1:
- playMp3File(11, mp3Folder);
- break;
- case 2:
- playMp3File(12, mp3Folder);
- break;
- default:
- switch (s3) {
- case 4:
- playMp3File(14, mp3Folder);
- break;
- case 6:
- playMp3File(16, mp3Folder);
- break;
- case 7:
- playMp3File(17, mp3Folder);
- break;
- default:
- playMp3File(s3, mp3Folder);
- }
- playMp3File(10, mp3Folder);
- }
- }
- }
- // playMp3File - Mp3 ausgeben
- //
- void playMp3File(short mp3Number, bool mp3Folder) {
- if (mp3Number > 0) {
- if (mp3Folder == false) {
- mp3.playMp3FolderTrack(mp3Number);
- }
- else {
- mp3.playAdvertisement(mp3Number);
- }
- // Serial.print(mp3Number);
- // Serial.println(F(" = Nummer"));
- delay(300);
- do {
- delay(20);
- } while (isPlaying());
- }
- }
- // Test Function
- //
- void testCard() {
- Serial.println(F("Testkarte aufgelegt"));
- mp3.pause();
- playNumber(12345, false);
- delay(1000);
- playNumber(5, false);
- delay(1000);
- playNumber(777, false);
- delay(1000);
- playNumber(255, false);
- delay(1000);
- playNumber(2011, false);
- delay(1000);
- playNumber(17017, false);
- delay(1000);
- playNumber(1001, false);
- delay(1000);
- playNumber(32767, false);
- delay(1000);
- playNumber(32768, false);
- delay(1000);
- playNumber(17000, false);
- delay(1000);
- playNumber(300, false);
- delay(1000);
- playNumber(60, false);
- delay(1000);
- playNumber(-5, false);
- delay(1000);
- mp3.pause();
- Serial.println(F("Test Ende"));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement