아두이노로 만들 프로젝트를 위해
DF Player를 사용해봤다.
알리익스프레스에서 1.3달러 정도로 구입할수 있다.
위의 모듈로 쉽게 mp3를 만들수도 있지만
이번에는 그냥 기본적인 노래를 틀고 볼륨 조절등만 해봤다.
Vcc에다가 아두이노 5v쪽에 연결하고
Rx와Tx에 각각 1K옴을 연결후 아두이노에 연결한다.
저항이 없으면 잡음이 발생한다고 한다.
SPK_1에 스피커 한쪽을 연결하고
SPK_2에 스피커 다른 한쪽을 연결한다.
그리고 당연한거지만 GND는 GND로 연결한다.
아래의 사진을 보면 좀더 쉽게 이해 될 것이다.
출처 : http://deneb21.tistory.com/418
마이크로 SD카드에 mp3라는 폴더를 만들어서
그 안에다가 노래를 넣으면 되는데
곡 앞에다가 0001, 0002, 0003과 같이
번호를 붙여야 한다.
위와 같이 그냥 앞에 번호만 부여하면 된다.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
play라는 함수는 이름 그대로 곡을 재생하는 함수로 곡 앞에있는 번호를 넣으면 그 번호에 해당하는 곡을 실행 시킨다.
next라는 함수는 다음 곡을 재생하는 함수이다.
prev라는 함수는 이전곡을 재생하는 함수이다.
위의 순서대로면 1번 -> 2번 -> 1번 -> 4번순으로 각각 6초 동안 재생한다.
참고로 SD카드는 FAT32로 포맷 되어져 있어야 한다.
위의 처럼 곡을 재생하는것도 상관없지만 모든곡을 순차적으로 재생 하고 싶을땐
아래의 소스코드를 이용하면 된다.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>
SoftwareSerial mySerial(10, 11); //RX, TX
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
mp3_set_serial(mySerial); //mp3 모듈을 위한 SoftwareSerial 설정
delay(1); //볼륨 설정을 위한 시간
mp3_set_volume(15); //0 ~ 30
}
void loop() {
boolean play_state = digitalRead(3);//3번핀을 BUSY핀에 연결
if(play_state == HIGH) {
mp3_next();
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
mp3모듈중 BUSY라는 핀은 현재 곡이 끝났을때 HIGH신호를 내보내서
그 신호를 가지고 3번에 HIGH 신호가 들어오면
mp3_next();라는 함수를통해 다음곡을 재생 한다.
그 밖의 함수들
/* mp3_play (); //start play
mp3_play (5); //play "mp3/0005.mp3"
mp3_next (); //play next
mp3_prev (); //play previous
mp3_set_volume (uint16_t volume); //0~30
mp3_set_EQ (); //0~5
mp3_pause ();
mp3_stop ();
void mp3_get_state (); //send get state command void mp3_get_volume ();
void mp3_get_u_sum ();
void mp3_get_tf_sum ();
void mp3_get_flash_sum ();
void mp3_get_tf_current ();
void mp3_get_u_current ();
void mp3_get_flash_current ();
void mp3_single_loop (boolean state); //set single loop
void mp3_DAC (boolean state);
void mp3_random_play ();
*/
더 자세한 내용은 아래 사이트에서 확인 하길 바란다.
https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299
'아두이노' 카테고리의 다른 글
FTDI 5v에서 3.3v로 바꾸는 방법(차이점) (0) | 2016.10.27 |
---|---|
아두이노 드론 프로그래밍 (0) | 2016.10.24 |
아두이노 온습도센서 사용 (0) | 2016.10.18 |
아두이노 온도센서로 온도 측정하기 (0) | 2016.10.18 |
일산 킨텍스 전시회관 (0) | 2016.10.16 |