Alimentation :
Liste de matériel et composants nécessaires (documents avec photo si possible…)
********************************************************************************************************* * Lecteur MP3 Open-Smart - Sélection aléatoire par dossier via 3 boutons PULLUP *********************************************************************************************************/ //dossier 01 02 03 et son 001 002 003 dans chaque dossier #include <SoftwareSerial.h> #include "RedMP3.h" // Configuration du module MP3 #define MP3_RX 7 // 7 arduino >rx uart #define MP3_TX 8 MP3 mp3(MP3_RX, MP3_TX); // Définition des broches des boutons const int boutonDossier1 = 2; const int boutonDossier2 = 3; const int boutonDossier3 = 4; int8_t volume = 0x1a; // Volume (0~0x1e) void setup() { // Initialisation des boutons en INPUT_PULLUP pinMode(boutonDossier1, INPUT_PULLUP); pinMode(boutonDossier2, INPUT_PULLUP); pinMode(boutonDossier3, INPUT_PULLUP); // Initialisation du générateur de nombres aléatoires // On lit une broche analogique vide (A0) pour avoir une vraie valeur aléatoire au démarrage randomSeed(analogRead(A0)); delay(500); // Attente de l'initialisation du module MP3 mp3.setVolume(volume); delay(50); } void loop() { // --- BOUTON 1 (Dossier 01) --- if (digitalRead(boutonDossier1) == LOW) { int8_t sonAuHasard = random(1, 4); // Génère un nombre entre 1 et 3 (le max est exclus) mp3.playWithFileName(1, sonAuHasard); // Dossier 1, Son 1 à 3 delay(300); // Anti-rebond : attend que le bouton soit relâché } // --- BOUTON 2 (Dossier 02) --- if (digitalRead(boutonDossier2) == LOW) { int8_t sonAuHasard = random(1, 4); mp3.playWithFileName(2, sonAuHasard); // Dossier 2, Son 1 à 3 delay(300); } // --- BOUTON 3 (Dossier 03) --- if (digitalRead(boutonDossier3) == LOW) { int8_t sonAuHasard = random(1, 4); mp3.playWithFileName(3, sonAuHasard); // Dossier 3, Son 1 à 3 delay(300); } }