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

Lecteur MP3 piloté par navigateur avec Arduino et shield PHPoC WiFi

Composants nécessaires

À propos du projet

Un 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 la lecture MP3 via une page web en utilisant un Arduino Uno.

Lecteur MP3 série

Lecteur MP3 piloté par navigateur avec Arduino et shield PHPoC WiFi
Module lecteur MP3 série Catalex

Le lecteur MP3 série possède deux interfaces :

Lorsqu'il reçoit une commande du microcontrôleur (LECTURE, PAUSE, VOLUME+, etc.), le lecteur lit le fichier .mp3 sur la carte SD et exécute l'action correspondante. Avant utilisation, copiez les fichiers .mp3 sur la carte SD et insérez-la dans le lecteur.

Câblage

Flux de données

Navigateur web → Shield PHPoC WiFi → Arduino

L'application web envoie des commandes basées sur les événements tactiles/clics au shield PHPoC via WebSocket. Le shield transmet la commande à l'Arduino, qui la relaie au lecteur MP3.

Lecteur MP3 piloté par navigateur avec Arduino et shield PHPoC WiFi
Jeu de commandes (XX = valeur de volume)

Note : le shield PHPoC intègre un programme qui transmet les données du navigateur à l'Arduino ; vous n'avez pas à vous en soucier.

Étapes de mise en œuvre

  1. Configurer les informations WiFi du shield PHPoC (SSID et mot de passe)
  2. Téléverser l'interface web (remote_mp3.php) sur le shield via PHPoC Debugger
  3. Écrire et téléverser le code Arduino

Test

Code Arduino

#include "SPI.h"
#include "Phpoc.h"
#include 

#define ARDUINO_RX 8
#define ARDUINO_TX 9
AltSoftSerial 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 CMD_PLAY_W_VOL    0x22
#define CMD_PLAY          0x0D
#define CMD_PAUSE         0x0E
#define CMD_SINGLE_CYCLE  0x19
#define DEV_TF            0x02
#define SINGLE_CYCLE_ON   0x00
#define SINGLE_CYCLE_OFF  0x01

PhpocServer server(80);
char name;
int value;

void setup() {
  mySerial.begin(9600);
  delay(500);
  sendCommand(CMD_SEL_DEV, DEV_TF);
  delay(200);
  Serial.begin(9600);
  while(!Serial);
  Phpoc.begin(PF_LOG_SPI | PF_LOG_NET);
  server.beginWebSocket("remote_slide");
  Serial.print("WebSocket server address: ");
  Serial.println(Phpoc.localIP());
}

void loop() {
  PhpocClient client = server.available();
  if (client) {
    String slideStr = client.readLine();
    if (slideStr) {
      name = slideStr.charAt(0);
      value = slideStr.substring(1).toInt();
      if (name == 'P') {
        Serial.println("Play mp3");
        sendCommand(CMD_PLAY, 0x0000);
      }
      if (name == 'S') {
        Serial.println("Pause mp3");
        sendCommand(CMD_PAUSE, 0x0000);
      }
      if (name == 'N') {
        Serial.println("Play next mp3");
        sendCommand(CMD_PLAY_NEXT, 0x0000);
      }
      if (name == 'B') {
        Serial.println("Play previous mp3");
        sendCommand(CMD_PLAY_PREV, 0x0000);
      }
      if (name == 'V') {
        Serial.print("Change volume to ");
        Serial.println(value);
        sendCommand(CMD_SET_VOLUME, value);
      }
    }
  }
}

void sendCommand(int8_t command, int16_t dat) {
  delay(20);
  Send_buf[0] = 0x7e;
  Send_buf[1] = 0xff;
  Send_buf[2] = 0x06;
  Send_buf[3] = command;
  Send_buf[4] = 0x00;
  Send_buf[5] = (int8_t)(dat >> 8);
  Send_buf[6] = (int8_t)(dat);
  Send_buf[7] = 0xef;
  for (uint8_t i = 0; i < 8; i++) {
    mySerial.write(Send_buf[i]);
  }
}

Interface web (remote_mp3.php)

Le fichier PHP/HTML/JavaScript complet est disponible dans la section code du projet original. Il fournit une interface tactile avec boutons Lecture/Pause, Suivant/Précédent et curseur de volume, communiquant via WebSocket avec le shield PHPoC.

Schéma de câblage

Lecteur MP3 piloté par navigateur avec Arduino et shield PHPoC WiFi
Schéma de connexion complet

Processus de fabrication

  1. Piano mécanique : fusion de la tradition acoustique et de la précision automatisée
  2. Construire un Spybot Arduino piloté par Bluetooth
  3. FlickMote : Télécommande IR à gestes pour maison connectée
  4. TV-B-Gone DIY Arduino : Télécommande universelle pour toutes les TV
  5. Construire une horloge maître LED personnalisée avec alarme – Visible à 12 mètres
  6. Find Me : Localisateur d'objets intelligent avec Arduino et Bluetooth
  7. Solutions d'alimentation optimisées pour projets Arduino
  8. Comment lire de l'audio avec Arduino UNO et DFPlayer Mini – Guide étape par étape
  9. Morpion sur matrice LED MAX7219 avec boîtier en carton