projets:boite_a_son:start

Boite à son

  • Porteur du projet : J Sard
  • Fichiers utiles : mettre un lien vers un code ou un fichier

3 boutons PullUp, 3 categories de sons joué au hazard sur UART mp3. 3 dossiers

Boite à son

  • ampli PAM8403 + hp 4ohm 5w
  • uartmp3
  • nano
  • 3 bouton antivandalisme (metal)

Alimentation :

  • batterie 18650 3.7v
  • booster
  • module de charge
  • switch On-off

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); 
  }
}

Code pour afficher les images du projet :

  • projets/boite_a_son/start.txt
  • Dernière modification: 2026/05/26 16:51
  • de enseignant