Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino - Webbasierter MP3-Player

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
PHPoC WiFi Shield für Arduino
Wir können stattdessen PHPoC Shield für Arduino verwenden
× 1
Serieller MP3-Player von Catalex
× 1
Micro-SD-Karte
× 1
Lautsprecher
× 1

Über dieses Projekt

Ich habe hier ein ähnliches Projekt, das nur PHPoC verwendet.

MP3-Player können in Museen oder Ausstellungen nützlich sein, um Besuchern auf Anfrage sprachbasierte Informationen bereitzustellen. Dieses Projekt zeigt, wie man MP3 über eine Webseite mit Arduino Uno steuert.

Wenn Sie ein Anfänger sind, können Sie hier Arduino lernen.

Serieller MP3-Player

Serielle MP3-Player haben zwei Schnittstellen:

  • Buchse an Lautsprecher
  • Schnittstelle zum Mikrocontroller (in diesem Projekt ist Arduino)

Wenn ein Befehl vom Mikrocontroller empfangen wird (z. B. PLAY, PAUSE, VOLUME UP...), liest der MP3-Player die .mp3-Datei von der SD-Karte und führt eine Aktion basierend auf dem Befehl aus.

Vor der Verwendung müssen .mp3-Dateien auf die SD-Karte kopiert und auf dem MP3-Player bereitgestellt werden.

Verkabelung

  • PHoC-Schild auf Arduino stapeln
  • Verbinden Sie Pin GND, VCC TX und RX des MP3-Players mit GND, 5V, Pin 8 bzw. Pin 9 von Arduino.

Datenfluss

Webbrowser ---> PHPoC WiFi Shield ---> Arduino

Die Web-App im Webbrowser sendet Befehle und Daten basierend auf dem Berührungs- oder Klickereignis über WebSocket an das PHPoC-Schild. Beim Empfang des Befehls übergibt PHPoC-Schild ihn an Arduino. Arduino sendet einen Befehl an den MP3-Player gemäß dem von PHPoC Shield empfangenen Befehl.

Befehlssatz

Wobei XX der Volumenwert ist.

Beachten Sie Folgendes: PHPoC-Schild verfügt über ein integriertes Programm zum Übergeben von Daten vom Webbrowser an Arduino. Daher müssen wir uns nicht darum kümmern.

Was wir tun müssen

  • WLAN-Informationen für PHPoC-Schild festlegen (SSID und Passwort)
  • Neue Benutzeroberfläche auf PHPoC-Schild hochladen
  • Arduino-Code schreiben

WLAN-Informationen für PHPoC Shield einstellen

Siehe diese Anleitung.

Neue Web-Benutzeroberfläche in PHPoC Shield hochladen

  • Download des PHPoC-Quellcodes remote_mp3.php (im Codeabschnitt).
  • Laden Sie es mit dem PHPoC-Debugger gemäß dieser Anleitung auf den PHPoC-Schild hoch.

Beachten Sie Folgendes: Diese Web-Benutzeroberfläche enthält einen Befehlssatz zum Senden an Arduino.

Arduino-Code schreiben

  • Installieren Sie die Bibliothek für Arduino auf der Arduino IDE (siehe die Anleitung) und starten Sie die Arduino IDE neu.
  • Gehen Sie in der Arduino IDE zu Datei -> Beispiele -> Phpoc -> WebRemoteSlide.
  • Ich habe das Beispiel modifiziert (siehe Quellcode im Abschnitt Code).

Testen

  • Klicken Sie auf die serielle Schaltfläche in der Arduino IDE, um die IP-Adresse anzuzeigen.
  • Öffnen Sie den Webbrowser, geben Sie http:// ein replace_ip_address /remote_mp3.php
  • Klicken Sie auf die Schaltfläche "Verbinden" und testen Sie es.

Das beste Arduino Starter Kit für Anfänger

Siehe Das beste Arduino-Kit für Anfänger

Funktionsreferenzen

  • Seriell.begin()
  • Seriell.println()
  • verzögerung()
  • millis() ​​​​​​
  • for-Schleife
  • while-Schleife
  • wenn sonst
  • Schleife()
  • setup()
  • String.toInt()
  • String.substring()
  • String.indexOf()
  • String.remove()
  • String.equals()

Code

  • Arduino-Code
  • Web-IU (remote_mp3.php)
Arduino-CodeArduino
#include "SPI.h"#include "Phpoc.h"#include  #define ARDUINO_RX 8 // sollte sich mit TX des seriellen MP3-Player-Moduls verbinden#define ARDUINO_TX 9 // mit RX von . verbinden das ModulAltSoftSerial mySerial(ARDUINO_RX, ARDUINO_TX); static int8_t Send_buf [8] ={0}; #define CMD_PLAY_NEXT 0x01 0x02 # define CMD_PLAY_PREV # define CMD_PLAY_W_INDEX 0x03 0x06 # define CMD_SET_VOLUME # define CMD_SEL_DEV 0x09 0x22 # define CMD_PLAY_W_VOL # CMD_PLAY 0x0D # CMD_PAUSE 0x0E # define definieren definieren CMD_SINGLE_CYCLE 0x19 # define DEV_TF 0x02#define SINGLE_CYCLE_ON 0x00#define SINGLE_CYCLE_OFF 0x01// Arduino Webserver PhpocServer server(80);char name;int value; Void setup () { mySerial.begin (9600); Verzögerung (500); // Warten Sie, dass die Initialisierung des Chips abgeschlossen ist sendCommand(CMD_SEL_DEV, DEV_TF); // Wählen Sie die TF-Kartenverzögerung (200); // 200ms warten Serial.begin (9600); while(!Seriell); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET); //Phpoc.begin(); server.beginWebSocket("remote_slide"); Serial.print("WebSocket-Serveradresse:"); Serial.println (Phpoc.localIP ());} void loop () {// auf einen neuen Client warten:PhpocClient client =server.available (); if (client) { String slideStr =client.readLine(); if(slideStr) { name =slideStr.charAt(0); Wert =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 ( "Vorherige mp3 abspielen"); sendCommand(CMD_PLAY_PREV, 0x0000); } if (name =='V') {Serial.print ("Volume ändern in"); Serial.println (Wert); sendCommand(CMD_SET_VOLUME, Wert); } } }} Void sendCommand (int8_t Befehl, int16_t dat) { Verzögerung (20); Send_buf[0] =0x7e; // Startbyte Send_buf[1] =0xff; // Version Send_buf[2] =0x06; // die Anzahl der Bytes des Befehls ohne Startbyte und Endbyte Send_buf[3] =Befehl; // Send_buf[4] =0x00; // 0x00 =keine Rückmeldung, 0x01 =Rückmeldung Send_buf[5] =(int8_t)(dat>> 8); // Datenh Send_buf[6] =(int8_t)(dat); // Daten Send_buf[7] =0xef; // Endbyte for(uint8_t i=0; i<8; i++) { mySerial.write(Send_buf[i]); }}
Web-IU (remote_mp3.php)PHP
PHPoC Shield - IoT MP3-Player

Web Remote Control / IoT MP3-Player

WebSocket :null

Schaltpläne


Herstellungsprozess

  1. Klavierspieler
  2. Arduino Spybot
  3. FlickMote
  4. Selbstgemachter Fernseher B-Gone
  5. Hauptuhr
  6. Finde mich
  7. Arduino-Power
  8. Audio in Arduino abspielen
  9. Tech-TicTacToe
  10. Arduino-Vierbeiner