Créer carte du monde avec musique pour chaque pays

Bonjour,
Je souhaiterais faire une carte du monde et y associer pour les pays un petit bouton qui lorsqu'on appuie dessus est diffusé une musique traditionnel du pays en question. Croyez-vous q'il est possible de faire ce type de projet avec Arduino.
Merci.
Bonne journée.

Bonjour

oui c'est possible
tu veux gérer les presque 200 pays reconnus par l'ONU ou faire ta sélection pour réduire le câblage ?

Vous pouvez utiliser une carte imprimée et ajouter des boutons ou des capteurs tactiles sur les pays.
Un Arduino Uno ou Mega pourrait suffire, mais si vous avez besoin de lire des fichiers audio, un modèle comme l'ESP32 ou un Arduino avec un module audio sera nécessaire.
Boutons ou capteurs tactiles Un bouton par pays ou des capteurs tactiles capacitifs pour une interaction plus moderne.

Un module comme le DFPlayer Mini (compatible Arduino) pour lire des fichiers audio depuis une carte microSD.
Ou une carte ESP32, qui peut gérer les fichiers audio directement.
Carte microSD et haut-parleur Pour stocker les musiques et les jouer.
Fils, résistances, alimentation et plaque de prototypage

Super. Merci beaucoup pour vos explications et votre retour.
Bonne journée.

Pas encore trop défini. Idéalement les 200 pays mais cela peut être évolutif en commençant par certains quelques pays de chaque continent.

Bonjour hoonoun

Il faut penser qu'il y aura 200 boutons à gérer, à ne pas oublier :wink:

Joli projet!
Cordialement
jpbbricole

On peut les câbler sous forme de matrice 15 x 15 par exemple (225 pays) et utiliser la bibliothèque associée (keypad)

un exemple en 5x4

le code

/* ============================================
  code is placed under the MIT license
  Copyright (c) 2024 J-M-L
  For the Arduino Forum : https://forum.arduino.cc/u/j-m-l

  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files (the "Software"), to deal
  in the Software without restriction, including without limitation the rights
  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  copies of the Software, and to permit persons to whom the Software is
  furnished to do so, subject to the following conditions:

  The above copyright notice and this permission notice shall be included in
  all copies or substantial portions of the Software.

  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  THE SOFTWARE.
  ===============================================
*/

#include <Keypad.h>

const byte ROWS = 4;
const byte COLS = 5;
char keys[ROWS][COLS] = {
  {0x11, 0x21, 0x31, 0x41, 0x51},
  {0x12, 0x22, 0x32, 0x42, 0x52},
  {0x13, 0x23, 0x33, 0x43, 0x53},
  {0x14, 0x24, 0x34, 0x44, 0x54},
};
byte rowPins[ROWS] = {5, 4, 3, 2};
byte colPins[COLS] = {6, 7, 8, 9, 10};

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup() {
  Serial.begin(115200);
}

void loop() {
  char key = keypad.getKey();

  if (key) {
    byte ligne = key & 0x0Fu;
    byte col = (key & 0xF0u) >> 4;
    Serial.print("Ligne : "); Serial.print(ligne);
    Serial.print("\t Colonne : "); Serial.println(col);
  }
}

Waouh, merci beaucoup pour ces informations.