b. 임베디드/아두이노

[아두이노] DFPlayerMini mp3모듈 사용(1)

로봇쟁이 2018. 8. 2. 09:39

mp3모듈 2탄입니다.


아두이노 사용자이고 mp3를 만들어보고자 하면 한번쯤 봤던 제품일 수 있습니다. 

(그만큼 흔하다는 소리겠죠?? ㅎㅎ)





일단 아두이노와의 연결 방법은..


VCC - 5V
RX - 소프트웨어시리얼 10pin (하드웨어 시리얼을 사용할 경우 1)
TX - 소프트웨어시리얼 11pin (하드웨어 시리얼을 사용할 경우 0)
GND - GND
SPK_1, SPK_2 - 스피커
BUSY - A0에 연결했습니다...(어떤 핀이든 상관없음)



해당 라이브러리를 추가하고~



DFPlayer_Mini_mp3.zip



그럼 다음 코드를 업로드 하면 당연히 동작을 하겠지요 ?? ^^


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <DFPlayer_Mini_Mp3.h>
#include <SoftwareSerial.h>
 
SoftwareSerial mySerial(1011);         // RX, TX (아두이노 업로드를 위해 가상 시리얼 사용)
 
void setup () {
     pinMode(A0, INPUT);    
     mySerial.begin (9600);                // 소프트웨어 시리얼 통신 시작(9600 Baud rate)
     mp3_set_serial (mySerial);            // DFPlayer-mini mp3 모듈에 소프트웨어 시리얼 설정          
     delay(10);                            // 볼륨이 설정될 동안 10ms 대기
     mp3_set_volume (15);                 // 볼륨은 중간 볼륨인 15로 설정(0~30)
     delay(10);                         // 볼륨이 설정될 동안 10ms 대기
 
}
 
  
void loop () {
     mp3_next();                   
//     while(digitalRead(A0) == LOW);
     delay(3000);
}
cs



그럼 통신이 아닌 일반 GPIO로 동작을 시키는 방법을 진행해보겠습니다.

일단 통신선은 필요없고

mp3모듈에 있는 IO1번핀과 IO2번핀을 이용해서 동작시키면 됩니다.


아래 코드를 보시면
IO_1번에 A1번핀을 연결해놓고 코드를 동작시키면 다음곡이 동작되는 것을 확인하였습니다.  

IO_2번에 핀을 연결해놓고 마찬가지로 동작시키면 이전곡이 동작할 것으로 예상됩니다. 




1
2
3
4
5
6
7
8
9
10
11
12
13
14
void setup () {
    pinMode(A0, INPUT);
    pinMode(A1, OUTPUT);
    
    digitalWrite(A1, LOW);
    delay(100);
    digitalWrite(A1, HIGH);
    delay(100);
    while(digitalRead(A0) == LOW);
}
 
  
void loop () {
}
cs




참 쉽죠? 


반응형