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

Arduino - Lecteur MP3 Web

Composants et fournitures

Arduino UNO
× 1
PHoC WiFi Shield pour Arduino
Nous pouvons utiliser PHPoC Shield pour Arduino à la place
× 1
Lecteur MP3 série de Catalex
× 1
Carte micro SD
× 1
Haut-parleur
× 1

À propos de ce projet

J'ai un projet similaire utilisant uniquement PHPoC ici.

Le lecteur MP3 peut être utile dans un musée ou une exposition pour fournir des informations vocales aux visiteurs à la demande. Ce projet montre comment contrôler MP3 via une page Web à l'aide d'Arduino Uno.

Si vous êtes débutant, vous pouvez en apprendre davantage sur Arduino ici.

Lecteur MP3 série

Le lecteur MP3 série a deux interfaces :

  • prise vers haut-parleur
  • interface au micro-contrôleur (dans ce projet est Arduino)

Lors de la réception d'une commande du microcontrôleur (par exemple PLAY, PAUSE, VOLUME UP...), le lecteur MP3 lit le fichier .mp3 de la carte SD et effectue une action en fonction de la commande.

Avant de l'utiliser, il doit copier les fichiers .mp3 sur la carte SD et les monter sur le lecteur MP3.

Câblage

  • Empiler le shield PHPoC sur Arduino
  • Connectez la broche GND, VCC TX et RX du lecteur MP3 à GND, 5 V, respectivement la broche 8 et la broche 9 d'Arduino.

Flux de données

Navigateur Web ---> PHPoC WiFi Shield ---> Arduino

L'application Web sur le navigateur Web enverra des commandes et des données basées sur un événement de toucher ou de clic au bouclier PHPoC via WebSocket. Lors de la réception de la commande, le bouclier PHPoC la transmet à Arduino. Arduino envoie la commande au lecteur MP3 en fonction de la commande reçue de PHPoC Shield.

Ensemble de commandes

Où, XX est la valeur du volume.

Notez que : PHPoC shield dispose d'un programme intégré pour transmettre les données du navigateur Web à Arduino. Par conséquent, nous n'avons pas besoin de nous en soucier.

Ce que nous devons faire

  • Définir les informations Wifi pour le bouclier PHPoC (SSID et mot de passe)
  • Télécharger la nouvelle interface utilisateur vers le bouclier PHPoC
  • Écrire le code Arduino

Configuration des informations Wifi pour PHPoC Shield

Voir cette instruction.

Télécharger la nouvelle interface utilisateur Web vers PHPoC Shield

  • Télécharger le code source PHPoC remote_mp3.php (dans la section code).
  • Téléchargez-le sur PHPoC shield à l'aide du débogueur PHPoC conformément à cette instruction.

Notez que : Cette interface utilisateur Web contient un ensemble de commandes à envoyer à Arduino.

Écrire le code Arduino

  • Installez la bibliothèque pour Arduino sur Arduino IDE (voir les instructions) et redémarrez Arduino IDE.
  • Sur Arduino IDE, accédez à Fichier -> Exemples -> Phpoc -> WebRemoteSlide.
  • J'ai modifié l'exemple (voir le code source dans la section code).

Tests

  • Cliquez sur le bouton série sur Arduino IDE pour voir l'adresse IP.
  • Ouvrez le navigateur Web, saisissez http:// replace_ip_address /remote_mp3.php
  • Cliquez sur le bouton de connexion et testez-le.

Le meilleur kit de démarrage Arduino pour débutant

Voir le meilleur kit Arduino pour les débutants

Références de fonction

  • Serial.begin()
  • Série.println()
  • retard()
  • millis() ​​​​​​​
  • boucle for
  • boucle while
  • si autre
  • boucle()
  • configuration()
  • String.toInt()
  • String.substring()
  • Chaîne.indexOf()
  • Chaîne.remove()
  • Chaîne.égales()

Code

  • Code Arduino
  • Web UI (remote_mp3.php)
Code ArduinoArduino
#include "SPI.h"#include "Phpoc.h"#include  #define ARDUINO_RX 8 // doit se connecter au TX du module Serial MP3 Player#define ARDUINO_TX 9 // se connecter au RX de le moduleAltSoftSerial mySerial(ARDUINO_RX, ARDUINO_TX); static int8_t Send_buf[8] ={0};#define CMD_PLAY_NEXT 0x01#define CMD_PLAY_PREV 0x02#define CMD_PLAY_W_INDEX 0x03#define CMD_SET_VOLUME 0x06#define CMD_SEL_DEV 0x09#define_define CMD_PLAY_W_W_INDEX 0x03#define CMD_SET_VOLUME 0x06#define CMD_SEL_DEV 0x09#define_define CMD_PLAY_22_WEDCY 0x02#define SINGLE_CYCLE_ON 0x00#define SINGLE_CYCLE_OFF 0x01// Serveur Web Arduino Serveur PhpocServer (80);nom de caractère;valeur int; void setup() { mySerial.begin(9600); retard (500); // attendre que l'initialisation de la puce soit terminée sendCommand(CMD_SEL_DEV, DEV_TF); // sélectionnez le délai de la carte TF (200); // attend 200 ms Serial.begin(9600); while(!Série); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET); //Phpoc.begin(); server.beginWebSocket("remote_slide"); Serial.print("Adresse du serveur WebSocket :"); Serial.println(Phpoc.localIP());} void loop() { // attend un nouveau client :PhpocClient client =server.available(); if (client) { String slideStr =client.readLine(); if(slideStr) { nom =slideStr.charAt(0); value =slideStr.substring(1).toInt(); if(nom =='P') { Serial.println("Lire mp3"); envoyerCommande(CMD_PLAY, 0x0000); } if(nom =='S') { Serial.println("Pause mp3"); envoyerCommande(CMD_PAUSE, 0x0000); } if(name =='N') { Serial.println("Lire le mp3 suivant"); envoyerCommande(CMD_PLAY_NEXT, 0x0000); } if(name =='B') { Serial.println("Lire le mp3 précédent"); envoyerCommande(CMD_PLAY_PREV, 0x0000); } if(name =='V') { Serial.print("Changer le volume en "); Serial.println(valeur); sendCommand(CMD_SET_VOLUME, valeur); } } }} void sendCommand (commande int8_t, int16_t dat){ delay(20); Send_buf[0] =0x7e; // octet de départ Send_buf[1] =0xff; // version Send_buf[2] =0x06; // le nombre d'octets de la commande sans octet de début et octet de fin Send_buf[3] =command; // Envoi_buf[4] =0x00; // 0x00 =pas de retour, 0x01 =retour Send_buf[5] =(int8_t)(dat>> 8); // datah Send_buf[6] =(int8_t)(dat); // datal Send_buf[7] =0xef; // octet de fin for(uint8_t i=0; i<8; i++) { mySerial.write(Send_buf[i]); }}
Web IU (remote_mp3.php)PHP
PHPoC Shield - Lecteur MP3 IoT

Télécommande Web / Lecteur MP3 IoT

WebSocket :null

Schémas


Processus de fabrication

  1. Piano joueur
  2. Arduino Spybot
  3. FlickMote
  4. Téléviseur maison B-Gone
  5. horloge maîtresse
  6. Trouvez-moi
  7. Puissance Arduino
  8. Lire l'audio dans Arduino
  9. Tech-TicTacToe