Mục lục:

Cách sử dụng mô-đun DFMini Player MP3 với Arduino: 4 bước
Cách sử dụng mô-đun DFMini Player MP3 với Arduino: 4 bước

Video: Cách sử dụng mô-đun DFMini Player MP3 với Arduino: 4 bước

Video: Cách sử dụng mô-đun DFMini Player MP3 với Arduino: 4 bước
Video: Tìm hiểu Module giải mã âm thanh DFPlayer Mini và cách phát âm thanh trong thẻ nhớ | Review DFPLAYER 2024, Tháng mười một
Anonim
Cách sử dụng mô-đun DFMini Player MP3 với Arduino
Cách sử dụng mô-đun DFMini Player MP3 với Arduino

Một số dự án yêu cầu tái tạo âm thanh để thêm một số loại chức năng. Trong số các dự án này, chúng tôi nhấn mạnh: khả năng tiếp cận cho người khiếm thị, máy nghe nhạc MP3 và việc thực hiện âm thanh giọng nói của rô bốt chẳng hạn.

Trong tất cả các hệ thống này, chúng ta cần một thiết bị tái tạo âm thanh MP3 để kết nối với Arduino. Do đó, trong bài này chúng ta sẽ tìm hiểu các điểm sau: Mạch vận hành cơ bản của DFMini Player MP3; Tổ chức và cấu hình các file âm thanh trên thẻ nhớ; Điều khiển âm nhạc bằng Arduino.

Quân nhu

PCBWay tùy chỉnh PCB;

DFPlayer Mini MP3 Mô-đun - UTSOURCE;

Điện trở 10kR - NGUỒN;

Nút chuyển đổi - UTSOURCE;

Breadboard - UTSOURCE;

Arduino UNO - NGUỒN;

Đầu ghim - UTSOURCE;

Bước 1: Mô-đun DF Mini Player MP3 là gì

Mô-đun MP3 Máy nghe nhạc mini DF là gì
Mô-đun MP3 Máy nghe nhạc mini DF là gì
Mô-đun MP3 Máy nghe nhạc mini DF là gì
Mô-đun MP3 Máy nghe nhạc mini DF là gì

Mô-đun DFMini Player là một trình phát nhạc nhỏ, chi phí thấp và công suất thấp có mục đích tái tạo âm thanh được lưu trữ trên thẻ nhớ.

Dựa trên điều này, mô-đun có thể được điều khiển thông qua chế độ độc lập, nghĩa là ở chế độ này, sẽ chỉ có mô-đun DFMini, pin để cấp nguồn, loa, các nút để điều khiển nó và Thẻ SD với các bài hát. Một cách khác để kiểm soát nó là sử dụng Arduino hoặc một thiết bị điều khiển khác.

Ví dụ, Arduino sẽ gửi các lệnh thông qua giao tiếp nối tiếp với Mô-đun Trình phát DFMini. Mô-đun DFMini Player được hiển thị trong Hình 1.

Để điều khiển nó, điều quan trọng là phải sử dụng mạch độc lập cơ bản. Mạch này được hiển thị trong hình 2.

Hai nút hiển thị trong mạch trên được sử dụng để thay đổi bản nhạc và điều khiển âm lượng của âm thanh. Nút kết nối với chân IO1 được sử dụng để chuyển đến bản nhạc trước đó và giảm âm lượng. Chỉ cần chạm nhanh, hệ thống sẽ quay lại bài hát trước đó, tuy nhiên, nếu bạn nhấn nút hơn 1 giây, hệ thống sẽ giảm âm lượng của bài hát.

Nút kết nối với pin IO2 được sử dụng để chuyển sang bản nhạc tiếp theo và tăng âm lượng. Chỉ cần chạm nhanh, hệ thống sẽ chuyển sang bài hát tiếp theo, tuy nhiên, nếu bạn nhấn nút trong hơn 1 giây, hệ thống sẽ tăng âm lượng của bài hát.

Bước 2:

Hình ảnh
Hình ảnh

Trong phương pháp độc lập này, các bài hát phải được lưu trên thẻ nhớ, như trong Hình 3.

Bằng cách này, mỗi lần nhấn các nút, hệ thống sẽ phát từng bài hát theo thứ tự tăng dần hoặc giảm dần. Tuy nhiên, khi sử dụng Arduino hoặc thiết bị điều khiển khác, chúng ta phải sửa đổi cách sắp xếp các tệp nhạc trên Thẻ SD.

Bây giờ, tôi sẽ giải thích cách điều khiển DFMini Player bằng Arduino thông qua giao tiếp nối tiếp.

Bước 3: Điều khiển trình phát DFMini bằng Arduino

Điều khiển trình phát DFMini bằng Arduino
Điều khiển trình phát DFMini bằng Arduino
Điều khiển trình phát DFMini bằng Arduino
Điều khiển trình phát DFMini bằng Arduino

Trong bước này, các lệnh điều khiển âm lượng, điều khiển phạm vi, cân bằng và các tính năng khác sẽ được gửi bởi Arduino.

Arduino phải giao tiếp qua nối tiếp với DFMini Player và gửi các lệnh điều khiển.

Sơ đồ điện tử của mạch điều khiển được thể hiện trong Hình 4.

Đầu tiên, chúng ta phải lắp ráp mạch điện như hình bên dưới, sau khi lắp ráp mạch điện này, bạn phải thêm các bài hát vào thẻ nhớ của mình. Trong bước này, các bài hát nên được đổi tên thành 01, 02, 03 chẳng hạn.

Bạn không thể để các bài hát với tên của chúng, vì sẽ có vấn đề khi Arduino gửi lệnh để thực hiện bản nhạc cụ thể. Do đó, bạn phải cấu hình như hình bên dưới.

Bước 4:

Sau khi đặt tên cho các tệp, hãy viết mã sau trên Arduino của bạn.

// Chờ nhập dữ liệu qua serial while (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (command <= '9')) {Serial.print ("Tái tạo âm nhạc"); Serial.println (lệnh); command = lệnh - 48; myDFPlayer.play (lệnh); menu_opcoes (); } // Sao chép // Dừng if (command == 's') {myDFPlayer.stop (); Serial.println ("Nhạc đã dừng!"); menu_opcoes (); } // Pausa / Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Tiếp tục…"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Nhạc đã tạm dừng!"); myDFPlayer.pause (); } menu_opcoes (); }

// Tăng âm lượng

if (lệnh == '+') {myDFPlayer.volumeUp (); Serial.print ("Khối lượng hiện tại:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (lệnh == '') {myDFPlayer.next (); Serial.println ("tiếp theo:"); Serial.print ("Theo dõi hiện tại:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Giảm âm lượng if (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Khối lượng Hiện tại:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("=========================================== ================================================== ===================================== ")); Serial.println (F ("Các lệnh:")); Serial.println (F ("[1-3] Để chọn tệp MP3")); Serial.println (F ("[s] ngừng sinh sản")); Serial.println (F ("[p] pause / tiep tuc nhac")); Serial.println (F ("[+ hoặc -] tăng hoặc giảm âm lượng")); Serial.println (F (" chuyển tiếp hoặc lùi lại bản nhạc")); Serial.println (); Serial.println (F ("=========================================== ================================================== ==================================== ")); }

Đoạn mã được trình bày ở trên khá đơn giản và sẽ giúp bạn chọn bài hát theo số của nó, dừng, tạm dừng, điều khiển âm lượng và vượt qua các bài hát.

Điều khiển âm nhạc bao gồm việc gửi dữ liệu từ nối tiếp Arduino IDE đến bảng Arduino của chúng tôi. Ban đầu, hệ thống tạo cấu hình trong quá trình thiết lập và kiểm tra xem thẻ SD có được lắp vào mô-đun hay không.

Nếu nó không được chèn vào, hệ thống sẽ hiển thị một thông báo để cảnh báo người dùng.

Ngoài ra, hệ thống hiển thị thông báo với các tùy chọn cấu hình hệ thống.

void setup () {// Comunicacao serial com o modulo mySoftwareSerial.begin (9600); // Inicializa a serial do Arduino Serial.begin (115200); // Verifica se o modulo esta responseendo e se o // cartao SD foi encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("Đang khởi tạo mô-đun DFPlayer… Chờ đã!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Chưa khởi tạo:")); Serial.println (F ("1. Kiểm tra các kết nối DFPlayer Mini")); Serial.println (F ("2. Lắp thẻ SD")); while (đúng); } Serial.println (); Serial.println (F ("Khởi tạo mô-đun DFPlayer Mini!")); // Định nghĩa iniciais myDFPlayer.setTimeOut (500); // Hết thời gian chờ nối tiếp 500ms myDFPlayer.volume (5); // Tập 5 myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }

Nếu thẻ nhớ được lắp vào, dòng mã sẽ đi vào chức năng vòng lặp.

void loop () {// Chờ nhập dữ liệu qua serial while (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (command <= '3')) {Serial.print ("Tái tạo âm nhạc"); Serial.println (lệnh); lệnh = lệnh - 48; myDFPlayer.play (lệnh); menu_opcoes (); } // Sao chép // Dừng if (command == 's') {myDFPlayer.stop (); Serial.println ("Nhạc đã dừng!"); menu_opcoes (); } // Pausa / Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Tiếp tục…"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Nhạc đã tạm dừng!"); myDFPlayer.pause (); } menu_opcoes (); }

// Tăng âm lượng

if (lệnh == '+') {myDFPlayer.volumeUp (); Serial.print ("Khối lượng hiện tại:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (lệnh == '') {myDFPlayer.next (); Serial.println ("tiếp theo:"); Serial.print ("Theo dõi hiện tại:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Giảm âm lượng if (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Khối lượng Hiện tại:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Người dùng có thể gửi các ký tự điều khiển sau:

Các số từ 1 đến 3: Chọn bài hát sẽ phát;

  • Chữ s: Dừng bài hát; Chữ p: Tạm dừng bài hát;
  • Gửi dấu +: Tăng âm lượng bài hát;
  • Gửi tín hiệu -: Giảm âm lượng bài hát;
  • Gửi tín hiệu <: Chọn bài hát trước đó;
  • Gửi tín hiệu>: Chọn bài hát tiếp theo;

Từ các tín hiệu, chữ cái và số này, Arduino sẽ nhận chúng qua chuỗi nối tiếp và sẽ điều khiển nhạc được phát.

Mỗi điều kiện được trình bày bên dưới và bên trong, với các lệnh tương ứng.

if ((command> = '1') && (command <= '3')) {Serial.print ("Tái tạo âm nhạc"); Serial.println (lệnh); lệnh = lệnh - 48; myDFPlayer.play (lệnh); menu_opcoes (); } // Sao chép // Dừng if (command == 's') {myDFPlayer.stop (); Serial.println ("Nhạc đã dừng!"); menu_opcoes (); } // Pausa / Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Tiếp tục…"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Nhạc đã tạm dừng!"); myDFPlayer.pause (); } menu_opcoes (); }

// Tăng âm lượng

if (lệnh == '+') {myDFPlayer.volumeUp (); Serial.print ("Khối lượng hiện tại:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (lệnh == '') {myDFPlayer.next (); Serial.println ("tiếp theo:"); Serial.print ("Theo dõi hiện tại:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Giảm âm lượng if (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Khối lượng Hiện tại:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Vì vậy, nếu bạn áp dụng tất cả các bước được trình bày, bạn có thể học:

  • Mạch vận hành cơ bản của DFMini Player MP3;
  • Tổ chức và cấu hình các tập tin âm thanh trên thẻ nhớ;
  • Điều khiển âm thanh với Arduino Từ mã này, bạn có thể phát triển các dự án khác cần sử dụng âm thanh làm chức năng hệ thống.

Sự nhìn nhận

Để kết thúc, chúng tôi cảm ơn bạn đã đọc và hỗ trợ PCBWAY. COM đã hỗ trợ Silício Lab trong quá trình sản xuất bài viết này cho bạn.

Phòng thí nghiệm Silícios cảm ơn UTSOURCE đã cung cấp các bộ phận điện tử để xây dựng dự án này.

Đề xuất: