Stap 4: Bepalen de audio gebruiken aduino
Niet nodig om connectiestatus te programma, maar als je wilt is er een bibliotheek voor dit schild u kunt downloaden vanaf hier
//..............................................................................
Mohannad Rawashdeh
MP3 1.2V Shield test.
#include < SoftwareSerial.h >
SoftwareSerial Geno(7,8); RX, Tx
unsigned char gegevens [10];
unsigned char i;
VOID Setup {}
Zet uw setup-code hier, om het eenmalig uit te voeren:
Geno.begin(9600);
SetVolume(20); Stel het volume 0-31 €
delay(1000);
FileSource('SD_card',0x05);
SetPlayMode('Single_play');
delay(5000);
play_pause(); / / pauze
delay(3000);
FileSource('SD_card',0x01);
play_pause(); spelen
delay(5000);
Next();
delay(5000);
Next();
voor (int v = 15; v > 0; v--) {}
SetVolume(v); Stel het volume 0-31 €
delay(1000);
}
for (int j = 0; j < 15; j ++) {}
SetVolume(j); Stel het volume 0-31 €
delay(500);
}
delay(1000);
FileSource('SD_card',0x04);
delay(5000);
FileSource('SD_card',0x05);
FileSource('SD_card',0x03);
Stop();
}
void loop {}
Zet uw belangrijkste code hier, om het herhaaldelijk uitvoeren:
}
Selecteer bestand sorce 'SD-kaart, SPI Flash, U schijf'
VOID FileSource (char type, byte track) {}
play_pause(); / / pauze
Gegevens [0] = 0x7E;
Gegevens [5] = 0x7E;
switch (type) {}
Case 'SD_card':
START
Gegevens [1] = 0x04; Lengte
Gegevens [2] = 0xA0; Opdracht
Gegevens [3] = 0x00; bestand aantal hoge byte
Gegevens [4] = track; bestand aantal lage byte
breken;
Case 'SPI_Flash':
Gegevens [1] = 0x04; Lengte
Gegevens [2] = 0xA1; Opdracht spi flash 0XA1
Gegevens [3] = 0x00; bestand aantal hoge byte
Gegevens [4] = track;
breken;
Case 'U_Disk':
Gegevens [1] = 0x04; Lengte
Gegevens [2] = 0xA2; Opdracht
Gegevens [3] = 0x00; bestand aantal hoge byte
Gegevens [4] = track; bestand aantal lage byte
breken;
}
Command(Data,5);
play_pause(); / / pauze
}
VOID SetVolume (int vol) {}
Gegevens [0] = 0x7E; START
Gegevens [1] = 0x03; Lengte niet 0x02
Gegevens [2] = 0xA7; Opdracht
Gegevens [3] = vol; Nieuw volume
Gegevens [4] = 0x7E; EINDE
Command(Data,5);
}
VOID SetPlayMode(char type) {}
Gegevens [0] = 0x7E; START
Gegevens [4] = 0x7E; START
switch (type) {}
Case 'Single_play':
Gegevens [1] = 0x02; Lengte
Gegevens [2] = 0xA9; Opdracht
Gegevens [3] = 0x00; Parameter mode
breken;
Case 'Repeat_single':
Gegevens [1] = 0x02; Lengte
Gegevens [2] = 0xA9; Opdracht
Gegevens [3] = 0x01; Parameter mode
breken;
Case 'Repeat_all':
Gegevens [1] = 0x02; Lengte
Gegevens [2] = 0xA9; Opdracht
Gegevens [3] = 0x02; Parameter mode
breken;
Case 'Play_Random':
Gegevens [1] = 0x02; Lengte
Gegevens [2] = 0xA9; Opdracht
Gegevens [3] = 0x03; Parameter mode
breken;
}
Command(Data,5);
}
//...............................
ongeldig play_pause() {}
Gegevens [0] = 0x7E; START
Gegevens [1] = 0x02; Lengte
Gegevens [2] = 0xA3; Opdracht
Gegevens [3] = 0x7E; Parameter mode
Command(Data,4);
}
VOID Stop() {}
Gegevens [0] = 0x7E; START
Gegevens [1] = 0x02; Lengte
Gegevens [2] = 0xA4; Opdracht
Gegevens [3] = 0x7E; Parameter mode
Command(Data,4);
}
VOID Next() {}
Gegevens [0] = 0x7E; START
Gegevens [1] = 0x02; Lengte
Gegevens [2] = 0xA5; Opdracht
Gegevens [3] = 0x7E; Parameter mode
Command(Data,4);
}
VOID Previous() {}
Gegevens [0] = 0x7E; START
Gegevens [1] = 0x02; Lengte
Gegevens [2] = 0xA6; Opdracht
Gegevens [3] = 0x7E; Parameter mode
Command(Data,4);
}
VOID opdracht (unsigned char * gegevens, int lengte) {}
for (int i = 0; ik < lengte; i ++) {}
Geno.write(data[i]);
}
}
De video hieronder aan u tonen hoe het werkte.