カテゴリー別アーカイブ: Cytron

ArduinoでMP3ファイルを再生する Cytron Easy MP3シールド 関数リファレンスマニュアル

Cytron SHILD-EZMP3 (Easy MP3シールド)のライブラリーが用意されているものの、リファレンスマニュアルは用意されておりません。
CytronEZMP3.h を見ると、メソッドの一覧がわかります。名称である程度わかります。さらに機能を知りたい場合は、ソースプログラムのCytronEZMP3.cpp を見て、使用しているチップ XY5200 のマニュアル(中国語)を見るとわかります。
それでは、大変なので、よく使いそうな関数の説明をまとめました。

初期化・通信のためのピン設定
 初期設定を行います。

bool begin(uint8_t rxpin, uint8_t txpin, long baudrate);

引数
rxpin シリアル通信受信ピン番号 省略時 2
txpin シリアル通信受信ピン番号 省略時 3
baudrate シリアル通信ボーレート 省略時 9600

戻り値
成功 true、失敗 false

再生中の確認
 曲が再生されているかどうかを確認します。

bool isPlaying();

引数
なし
戻り値
再生中 true 再生中でない false

物理トラック再生
SDカード、USBメモリーに記録された物理的なトラック番号(コピーした順)を指定して再生します。

void playPhysical (uint16_t num);

引数
num トラック番号(コピーした順)
戻り値
なし

再生
 トラック指定なしの再生

void play();

引数
なし
戻り値
なし

次のトラック再生

void next ();

引数
なし
戻り値
なし

前のトラック再生

void prev ();

引数
なし
戻り値
なし

音量設定

void setVolume (uint16_t volume);

引数
volume 0~30
戻り値
なし

イコライザー設定

void setEQ (uint16_t eq);

引数
eq  0~5  0:Normal  1:Pop 2:Rock  3:Jazz  4:Classic  5:Bass

戻り値
なし

デバイス選択

void setDevice (uint16_t device);

引数
device 1~5  1:USBメモリー 2:SD 3:AUX 4:SLEEP 5:FLASH戻り値
なし

スリープ

void sleep ();

引数
なし
戻り値
なし

リセット

void reset ();

引数
なし
戻り値
なし

一時停止

void pause ();

引数
なし
戻り値
なし

停止

void stop ();

引数
なし
戻り値
なし

ON

void on();

引数
なし
戻り値
なし

OFF

void off();

引数
なし
戻り値
なし

全曲再生

void playAll (boolean state = true);

引数
state
戻り値
なし

特定フォルダートラック再生
 mp3フォルダー内、特定のファイル名のファイルを指定して再生します。フォルダーは、mp3、ファイル名は、0001.mp3、0002.mp3、0003.mp3 という連番にします。
mp3_play (1);
とすると、mp3/0001.mp3 を再生します。

void playTrack (uint16_t num);

引数
num トラック番号
戻り値
なし

現在のデバイス取得

uint8_t getCurrentDevice ();

引数
なし
戻り値
1~5  1:USBメモリー 2:SD 3:AUX 4:SLEEP 5:FLASH

状態取得

uint8_t getCurrentStatus ();

引数
なし
戻り値
状態(XY5200から得た値)

音量設定値取得

uint16_t getVolume ();

引数
なし
戻り値
なし

デバイス指定ファイル数取得

uint16_t getTotalFiles (uint8_t disk);

引数
disk 1:USBメモリー 2:SDカード
戻り値
なし

ファイル数取得取得

現在設定されているデバイスのファイル数を得ます。

uint16_t getTotalFiles ();

引数
なし
戻り値
なし

再生中トラック取得(デバイス指定)

uint16_t getTrackNo(uint8_t disk);

引数
disk 1:USBメモリー 2:SDカード
戻り値
なし

再生中トラック取得

uint16_t getTrackNo();

引数
なし
戻り値
なし

フォルダー・トラック指定再生

void playTrackFromFolder(uint8_t folder, uint8_t track);

引数
folder フォルダー番号(最大99)
戻り値
track トラック番号(1フォルダーあたり最大255)

フォルダーリピート再生

指定したフォルダー内の曲を繰り返し再生します。

void playFolderRepeat(uint8_t folder);

引数
folder フォルダー番号
戻り値
なし

リピート再生

指定したトラックを繰り返し再生します。

void repeatTrack (uint16_t num);

引数
num トラック番号
戻り値
なし

ランダム再生

void randomPlay ();

引数
なし
戻り値
なし

ArduinoでMP3ファイルを再生する Cytron Easy MP3シールドの使い方

Cytron SHILD-EZMP3 (Easy MP3シールド)を使うと、マイクロSDカードに記録されている、MP3ファイルを簡単にArduinoで再生させることができます。
従来品に比べ、ボタン処理はプログラムを介さずに処理可能なボタンの搭載、WAVファイルに対応、USBメモリーに対応等の利点があります。
Shield-EZMP3 ISO View-1-800x800

ご購入は、下記のサイトをご覧ください。
http://www.elefine.jp/SHOP/SHIELD-EZMP3.html

EZ MP3再生ライブラリーのインストール

まず、専用のMP3再生ライブラリーをインストールします。

ライブラリー、サンプルスケッチを下記からダウンロードします。GitHubを利用しています。
https://github.com/CytronTechnologies/Cytron-EasyMP3-Shield

ファイル一覧の右上にある “Clone or Download” ボタンをクリックすると、Download ZIPというボタンが表示されますので、それをクリックすると、まとめてZIPファイルにしてダウンロードすることができます。

ダウンロードして、展開すると下記のようなファイル(フォルダー)ができます。

src フォルダー内を見ます。

これら二つのファイルを選択して、右クリック → 送る → 圧縮(zip 形式)フォルダー でZIPファイルに圧縮します。

圧縮されたZIPファイルをArduino IDEがインストールされているフォルダー内の libraries フォルダーにコピーします。

↓ Arduino IDE(開発環境)がインストールされているフォルダー

さらに Cytron_MP3Shield-master.ZIP ファイルを展開したフォルダーへ戻り、examples → PlayATrack の順にフォルダーを選択します。
PlayATrackフォルダー内のPlayATrack.ino をクリックして、Arduino IDEに読み込ませます。

Arduino IDEが起動したら、スケッチ → ライブラリをインクルード → .ZIP形式のライブラリをインストール… の順に選択します。

先ほどコピーしたZIPファイルを選択します。

インクルードが成功すると、下記のように「ライブラリをインクルード」の中に「CytronEZMP3」が表示されます。

マイクロSDカードの準備

マイクロSDカードにMP3ファイルをコピーします。
その際、mp3というフォルダーを作成し、その中に0001.mp3、0002.mp3、0003.mp3 というような連番のファイル名を作成してください。
ファイルのコピーができたら、
MP3シールドのスロットに差し込みます。

 

ArduinoにEasy MP3シールドを接続

Easy MP3シールドをArduinoに差し込みます。

ジャンパーピンが、TXはD3、RXはD2にそれぞれセットされていることを確認してください。初期状態では、この設定になっています。
ただし、D3、D2は、Arduino UNO および、その互換品でしか使えません。

Arduino Mega 等、Uno以外の場合は、下記の表をもとに変更してください。スケッチも変更する必要があります。

ジャンパーを変更したら、スケッチの setup() 内の下記の2,3 をそれぞれジャンパーの設定に合わせてください。

if(!mp3.begin(2, 3))

サンプルスケッチの転送

スケッチ(PlayATrack.ino)をコンパイルして、Arduinoへ転送します。
上述のライブラリーがきちんとインストールされていると、問題なくコンパイルできます。

MP3ファイルの再生

転送し終わると、MP3ファイルが再生されます。音が大きすぎる場合があるので耳につけずにヘッドフォンを接続してください。音の大きさに注意しながら、耳につけてください。

サンプルスケッチでは、6秒ごとに次の曲に切り替わります。また、シリアル通信で再生している曲の表示、音量調節、再生の停止ができるようになっています。
Arduino IDEのシリアルモニタでその確認ができます。

シリアルモニターの表示例

Play/Pause, Prev/Vol-, Next/Vol+ の各押ボタンも有効です。
Prev/Vol-は、長く押すと音量が小さくなり、短いと前の曲に切り替わります。
Next/Vol+は、長く押すと音量が大きくなり、短いと次の曲に切り替わります。
Play/Pauseは、再生・一時停止です。

任意の曲の再生

サンプルスケッチ、PlayATrack.inoで は、6秒ごとに曲が切り替わります。また、トラック指定に関数 playTrack を使っています。
この playTrack  は、mp3フォルダー内の0001.mp3といったファイル名の再生に特化した関数です。それらのファイル名がない場合、再生される曲は不定です。
ほかのファイル名の曲を再生したい場合は、playTrack の代わりに playPhysical (名称どおり解釈すると物理的なトラック番号を再生)を使うとよいでしょう。
SDカードにファイルをコピーした順がトラック番号になります。

使い方例
mp3.playPhysical(1);
引数の1がトラック番号

入力に応じたMP3ファイル(曲)の再生

下記がArduinoの5番ピンをLにするとトラック1、6番ピンをLにすると、トラック2がそれぞれ再生されるようにしたスケッチです。

playPhysical などの関数は、曲の終わりまで待ちません。コマンド発行後、すぐに次の行の処理に移ります。
よって、
while(digitalRead(TUNE_1) == LOW);
で、入力がH (プルアップされているので開放状態)になるまで待機するようにしています。

Easy MP3シールド関数リファレンスマニュアル

ESPresso Lite V2のIPアドレスを固定にする

ESPertで用意されているクラウドサービスを利用することにより、温度・湿度の送信を行うことができます。しかし、クラウドサービスを利用すると全世界に温度・湿度を公開することになり、プライバシーの侵害になってしまいます。プライバシーの問題は別として、LAN内で使う分には、インターネットに公開する必要もないでしょう。

そこで、ESPertのサンプルスケッチを見ると、
_0090_Ajax
というのがありました。
これは、
ESPresso Lite V2がHTTPサーバー(Webサーバー)になり、ブラウザーソフトに対して、Ajaxでデータを送信します。

IPアドレスは、ルーターのDHCPにより、取得し、設定されます。しかし、電源を入れ直すたびにIPアドレスが変わってしまう可能性があり、不便ですので、IPアドレスを固定にしたほうが使い勝手がいいでしょう。ESPertのライブラリーには、IPアドレスを固定にする関数が用意されていませんので、Arduinoのwifiライブラリーに含まれている関数を利用します。

下記のサイトを参考にしました。
https://github.com/esp8266/Arduino/issues/1959
このサイトでは、ESP8266の例ですが、ESPresso もESP8266を使用しているため同様です。

下記の部分で無線LANルーター(アクセスポイント)のSSID、パスワードを設定します。

const char* ssid = “SSID”;
const char* password = “1234567890123”;

下記の部分でIPアドレスを設定します。ルーターが割り当てるIPアドレスと同じ体系にします。若いアドレスは、ルーターがDHCPで割り当てるアドレスに使用することが多いので200前後の大きい値にしたほうがいいでしょう。gateway にルーターのIPアドレスを設定します。

IPAddress ip(192, 168, 1, 190); //任意のIPアドレス
IPAddress gateway(192, 168, 1, 1); //ルーターのIPアドレス
IPAddress subnet(255, 255, 255, 0);

ポート番号は、下記のところで設定しています。通常、HTTPサーバーは、80ですが、変更することもできます。一つのグローバル固定IPアドレスで複数のESPresso Lite (Webサーバー)をインターネットに公開したい場合は、これを変えることにより対応できます。

server = new ESP8266WebServer(80); //ポート番号

パソコンのブラウザーソフトを使って、設定したIPアドレス、上記の例で
http://192.168.1.190
にアクセスすると、下記のように表示されます。

ESPresso_Ajax.pn

 

もとのサンプルスケッチでは、温度のみの表示でしたので湿度も追加しました。単位の℃がうまく表示されないので、C のみに変更しました。
初めの
String indexPage =
に代入する部分でページに表示される内容を変更することができます。

ESPresso Lite V2 ESPert MQTTブローカー

ESPertが提供しているクラウドサービスを利用することにより、インターネットに接続されたESPresso Lite V2の温度・湿度センサーの値を遠隔地のパソコン等で見ることができます。

ESPresso Lite V2 の初期状態では、このMQTT機能がインストールされています。

ESPresso Lite V2をインターネットに接続します。

参照
ESPRESSO LITE V2.0 をインターネットに接続する

ESPresso Lite V2.0 をインターネットに接続する

パソコンで下記のサイトにアクセスします。
http://www.espert.io/mqtt/index.html

Host、Port、ClientID は、自動的に表示されます。
その他も表示された通りの空欄、数値でけっこうです。
その状態でConnect ボタンをクリックします。ESPert021

ホストに接続されると、connected と表示されます。
Add New Topic Subscription ボタンをクリックします。

ESPert022

Topic に
ESPert/XXXXXXXX/#
を入力(XXXXXXXXの部分は、OLEDに表示の固有のID ) を入力し、Subscribeボタンをクリックします。
ESPert023

Messages に指定したIDのESPresso Lite V2の温度・湿度が表示されます。

ESPert024

うまく表示されない場合は、UC00A USB・UARTコンバーターを接続し、Arduino IDEのシリアルモニターで状態を確認すると状況がわかりやすいです。
ESPert025
センサーの値が正しく読み出され、ホストへの送信がうまくできている状態では、
{“temperature”:”25.80″, “humidity”:”54.00″, “name”:”ESPert-XXXXXXXX”}
と表示されます。

ESPert: Failed to read temperature from DHT sensor!
ESPert: Failed to read humidity from DHT sensor!
と表示される場合は、センサーからの値を読み出せない状態です。センサーの接続・接触を確認してください。

ESPresso Lite V2のクラウドサービスESPertのアカウントを作成する

 

ESPertでは、無料で使えるクラウドサービスを提供しています。
固定グローバルIPアドレスがなくてもインターネットからESPresso Lite V2に対してアクセスすることができます。

アカウントの登録

下記にアクセスします。
http://www.espert.io/

ESPert010

右上の Login をクリックします。
ESPert011
Click here to register をクリックすると、下記のようなページが開きますので、ユーザー名(任意のもの)、Eメールアドレス、パスワード、パスワード確認、名前、性別を入力して、I agree with the Terms and Conditionsのチェックボックスにチェックをつけ、Resister をクリックします。
ESPert013
入力されたEメールアドレスあてに確認のEメールが届きますので、そのURLにアクセスすると登録が完了します。

 

Arduino IDEをESPresso Lite V2.0に対応させる方法

 

Arduino(Genuino)の開発に使う開発環境(IDE)でESPresso Lite V2.0 のプログラムを開発することができます。

下記のサイトよりArduino IDE (開発環境)をダウンロードして、インストールします。

https://www.arduino.cc/en/Main/Software

ARDUINO 1.6.9 より古いバージョンでは、サンプルスケッチのコンパイル時にエラーが発生する可能性があります。

インストール後、下記の手順でESPertの開発環境を整えます。ESPert_ArduinoIDE001

「追加のボードマネージャのURL」に
http://arduino.esp8266.com/stable/package_esp8266com_index.json
を入力します。ESPert_ArduinoIDE002

ツール → ボード → ボードマネージャ… の順に選択します。

ESPert_ArduinoIDE003

ボードマネージャのウィンドウで
esp8266 by ESP8266 Community
を選択し、インストールします。

ESPertArdunoIDE007

ツール → ボード で ESPresso Lite 2.0 を選択します。ESPert_ArduinoIDE004

スケッチ → ライブラリをインクルード  → ライブラリを管理…
の順に選択します。ESPert_ArduinoIDE010

ライブラリマネージャ のウィンドウで
ESPert by Jimmy
をインストールします。

ESPertArduinoIDE005

同様に下記の各ライブラリをインストールします。

  • Adafruit NeoPixel by Adafruit
  • ArduinoJson by Benoit Blanchon
  • DHT sensor library by Adafruit
  • ESP8266 Oled Driver for SSD1306 display by Daniel Eichborn
  • HttpClient by Adrian McEwen
  • PubSubClient by Nick O’Leary

スケッチの例 → ESPert にESPresso Lite V2.0 のサンプルスケッチが入っています。
_2000_ESPert_workshop が出荷時に書き込まれているスケッチです。

ESPert_ArduinoIDE013

 

ESPresso Lite V2.0 をインターネットに接続する

 

ESPresso Lite V2.0 は、無線LANルーター(Wi-Fiルーター)を介し、スタンドアロンでインターネットに接続することができます。
ただし、ESPresso Lite V2.0 には、キーボード等がついていませんので、接続先アクセスポイントの設定は、Androidスマートフォン、iPhone等を使って行います。

1. 専用アプリを使う方法

Android向けに用意されているアプリを使って設定を行う方法です。
下記のアプリをGoogle Playより、Androidスマートフォン、タブレットにインストールします。
ESPert SmartConfig 1.0.0

iPhone用のアプリは、まだ用意されておりません。

ESPert_SmartConfig

ESPresso Lite V2.0の電源が入った状態でGPIO13 のボタンを5秒ほど押します。

ESPert_SmartConfig_002

LEDの点灯状態でモードを把握することができます。

遅い点滅:SmartConfig モード
消灯:Wi-Fiに接続された状態
速い点滅:AP モード (アクセスポイントモード)
通常の点滅:Wi-Fiへの接続を試みている状態
消灯:Wi-Fiへ接続されてない状態

しかし、LEDでは状態を把握しづらいので
0.96インチ有機EL(OLED)モジュール
を使用することをお勧めします。
ESP_OLED

OLEDモジュールを接続すると、下記のように表示されます。

ESPert_SmartConfig_003GPIOボタンを長押しするたびにモードが変わります。専用アプリを使用して設定を行う場合場合、このSmart Config モードを使用します。

無線LANに接続した状態でESPert SmartConfig アプリを起動します。
すると、SSID: にスマートフォンが接続している無線LANのSSIDが表示されます。
パスワードは、スマートフォンが接続している無線LANルーター(アクセスポイント)のパスワードを入力します。

ESPert_SmartConfig_004

無線LANに接続されている ESPresso Lite V2.0 が認識され、設定が終わると下記のように表示されます。

ESPert_SmartConfig_006

OLEDには、下記のように表示されます。
ESPert_SmartConfig_005

これにより設定された項目は、EEPROMに保存され、電源を入れ直しても同じ設定が反映されます。

2. ESPresso Lite V2.0をアクセスポイントにして行う方法

ESPresso Lite V2.0をアクセスポイントに設定し、PCやスマートフォンからそのアクセスポイントに接続して、設定を行う方法です。

まず、無線LANルーターを有効な状態にしておいてください。

ESPresso Lite V2.0の電源が入った状態でGPIO13 のボタンを5秒ほど押します。

ESPert_SmartConfig_002

LEDの点灯状態が速い点滅になり、OLEDには、下記のように表示されます。

ESPert_SmartConfig_007

上記の「12345678」は、各ESPresso Lite固有の番号です。

パソコン等からそのアクセスポイントに接続します。
パソコンでアクセスポイント一覧を見ると、下記のように「ESPert-固有の番号」が表示されます。
ESPert_SmartConfig_008

「ESPert-xxxxxxxx(固有の番号)」を選択し、「接続」をクリックします。

ESPert_SmartConfig_009

接続が完了したら、ブラウザーソフトでOLEDに表示されているIPアドレス(通常、192.168.4.1)にアクセスします。
SSID:のChoose a Network に無線LANルーター(アクセスポイント)の一覧が表示されますので、使用する無線LANルーターのSSIDを選択し、そのSSIDのパスワードを入力し、「Submit」を押します。
ESPert_SmartConfig_010

ESPresso Lite V2.0が無線LANに接続され、設定が完了すると、下記のように表示されます。ESPert_SmartConfig_011

OLEDには、無線LANルーターから取得したIPアドレスが表示されます。

ESPert_SmartConfig_012

これにより設定された項目は、EEPROMに保存され、電源を入れ直しても同じ設定が反映されます。

ArduinoでMP3ファイルを再生する Cytron MP3シールドの使い方

Cytron Shiled-MP3 (MP3シールド)を使うと、マイクロSDカードに記録されている、MP3ファイルを簡単にArduinoで再生させることができます。
Shield-MP3-640
ご購入は、下記のサイトをご覧ください。
www.elefine.jp/SHOP/SHIELD-MP3.html

MP3再生ライブラリーのインストール

まず、専用のMP3再生ライブラリーをインストールします。

ライブラリーを下記からダウンロードします。GitHubを利用しています。
https://github.com/CytronTechnologies/Cytron_MP3Shield

ファイル一覧の右上にある “Download ZIP” ボタンをクリックすると、まとめてZIPファイルにしてダウンロードすることができます。ShiedMP3_01

ダウンロードして、展開すると下記のようなファイル(フォルダー)ができます。ShiedMP3_02

extras フォルダー内を見ます。ShiedMP3_03

extrasフォルダー内のSdFatフォルダーをArduino IDEがインストールされているフォルダー内の libraries フォルダーにコピーします。ShiedMP3_04

↓ Arduino IDE(開発環境)がインストールされているフォルダーShiedMP3_05

さらに Cytron_MP3Shield-master.ZIP ファイルを展開したフォルダーへ戻ります。ShiedMP3_06

src フォルダーを同じところへコピーします。ShiedMP3_07

コピーしてできたフォルダーを MP3Player という名前に変更します。
src – コピー → MP3Player
ShiedMP3_08

そのMP3PlayerフォルダーをSdFatフォルダーと同様にArduino IDEがインストールされているフォルダー内の libraries フォルダーに移動します。
このsrcフォルダーの名前を変えて、libraries へ入れる点がCytronのチュートリアルの記述と異なります(チュートリアルにあるMP3Playerフォルダーがない)。

うまくインストールされると、Arduino IDEのメニュー
スケッチ → ライブラリをインクルード でMP3Player SdFat が表示されます。

ShiedMP3_09

マイクロSDカードの準備

何も記録されてないマイクロSDカードを用意します。
そのマイクロSDカードのルートディレクトリー(フォルダーに入れない)にCytron_MP3Shield-master.ZIP ファイルを展開した中にある sta013.cfg というファイルをコピーします。

場所 Cytron_MP3Shield-master\extras\Configuration file

extrasフォルダー

ShiedMP3_03

Configuration file フォルダーShiedMP3_10

sta013.cfg  このファイルをマイクロSDカードへコピーします。ShiedMP3_11

MP3ファイルのコピー

このMP3シールドでは、260kbpsまでのビットレートのMP3ファイルを再生することができます。ただし、mainループで他の処理をするためには、200kbp以下に抑えてください。通常聴く分には、128kbpsで十分でしょう。

まずは、サンプルプログラムに手を加えずに再生ができるようにMP3ファイルをサンプルプログラムの記述と同じファイル名にします。Windows PCなどでマイクロSDカード上にFavourites フォルダーを作成し、その中へ任意のMP3ファイルをコピーします。そのファイル名を Taio Cruz – Hangover ft. Flo Rida.mp3 に変更します。
そのマイクロSDカードをMP3シールドのスロットに差し込みます。

ArduinoにMP3シールドを接続

ICSPのピンにもソケットがありますので、それも差し込まれるようにArduinoに差し込みます。

ShiedMP3_13

ジャンパーピンが、SSはD3、ASDはD2にそれぞれセットされていることを確認してください。初期状態では、この設定になっています。

ShiedMP3_12

サンプルスケッチの転送

ダウンロードしたZIPファイルにサンプルスケッチが含まれています。
まずは、1トラック(1曲)再生の下記のサンプルで試すとよいでしょう。
Cytron_MP3Shield-master\examples\PlayATrack

PlayATrack.ino をダブルクリックするとArduino IDEが起動し、読み込まれます。

上述のライブラリーがきちんとインストールされていると、問題なくコンパイルできます。

MP3ファイルの再生

転送し終わると、MP3ファイルが再生されます。音が大きすぎる場合があるので耳につけずにヘッドフォンを接続してください。音の大きさに注意しながら、耳につけてください。

サンプルスケッチでは、シリアル通信で再生している曲の表示、音量調節、再生の停止ができるようになっています。
Arduino IDEのシリアルモニタでその確認ができます。

ShiedMP3_14

再生中のファイル名が表示されます。ShiedMP3_15

a を入力して、「送信」ボタンを押すと、音量が下がります。
ShiedMP3_16

これらの処理は、サンプルスケッチの下記の部分で行っています。
これを見て、お分かりのように “d” で音量を上げる、”s”で再生停止です。

if(isNum)
{
if(mp3.isPlaying()) mp3.Stop();
mp3.PlayTrack(Folder,inputString.toInt());
Serial.println(“Currently playing…”);
Serial.print(“Track “+String(mp3.getTrackNo()));
Serial.println(“: “+mp3.getName());
}
else
{
if(inputString.equals(“a”))
mp3.setVolume(–vol);
else if(inputString.equals(“d”))
mp3.setVolume(++vol);
else if(inputString.equals(“s”))
mp3.Stop();
}

独自のプログラム作成

サンプルスケッチ、CytronのMP3ライブラリーチュートリアルを参照して、各自独自のプログラムを作成してください。