====== Boite à son ====== * Porteur du projet : J Sard * Fichiers utiles : //mettre un lien vers un code ou un fichier// {{tag>arduino, uart, mp3}} ===== Note d'intention ===== 3 boutons PullUp, 3 categories de sons joué au hazard sur UART mp3. 3 dossiers {{projets:boite_a_son:start:unnamed.png?800|Boite à son}} ==== Ingrédients ==== * ampli PAM8403 + hp 4ohm 5w * uartmp3 * nano * 3 bouton antivandalisme (metal) **Alimentation :** * batterie 18650 3.7v * booster * module de charge * switch On-off ===== Notes techniques et matériaux ===== 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 #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); } } ===== Photos et médias===== Code pour afficher les images du projet : {{gallery>?&crop&lightbox }}