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
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.