Mục lục:
- Quân nhu
- Bước 1: Mô-đun DF Mini Player MP3 là gì
- Bước 2:
- Bước 3: Điều khiển trình phát DFMini bằng Arduino
- Bước 4:
Video: Cách sử dụng mô-đun DFMini Player MP3 với Arduino: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
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 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:
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
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:
Hướng dẫn: Cách sử dụng cảm biến khoảng cách siêu âm tương tự US-016 với Arduino UNO: 3 bước
Hướng dẫn: Cách Sử dụng Cảm biến Khoảng cách Siêu âm Tương tự US-016 Với Arduino UNO: Mô tả: Mô-đun khởi động siêu âm US-016 cho phép khả năng đo không 2 cm ~ 3 m, điện áp cung cấp 5 V, dòng hoạt động 3.8mA, hỗ trợ điện áp đầu ra tương tự, ổn định và đáng tin cậy. Mô-đun này có thể khác nhau tùy theo thiết bị
Bộ mã hóa quay: Cách hoạt động và cách sử dụng với Arduino: 7 bước
Bộ mã hóa quay: Cách hoạt động và cách sử dụng với Arduino: Bạn có thể đọc phần này và các hướng dẫn tuyệt vời khác trên trang web chính thức của ElectroPeak Trước tiên, bạn sẽ thấy một số thông tin về bộ mã hóa quay và sau đó, bạn sẽ tìm hiểu cách
Cách sử dụng Mac Terminal và Cách sử dụng các chức năng chính: 4 bước
Cách sử dụng Mac Terminal và Cách sử dụng các chức năng chính: Chúng tôi sẽ hướng dẫn bạn cách mở MAC Terminal. Chúng tôi cũng sẽ chỉ cho bạn một vài tính năng trong Terminal, chẳng hạn như ifconfig, thay đổi thư mục, truy cập tệp và arp. Ifconfig sẽ cho phép bạn kiểm tra địa chỉ IP và quảng cáo MAC của bạn
Cách sử dụng Bo mạch tương thích Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE bằng cách sử dụng Blynk: 10 bước
Cách sử dụng Bo mạch tương thích Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE bằng cách sử dụng Blynk: Bo mạch tương thích Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE Mô tả: Ban phát triển WiFi ESP8266 WEMOS D1. WEMOS D1 là bảng phát triển WIFI dựa trên ESP8266 12E. Hoạt động tương tự như của NODEMCU, ngoại trừ phần cứng là bản dựng
Cách xây dựng một nhà lập trình ISP USBTiny: bằng cách sử dụng máy phay CNC PCB: 13 bước (có hình ảnh)
Làm thế nào để xây dựng một lập trình viên USBTiny ISP: bằng cách sử dụng máy phay CNC PCB: Bạn đã nghĩ về cách xây dựng dự án điện tử của riêng mình từ đầu chưa? Nhưng hầu hết các nhà sản xuất và những người đam mê phần cứng, những người chỉ bước trước văn hóa nhà sản xuất đã xây dựng các dự án của họ