Contrôlez la lecture de musique avec votre télécommande : un projet Arduino simple
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino UNO | 1 |
| Télécommande infrarouge | 1 |
| Récepteur IR (générique) | 1 |
| Buzzer | 1 |
| Écran LCD 16x2 (blanc sur bleu) | 1 |
| Potentiomètre rotatif (générique) | 1 |
| Résistance 221 Ω | 1 |
Applications et services en ligne
- Arduino IDE
À propos du projet
Bonjour la communauté Hackster ! Je m'appelle Simone Adobs et voici mon deuxième projet publié sur ce site.
Logique du projet
Le fonctionnement est très simple :
- Sélectionnez la mélodie souhaitée sur votre télécommande ;
- L'Arduino joue la mélodie via le buzzer ;
- L'écran LCD affiche la note musicale en cours de lecture.
Explications du code
Chaque mélodie est structurée de la manière suivante :
void melody_example() {
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Titre du morceau");
delay(1000);
lcd.clear();
nota_mi(duree, pause); // note Mi
nota_do(duree, pause); // note Do
lcd.clear();
delay(100);
Reset_AVR(); // Réinitialise l'Arduino sans appuyer sur le bouton
}
Pour utiliser la commande Reset_AVR(), placez ce code en début de sketch :
#include
#include
#define Reset_AVR() wdt_enable(WDTO_30MS); while(1) {}
L'Arduino identifie la mélodie à jouer grâce aux codes reçus de la télécommande :
if (result==12495) { // code touche 1
melody_1();
} else if (result==6375) { // code touche 2
melody_2();
} else if (result==31365) { // code touche 3
melody_3();
} else if (result==4335) { // code touche 4
melody_4();
}
Fonction de lecture d'une note (exemple) :
void nota_example(int duree, int pause) {
shut(); // fonction d'arrêt (voir ci-dessous)
lcd.setCursor(0, 0);
lcd.print("Example ");
NewTone(11, 262, duree); // broche buzzer 11, fréquence 262 Hz (Do)
delay(pause);
}
Voulez-vous arrêter la mélodie en cours de lecture ?
C'est possible grâce à la fonction shut() qui permet d'interrompre la lecture à tout moment :
void shut() {
if (irrecv.decode(&results)) {
result = results.value, HEX;
Serial.println(result);
if (result == -23971) { // code touche "arrêt" sur ma télécommande
Reset_AVR();
}
}
irrecv.resume(); // prêt à recevoir un nouveau code
}
J'espère que ce projet vous plaira. N'hésitez pas à consulter mon projet précédent.
Bonne journée !
Simone d'Italie <3
Code source
Le code complet est disponible dans la section « Code » du projet original. Il inclut la gestion de l'écran LCD, la réception IR, la génération des notes via la librairie NewTone, et les quatre mélodies préprogrammées (Für Elise, London Bridge, Ode à la Joie, He's a Pirate).
Schéma de câblage
Le schéma Fritzing (canzoni_con_tastiera_fQS3978roa.fzz) et une image de câblage sont fournis dans le projet original.
Processus de fabrication
- Capturer les commandes de télécommande IR sur Raspberry Pi sans LIRC : Approche Python UART
- Construire un jeu gyroscopique temps réel avec Arduino Nano et capteur MPU-6050
- Caméra de sécurité ESP32 à détection de mouvement pour Discord
- Dé numérique Arduino sur écran LCD 16x2 – Générateur aléatoire à bouton poussoir
- Créer votre propre jeu de roulette à 37 LED avec Arduino Nano
- Télécommande TV Arduino Personnalisée – Alimentation Batterie, Boîtier Imprimé 3D
- Surveiller la température de votre maison n'importe où avec Arduino Cloud
- ATtiny85 Mini Arcade : Snake – Construire une console de jeu portable OLED
- Détecteur de distance portable – Kit DIY Arduino Nano avec HC-SR04, alimentation 18650 et boîtier imprimé 3D