基本ライブラリ
デジタルIO
アナログIO
拡張IO
時間
数学
三角関数
乱数
ビットバイト操作
割り込み
シリアル通信
標準ライブラリ
カメラ
サーボモーター
ステッピングモーター
キャラクタ液晶表示
SPI通信
I2C通信(Wire)
SD
SD(File操作)
周期処理(MsTimer2)
時計(RTC)
Mbed Tips
Audio
AUDIOジャックで音楽を流すことができます。EasyPlaybackライブラリを使うことができます。
サンプルプログラム
SDに保存されているWAVファイルを順次再生します。
#include <Arduino.h>
#include "SdUsbConnect.h"
#include "EasyPlayback.h"
#include "EasyDec_WavCnv2ch.h"
#define FILE_NAME_LEN (64)
#define MOUNT_NAME "storage"
static InterruptIn skip_btn(USER_BUTTON0);
static EasyPlayback AudioPlayer;
static void skip_btn_fall(void) {
AudioPlayer.skip();
}
void setup() {
DIR * d;
struct dirent * p;
char file_path[sizeof("/"MOUNT_NAME"/") + FILE_NAME_LEN];
SdUsbConnect storage(MOUNT_NAME);
// decoder setting
AudioPlayer.add_decoder(".wav");
AudioPlayer.add_decoder(".WAV");
// volume control
AudioPlayer.outputVolume(0.5); // Volume control (min:0.0 max:1.0)
// button setting
skip_btn.fall(&skip_btn_fall);
while (1) {
storage.wait_connect();
// file search
d = opendir("/"MOUNT_NAME"/");
while ((p = readdir(d)) != NULL) {
size_t len = strlen(p->d_name);
if (len < FILE_NAME_LEN) {
// make file path
sprintf(file_path, "/%s/%s", MOUNT_NAME, p->d_name);
printf("%s\r\n", file_path);
// playback
AudioPlayer.play(file_path);
}
}
closedir(d);
}
}
void loop() {
}