Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

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

À 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 :

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

  1. Capturer les commandes de télécommande IR sur Raspberry Pi sans LIRC : Approche Python UART
  2. Construire un jeu gyroscopique temps réel avec Arduino Nano et capteur MPU-6050
  3. Caméra de sécurité ESP32 à détection de mouvement pour Discord
  4. Dé numérique Arduino sur écran LCD 16x2 – Générateur aléatoire à bouton poussoir
  5. Créer votre propre jeu de roulette à 37 LED avec Arduino Nano
  6. Télécommande TV Arduino Personnalisée – Alimentation Batterie, Boîtier Imprimé 3D
  7. Surveiller la température de votre maison n'importe où avec Arduino Cloud
  8. ATtiny85 Mini Arcade : Snake – Construire une console de jeu portable OLED
  9. Détecteur de distance portable – Kit DIY Arduino Nano avec HC-SR04, alimentation 18650 et boîtier imprimé 3D