Thư viện chơi nhạc bằng module DFPLayer Mini Library
Chào các bạn, hôm nay mình có viết xong một bộ thư viện C dùng chung cho tất cả vi điều khiển, giúp đơn giản hóa việc tìm hiểu và viết mã nguồn giao tiếp cho DFPLayer Mini, đây là một module phát nhạc từ thẻ nhớ cho phép ta gửi lệnh điều khiển qua cổng UART của vi điều khiển để chọn bài hát, phát bài theo file, điều chỉnh âm lượng... Các bạn có thể mua module này dễ dàng trên thị trường với giá dao động từ 50-120K tùy nơi bán. Thư viện trên mình viết cho STM8s do vậy để dùng lại bộ thư viện này các bạn chỉ việc thay đổi chỗ giao tiếp UART truyền và nhận là xong, các bạn cấu hình baud là 9600 nhé, phần nhận dữ liệu ở một số vi điều khiển không hỗ trợ ngắt IDLE (ngắt đường truyền rảnh giúp phát hiện đã nhận xong hết dữ liệu) thì các bạn sử dụng giải pháp bắt byte start và byte stop để xử lý nhé.
VD STM8S RXNE/IDLE: (Nhận dữ liệu bằng ngắt IDLE)
VD 8051 RX: (Nhận dữ liệu bằng cách bắt byte START/STOP)
Sơ đồ chân DFPLayer Mini:
Các hàm thư viện chính:
- Hàm DFP_SendCommand(CMD, DATA) Đây là hàm giao tiếp chính các hàm khác phát triển dự trên hàm này, xem file dfplayer.h để lấy các khai báo #define và hướng dẫn truyền dữ liệu.
- Hàm DFP_Process() Hàm này được gọi khi ngắt uart nhận được một chuỗi dữ liệu để xử lý các phản hồi cũng như các thông báo từ module.
- Trong quá trình viết mã nguồn các bạn kiểm tra chân BUSY (đưa chân này vào PORT MCU) nếu BUSY=0 là đang phát nhạc (cách này để kiểm tra xem bài hát có tồn tại hay không, module có chạy hay không...) Chú ý các bạn phải delay một khoảng thời gian 100-200ms kể từ lúc gửi lệnh phát bài hát thì chân Busy này mới được kéo xuống LOW.
Các bạn tải thư viện về trong phần đính kèm!
Tải về đính kèm: