工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino-WebベースのMP3プレーヤー

コンポーネントと消耗品

>
Arduino UNO
× 1
Arduino用のPHPoCWiFiシールド
代わりにArduino用のPHPoCシールドを使用できます
× 1
CatalexのシリアルMP3プレーヤー
× 1
マイクロSDカード
× 1
スピーカー
× 1

このプロジェクトについて

ここにPHPoCのみを使用した同様のプロジェクトがあります。

MP3プレーヤーは、美術館や展示会で、訪問者に音声ベースの情報をオンデマンドで提供するのに役立つ場合があります。このプロジェクトは、ArduinoUnoを使用してWebページからMP3を制御する方法を示しています。

初心者の方は、ここでArduinoについて学ぶことができます。

シリアルMP3プレーヤー

<図>

シリアルMP3プレーヤーには2つのインターフェースがあります:

  • スピーカーにジャック
  • マイクロコントローラーへのインターフェース(このプロジェクトではArduinoです)

マイクロコントローラーからコマンド(PLAY、PAUSE、VOLUME UPなど)を受信すると、MP3プレーヤーはSDカードから.mp3ファイルを読み取り、コマンドに基づいてアクションを実行します。

使用する前に、.mp3ファイルをSDカードにコピーし、MP3プレーヤーにマウントする必要があります。

配線

  • ArduinoにPHPoCシールドをスタックする
  • MP3プレーヤーのGNDピン、VCC TXピン、RXピンをそれぞれArduinoのGND、5V、8ピン、9ピンに接続します。

データフロー

Webブラウザ---> PHPoCWiFiシールド---> Arduino

Webブラウザ上のWebアプリは、タッチイベントまたはクリックイベントに基づいてコマンドとデータをWebSocket経由でPHPoCシールドに送信します。コマンドを受信すると、PHPoCシールドはそれをArduinoに渡します。 Arduinoは、PHPoCシールドから受信したコマンドに従ってMP3プレーヤーにコマンドを送信します。

コマンドセット

<図>

ここで、XXはボリューム値です。

注意: PHPoCシールドには、WebブラウザからArduinoにデータを渡すための組み込みプログラムがあります。したがって、気にする必要はありません。

私たちがしなければならないこと

  • PHPoCシールドのWifi情報(SSIDとパスワード)を設定します
  • 新しいUIをPHPoCシールドにアップロードする
  • Arduinoコードを書く

PHPoCシールドのWifi情報を設定する

この手順を参照してください。

新しいWebUIをPHPoCシールドにアップロードする

  • PHPoCソースコードremote_mp3.phpをダウンロードします(コードセクションにあります)。
  • この手順に従って、PHPoCデバッガーを使用してPHPoCシールドにアップロードします。

注意: このWebUIには、Arduinoに送信するコマンドセットが含まれています。

Arduinoコードを書く

  • Arduino IDEにArduinoのライブラリをインストールし(手順を参照)、ArduinoIDEを再起動します。
  • Arduino IDEで、[ファイル]-> [例]-> [Phpoc]-> [WebRemoteSlide]に移動します。
  • 例を変更しました(コードセクションのソースコードを参照してください)。

テスト

  • Arduino IDEのシリアルボタンをクリックして、IPアドレスを確認します。
  • Webブラウザを開き、 http:// と入力します replace_ip_address /remote_mp3.php
  • 接続ボタンをクリックしてテストします。

初心者のための最高のArduinoスターターキット

初心者向けの最高のArduinoキットをご覧ください

関数リファレンス

  • Serial.begin()
  • Serial.println()
  • delay()
  • millis()
  • forループ
  • whileループ
  • その他の場合
  • loop()
  • setup()
  • String.toInt()
  • String.substring()
  • String.indexOf()
  • String.remove()
  • String.equals()

コード

  • Arduinoコード
  • Web IU(remote_mp3.php)
Arduinoコード Arduino
 #include "SPI.h" #include "Phpoc.h" #include  #define ARDUINO_RX 8 //シリアルMP3プレーヤーモジュールのTXに接続する必要があります#defineARDUINO_TX 9 // 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 CMD_PLAY_W_VOL 0x 0x02#define SINGLE_CYCLE_ON 0x00#define SINGLE_CYCLE_OFF 0x01 // ArduinoWebサーバーPhpocServerserver(80); char name; int value; void setup(){mySerial.begin(9600); delay(500); //チップの初期化が完了するのを待ちますsendCommand(CMD_SEL_DEV、DEV_TF); // TFカードdelay(200);を選択します// 200ミリ秒待つSerial.begin(9600); while(!Serial); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET); //Phpoc.begin(); server.beginWebSocket( "remote_slide"); Serial.print( "WebSocketサーバーアドレス:"); Serial.println(Phpoc.localIP());} void loop(){//新しいクライアントを待つ:PhpocClient client =server.available(); if(client){String slideStr =client.readLine(); if(slideStr){name =slideStr.charAt(0);値=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( "ボリュームを"に変更); 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; // 0x00 =フィードバックなし、0x01 =フィードバックSend_buf [5] =(int8_t)(dat>> 8); // datah Send_buf [6] =(int8_t)(dat); // datal Send_buf [7] =0xef; //終了バイトfor(uint8_t i =0; i <8; i ++){mySerial.write(Send_buf [i]); }} 
Web IU(remote_mp3.php) PHP
 <!DOCTYPE html>    PHPoC Shield-IoTMP3プレーヤー      

Webリモートコントロール/ IoTMP3プレーヤー

WebSocket: null

回路図


製造プロセス

  1. 自動ピアノ
  2. Arduino Spybot
  3. FlickMote
  4. 自家製テレビB-Gone
  5. マスタークロック
  6. Find Me
  7. Arduino Power
  8. Arduinoでオーディオを再生する
  9. Tech-TicTacToe
  10. Arduino Quadruped
  11. Arduinoジョイスティック