ESP/DFPlayer mini

DFPlayer Mini -5

찬영_00 2025. 2. 17. 23:38

생각보다 오랫동안 포스팅이 이어지고 있다..

데이터시트가 거기서 거기인지라 내가 기본적인 지식이 부족인가 생각을 했다.

그러면서 현존하는 라이브러리를 다운하기로 했고, 아두이노 IDE에서 install했다.

그리고 라이브러리에서 어떻게 해당부분이 처리되나 보려고 했는데..

doc? 문서가 있네? 혹시 나랑 같은건가? 하고 봤다.

 

조금 달라보였지만 들어가보았다.

 

 

하하하,, 아주 허탈하구만,,

이제야 데이터에 0x02, 0x01과 같이 리턴해주는 이유를 알았다.

내가 현재 SD card를 쓰니 data highByte는 0x02가 뜨는 것이였고, 정지상태거나 시작할때 0x02, 0x01로 lowByte를 나타내는 것이였다..

 

아니 왜 이전 데이터 시트는 이런걸 알려주지 않았지,,

 

이제 이것을 알았으니 나는 이것을 토대로 함수를 만들고, 활용해보겠다.

https://github.com/PCY00/arduino/tree/main/project/stm32/%EC%9E%A1%EB%8B%A4%ED%95%9C%EC%9D%BC%EC%83%81/mp3%EB%A5%BC%EB%A7%8C%EB%93%A4%EC%9E%90/Test5_withESP

 

arduino/project/stm32/잡다한일상/mp3를만들자/Test5_withESP at main · PCY00/arduino

Contribute to PCY00/arduino development by creating an account on GitHub.

github.com

 

함수는 어느정도 만들었고, 계속 업데이트할 예정이다.

것보다 라이브러리 자체를 조금 가독성이 좋게 업데이트해두었다.

또한 예외처리도 넣어두었다.

 

Stream&을 사용하면 라이브러리 내부에서도 Serial객체를 받을 수 있어 명령어를 Serial로 받아서 처리할 때 사용하고 있고, 초기화 리스트도 추가해두었따.

mp3::mp3(Stream& serial) : _serial(&serial) {}

 

아래 처럼 해도 되는데

mp3::mp3(Stream& serial) {
    _serial = &serial;
}

 

객체를 먼저 만들고 나중에 할당하기 때문에 성능상 불리할 수 있다.

 

그리하여 코드를 실행해보면

이렇게 디버깅이 가능하고, 현재 상황에 대해 피드백을 받을 수 있다.

이것은 추후 LCD같은 곳에 활용하여 사용자에게 제공을 할 수 있기에 응용성이 매우 좋다.

하지만 mp3하면 현재 틀고 있는 음악의 이름을 보여주는데 흠,,

현재 사용중인 모듈에는 그런 명령어는 존재하지 않는다.

 

방법은 SD카드에 직접 mcu와 연결하여 이름을 가져오는 방법을 시도해볼순 있으나

그럼 모듈을 쓰는 의미가 없다

 

생각좀 해보고 잰행해야겠다.

 

'ESP > DFPlayer mini' 카테고리의 다른 글

DFPlayer Mini -4  (0) 2025.02.16
DFPlayer Mini -3  (0) 2025.02.15