タッチセンサ 音楽プレーヤを作ってみました。
使い方:
①Mp3ファイルの準備
01~05のフォルダにそれぞれ、001.mp3~003.mp3の曲を入れておく
98のフォルダには、001.mp3に「音を小さくしました」、002.mp3に「音を大きくしました」という音声をいれておく。
99のフォルダには、001.mp3に「1番目のフォルダに切り替えました」のような音声を入れておく。これを5番まで作成。
②ボタンを押すと、フォルダが切り替わる。タッチセンサ3つに、3曲割り当てられる。
タッチセンサを押さないと、フォルダ切り替えはできないようにしてある。
③ボタンを押しながら、左側のタッチセンサに触ると、音量を下げられる。右側のタッチセンサに触ると、音量を上げられる。
arduinoのスケッチ
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
//void printDetail(uint8_t type, int value);
const int SENSOR4 = 4;
const int SENSOR5 = 5;
const int SENSOR6 = 6;
const int DIN_PIN = 7;
int foldernumber=1;
bool cflg=false;
void setup()
{
pinMode( DIN_PIN, INPUT_PULLUP );
pinMode(SENSOR4, INPUT);
pinMode(SENSOR5, INPUT);
pinMode(SENSOR6, INPUT);
delay(1000);
mySoftwareSerial.begin(9600);
if (!myDFPlayer.begin(mySoftwareSerial)) {
while(true);
}
myDFPlayer.setTimeOut(500);
myDFPlayer.volume(15);
myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);
myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);
}
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
//void printDetail(uint8_t type, int value);
const int SENSOR4 = 4;
const int SENSOR5 = 5;
const int SENSOR6 = 6;
const int DIN_PIN = 7;
int foldernumber=1;
bool cflg=false;
void setup()
{
pinMode( DIN_PIN, INPUT_PULLUP );
pinMode(SENSOR4, INPUT);
pinMode(SENSOR5, INPUT);
pinMode(SENSOR6, INPUT);
delay(1000);
mySoftwareSerial.begin(9600);
if (!myDFPlayer.begin(mySoftwareSerial)) {
while(true);
}
myDFPlayer.setTimeOut(500);
myDFPlayer.volume(15);
myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);
myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);
}
void loop()
{
if (digitalRead(SENSOR4)==HIGH) {
myDFPlayer.playFolder(foldernumber,1 );
cflg=false;
}
if (digitalRead(SENSOR5)==HIGH) {
myDFPlayer.playFolder(foldernumber,2 );
cflg=false;
}
if (digitalRead(SENSOR6)==HIGH) {
myDFPlayer.playFolder(foldernumber,3 );
cflg=false;
}
delay(1);
if(digitalRead(DIN_PIN)==LOW ){
if (digitalRead(SENSOR4)==HIGH) {
myDFPlayer.volumeUp();
myDFPlayer.playFolder(98,2 ); //ageru saisei
cflg=false;
}else if(digitalRead(SENSOR6)==HIGH){
myDFPlayer.volumeDown(); //Volume down
myDFPlayer.playFolder(98,1 ); //sageru saisei
cflg=false;
}else if(!cflg){
foldernumber=rand() % 5 + 1;
myDFPlayer.playFolder(99,foldernumber ); //foldernumber onsei saisei
cflg=true;
}
}
}
0 件のコメント:
コメントを投稿