Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino - webgebaseerde mp3-speler

Componenten en benodigdheden

Arduino UNO
× 1
PHPoC WiFi Shield voor Arduino
In plaats daarvan kunnen we PHPoC Shield voor Arduino gebruiken
× 1
Seriële MP3-speler van Catalex
× 1
micro SD-kaart
× 1
Luidspreker
× 1

Over dit project

Ik heb hier een soortgelijk project met alleen PHPoC.

MP3-speler kan nuttig zijn in musea of ​​tentoonstellingen om op verzoek spraakgestuurde informatie aan bezoekers te verstrekken. Dit project laat zien hoe je MP3 bestuurt via een webpagina met Arduino Uno.

Als je een beginner bent, kun je hier meer te weten komen over Arduino.

Seriële MP3-speler

Seriële MP3-spelers hebben twee interfaces:

  • aansluiting naar luidspreker
  • interface naar microcontroller (in dit project is Arduino)

Bij ontvangst van een commando van een microcontroller (bijv. PLAY, PAUSE, VOLUME UP...), leest de mp3-speler het .mp3-bestand van de SD-kaart en voert een actie uit op basis van het commando.

Voor gebruik moet het .mp3-bestanden naar de SD-kaart kopiëren en naar de MP3-speler koppelen.

Bedrading

  • Stapel PHPoC-schild op Arduino
  • Verbind pin GND, VCC TX en RX van de MP3-speler met respectievelijk GND, 5V, pin 8 en pin 9 van Arduino.

Gegevensstroom

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

Web-app in webbrowser stuurt opdrachten en gegevens op basis van aanraking of klikgebeurtenis naar PHPoC-schild via WebSocket. Wanneer het commando wordt ontvangen, geeft het PHPoC-schild het door aan Arduino. Arduino stuurt commando naar MP3-speler volgens het commando ontvangen van PHPoC Shield.

Opdrachtenset

Waarbij XX de volumewaarde is.

Let op: PHoC-shield heeft een ingebouwd programma om gegevens van webbrowser naar Arduino door te geven. Daarom hoeven we ons er geen zorgen over te maken.

Wat we moeten doen

  • Wifi-informatie instellen voor PHPoC-schild (SSID en wachtwoord)
  • Upload nieuwe gebruikersinterface naar PHPoC-schild
  • Schrijf Arduino-code

Wifi-informatie instellen voor PHPoC Shield

Zie deze instructie.

Nieuwe webinterface uploaden naar PHPoC Shield

  • Download PHPoC-broncode remote_mp3.php (in het codegedeelte).
  • Upload het naar PHPoC-shield met behulp van PHPoC debugger volgens deze instructie.

Let op: Deze webgebruikersinterface bevat een opdrachtset om naar Arduino te verzenden.

Arduino-code schrijven

  • Installeer de bibliotheek voor Arduino op Arduino IDE (zie de instructie ) en start Arduino IDE opnieuw.
  • Ga op Arduino IDE naar Bestand -> Voorbeelden -> Phpoc -> WebRemoteSlide.
  • Ik heb het voorbeeld aangepast (zie de broncode in het codegedeelte).

Testen

  • Klik op de seriële knop op Arduino IDE om het IP-adres te zien.
  • Open webbrowser, typ http:// replace_ip_address /remote_mp3.php
  • Klik op de knop Verbinden en test het.

De beste Arduino-starterkit voor beginners

Zie de beste Arduino-kit voor beginners

Functiereferenties

  • Serial.begin()
  • Serial.println()
  • vertraging()
  • millis() ​​​​​​​
  • for-lus
  • terwijl-lus
  • indien anders
  • loop()
  • 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 // moet verbinding maken met TX van de seriële MP3-spelermodule#define ARDUINO_TX 9 // verbinden met RX van de moduleAltSoftSerial mySerial (ARDUINO_RX, ARDUINO_TX); static int8_t Send_buf [8] ={0}; define CMD_PLAY_NEXT 0x01 # definiëren CMD_PLAY_PREV 0x02 # definiëren CMD_PLAY_W_INDEX 0x03 # definiëren CMD_SET_VOLUME 0x06 # definiëren CMD_SEL_DEV 0x09 # definiëren CMD_PLAY_W_VOL 0x22 # definiëren CMD_PLAY 0x0D # definiëren CMD_PAUSE 0x0E # definiëren CMD_SINGLE_CYCLE 0x19 # definiëren DEV_TF 0x02#define SINGLE_CYCLE_ON 0x00#define SINGLE_CYCLE_OFF 0x01// Arduino webserver PhpocServer server(80);char naam;int waarde; void setup() { mySerial.begin(9600); vertraging (500); // wacht chip initialisatie is voltooid sendCommand (CMD_SEL_DEV, DEV_TF); // selecteer de TF-kaartvertraging (200); // wacht op 200 ms Serial.begin (9600); while(!Serial); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET); //Phpoc.begin(); server.beginWebSocket("remote_slide"); Serial.print("WebSocket-serveradres:"); Serial.println(Phpoc.localIP());} void loop() {// wacht op een nieuwe client:PhpocClient client =server.available(); if (client) { String slideStr =client.readLine(); if(slideStr) {naam =slideStr.charAt(0); waarde =slideStr.substring(1).toInt(); if(name =='P') { Serial.println("Speel mp3 af"); sendCommand (CMD_PLAY, 0x0000); } if(name =='S') { Serial.println("Pauze mp3"); sendCommand (CMD_PAUSE, 0x0000); } if(name =='N') { Serial.println("Speel volgende mp3 af"); sendCommand (CMD_PLAY_NEXT, 0x0000); } if(name =='B') { Serial.println("Speel vorige mp3 af"); sendCommand (CMD_PLAY_PREV, 0x0000); } if(name =='V') { Serial.print("Verander volume in "); Serial.println(waarde); sendCommand (CMD_SET_VOLUME, waarde); } } }} void sendCommand (int8_t commando, int16_t dat) { delay (20); Send_buf[0] =0x7e; // startbyte Send_buf [1] =0xff; // versie Send_buf [2] =0x06; // het aantal bytes van de opdracht zonder startbyte en eindbyte Send_buf [3] =opdracht; // Send_buf [4] =0x00; // 0x00 =geen feedback, 0x01 =feedback Send_buf [5] =(int8_t) (dat>> 8); // datah Send_buf [6] =(int8_t) (dat); // data Send_buf [7] =0xef; // end byte for(uint8_t i=0; i<8; i++) { mySerial.write(Send_buf[i]); }}
Web IU (remote_mp3.php)PHP
PHPoC Shield - IoT MP3-speler

Web-afstandsbediening / IoT MP3-speler

WebSocket:null

Schema's


Productieproces

  1. Spelpiano
  2. Arduino Spybot
  3. FlickMote
  4. Zelfgemaakte tv B-Gone
  5. Hoofdklok
  6. Vind mij
  7. Arduino Power
  8. Audio afspelen in Arduino
  9. Tech-TicTacToe
  10. Arduino Quadruped
  11. Arduino-joystick