- Yêu cầu phần cứng:
- Chuẩn bị sẵn sàng với các tệp âm thanh WAV của bạn:
- Mạch và phần cứng:
- Lập trình Arduino của bạn:
- Hoạt động của Trình phát nhạc Arduino này:
Thêm âm thanh hoặc nhạc vào dự án của chúng tôi sẽ luôn làm cho dự án trông bắt mắt và hấp dẫn hơn nhiều. Đặc biệt nếu bạn đang sử dụng Arduino và bạn không có nhiều chân cắm, bạn có thể dễ dàng thêm hiệu ứng âm thanh vào dự án của mình chỉ bằng cách đầu tư thêm một mô-đun thẻ SD và một loa bình thường. Trong bài viết này, tôi sẽ chỉ cho bạn cách dễ dàng Phát nhạc / thêm hiệu ứng âm thanh bằng Bảng Arduino của bạn. Cảm ơn cộng đồng Arduino, những người đã phát triển một số thư viện để xây dựng điều này một cách nhanh chóng và dễ dàng. Chúng tôi cũng đã sử dụng IC LM386 ở đây cho mục đích khuếch đại và khử nhiễu.
Trong dự án này, chúng tôi sẽ phát các tệp nhạc.wav lưu trữ trong thẻ SD. Chúng tôi sẽ lập trình Arduino để đọc các tệp.wav này và phát âm thanh trên giọng nói thông qua bộ khuếch đại âm thanh LM386. Bây giờ, vì mã này chỉ có thể đọc các tệp.wav, về mặt kỹ thuật, dự án này không thể được gọi là Trình phát Mp3 Arduino, nhưng bạn vẫn có thể nghe các bài hát với nó. Nếu bạn đang tìm kiếm các lựa chọn thay thế đơn giản như trình phát nhạc Arduio không có thẻ SD, bạn nên xem trình phát giai điệu Arduino mà chúng tôi đã xây dựng trước đó.
Yêu cầu phần cứng:
- Arduino UNO
- Mô-đun đầu đọc thẻ SD
- thẻ SD
- Bộ khuếch đại âm thanh LM386
- Tụ 10uf (2 Nos)
- Tụ điện 100uf (2 Nos)
- Điện trở 1K, 10K
- Các nút ấn (2 Nos)
- Breadboard
- Kết nối dây
Chuẩn bị sẵn sàng với các tệp âm thanh WAV của bạn:
Để phát âm thanh từ Thẻ SD bằng Arduino, chúng ta cần tệp âm thanh ở định dạng.wav vì Bảng Arduino có thể phát tệp âm thanh ở định dạng cụ thể là định dạng wav. Để tạo một máy nghe nhạc mp3 arduino, có rất nhiều tấm chắn mp3 mà bạn có thể sử dụng với arduino. Hoặc để phát các tệp mp3 trong arduino, có những trang web mà bạn có thể sử dụng để chuyển đổi bất kỳ tệp âm thanh nào trên máy tính của bạn thành tệp WAV cụ thể đó.
Vì vậy, để chuyển đổi bất kỳ tệp âm thanh nào sang định dạng wav, hãy làm theo các bước sau:
Bước 1: Nhấp vào “Công cụ chuyển đổi Wav trực tuyến” để vào trang web.
Bước 2: Arduino có thể phát tệp wav ở định dạng sau. Bạn có thể đùa giỡn với các cài đặt sau đó, nhưng những cài đặt này đã được thử nghiệm để có chất lượng tốt nhất.
Độ phân giải bit |
8 bit |
Tỷ lệ lấy mẫu |
16000 Hz |
Kênh âm thanh |
Bệnh tăng bạch cầu đơn nhân |
Định dạng PCM |
PCM 8-bit không dấu |
Bước 3: Trong trang web nhấp vào “chọn tệp” và chọn tệp bạn muốn chuyển đổi. Sau đó, nguồn cấp dữ liệu trong cài đặt trên. Sau khi hoàn thành, nó sẽ trông giống như thế này trong hình ảnh dưới đây
Bước 4: Bây giờ, nhấp vào “Chuyển đổi tệp” và tệp Âm thanh của bạn sẽ được chuyển đổi sang định dạng tệp.Wav. Nó cũng sẽ được tải xuống sau khi chuyển đổi xong.
Bước 5: Cuối cùng định dạng thẻ SD của bạn và lưu tệp âm thanh.wav của bạn vào đó. Đảm bảo rằng bạn định dạng nó trước khi thêm tệp này. Cũng nhớ tên tệp âm thanh của bạn. Tương tự, bạn có thể chọn bất kỳ âm thanh nào trong số bốn âm thanh của mình và lưu chúng với tên 1, 2, 3 và 4 (Tên không được thay đổi). Tôi đã chuyển đổi bốn bài hát và đã lưu chúng dưới dạng 1.wav, 2.wav, 3.wav và 4.wav như hình dưới đây.
Mạch và phần cứng:
Sơ đồ mạch cho Trình phát tệp âm thanh Arduino này rất đơn giản. Sơ đồ mạch hoàn chỉnh được hiển thị trong Hình ảnh bên dưới.
Như chúng ta biết các tệp âm thanh của chúng ta được lưu vào thẻ SD, do đó chúng ta giao tiếp mô-đun đầu đọc thẻ SD với Arduino của mình. Các Arduino và thẻ SD liên lạc qua giao thức giao tiếp SPI. Do đó, Mô-đun được giao tiếp với các chân SPI của Arduino như được hiển thị ở trên trong sơ đồ. Nó được liệt kê thêm trong bảng dưới đây.
Arduino |
Mô-đun thẻ SD |
+ 5V |
Vcc |
Gnd |
Gnd |
Pin 12 |
MISO (Master In Slave out) |
Pin 11 |
MOSI (Master Out Slave In) |
Pin 13 |
SCK (Đồng hồ đồng bộ) |
Pin 4 |
CS (Chọn chip) |
Bây giờ Arduino sẽ có thể đọc tệp nhạc từ thẻ SD và phát nó trên chân số 9. Nhưng tín hiệu âm thanh do Arduino tạo ra trên chân số 9 sẽ không nghe được nhiều. Do đó chúng tôi khuếch đại nó bằng cách sử dụng IC khuếch đại âm thanh điện áp thấp LM386.
Bộ khuếch đại được hiển thị ở trên được thiết kế cho Mức tăng 200 và Vdd (chân 6) được cấp nguồn bởi chân 5V của Arduino. Nếu muốn tăng / giảm âm thanh bạn có thể tăng / giảm điện áp cung cấp cho chân này. Nó có thể chịu được tối đa là 15V. Tìm hiểu thêm về cấu hình khuếch đại độ lợi 200 này cho LM386 tại đây.
Chúng tôi cũng có hai nút nhấn được kết nối với chân 2 và 3 của Arduino. Các công tắc này được sử dụng để phát đoạn tiếp theo của bài hát và phát / tạm dừng nhạc tương ứng. Tôi đã sử dụng các nút này chỉ để chứng minh khả năng của nó; bạn có thể chơi bài hát bất cứ khi nào cần thiết. Kiểm tra Video Demo ở cuối.
Bạn có thể lắp ráp hoàn toàn mạch này qua Breadboard như trong hình bên dưới
Lập trình Arduino của bạn:
Khi chúng ta đã sẵn sàng với Phần cứng và thẻ SD, chúng ta chỉ còn một bước nữa là có thể phát những bài hát đó. Cắm thẻ vào mô-đun thẻ SD của bạn và làm theo các bước bên dưới.
Bước 1: Như đã nói trước đó, chúng ta sẽ sử dụng một thư viện để làm cho dự án này hoạt động. Liên kết cho thư viện được cung cấp dưới đây. Nhấp vào nó và chọn “Sao chép hoặc tải xuống” và chọn tải xuống dưới dạng ZIP.
- Thư viện TMRpcm
Bước 2: Thêm tệp Zip này vào IDE Arduino của bạn bằng cách chọn Sketch-> Bao gồm Thư viện -> Thêm Thư viện.ZIP như hình bên dưới và chọn tệp ZIP mà chúng ta vừa tải xuống.
Bước 3: Chương trình hoàn chỉnh của dự án máy nghe nhạc arduino được đưa ra ở cuối bài viết này, bạn chỉ cần sao chép và dán nó vào Chương trình Arduino. Bây giờ, hãy nhấp vào Tải lên và sẵn sàng phát các tệp âm thanh của bạn.
Chương trình là tự giải thích vì họ có các dòng bình luận. Tuy nhiên, tôi cũng đã giải thích khả năng của thư viện TMRpcm bên dưới.
Phát tệp âm thanh:
Bạn có thể phát bất kỳ âm thanh nào được lưu trữ ở định dạng Wav bên trong mô-đun thẻ SD bằng cách sử dụng dòng bên dưới.
music.play ("3.wav"); // tên đối tượng.play (“FileName.wav”);
Bạn có thể sử dụng dòng này ở những nơi bạn muốn kích hoạt Âm thanh
Tạm dừng tệp âm thanh:
Để tạm dừng tệp Âm thanh, bạn có thể chỉ cần gọi dòng bên dưới.
music.pause (); //objectname.pause ();
Chuyển tiếp / Tua lại một Âm thanh:
Không có cách trực tiếp để chuyển tiếp hoặc tua lại tệp Âm thanh, nhưng bạn có thể sử dụng dòng bên dưới để phát một bài hát tại một thời điểm cụ thể. Điều này có thể được sử dụng để chuyển tiếp / tua lại với một số chương trình bổ sung.
music.play ("2.wav", 33); // Phát bài hát từ giây thứ 33 //objectname.play(ooterFilename.wavosystem,time trong giây);
Đặt chất lượng âm thanh:
Thư viện cung cấp cho chúng tôi hai chất lượng để chơi nhạc, một là chơi ở chế độ bình thường, hai là chơi với 2X oversampling.
music.quality (0); // Chế độ bình thường music.quality (1); // 2X qua chế độ lấy mẫu
Đặt Âm lượng của âm thanh:
Có, bạn có thể kiểm soát âm lượng của âm thanh thông qua phần mềm. Bạn có thể chỉ cần đặt âm lượng bằng cách sử dụng dòng bên dưới. Âm lượng nhạc cao hơn có xu hướng ảnh hưởng đến chất lượng của âm thanh, do đó, hãy sử dụng điều khiển phần cứng khi có thể.
music.setVolume (5); // Phát bài hát ở volume 5 //objectname.setVolume(Volume level);
Hoạt động của Trình phát nhạc Arduino này:
Sau khi lập trình Arduino của bạn, chỉ cần nhấn vào nút được kết nối với chân 2 và Arduino của bạn sẽ phát bài hát đầu tiên (được lưu dưới dạng 1.wav) cho bạn. Bây giờ bạn có thể nhấn nút một lần nữa để thay đổi bản nhạc của bạn thành bài hát tiếp theo sẽ phát 2.wav. Tương tự như vậy, bạn có thể điều hướng đến tất cả bốn bài hát.
Bạn cũng có thể phát / Tạm dừng bài hát bằng cách nhấn vào nút được kết nối với chốt 3. Nhấn vào nút đó một lần để tạm dừng bài hát và nhấn lại để phát bài hát từ vị trí đã dừng. Xem video bên dưới để hoàn thành công việc (hoặc có thể để thư giãn với một số bài hát).
Hy vọng bạn thích dự án. Giờ đây, việc sử dụng chúng trong các dự án của bạn tùy thuộc vào sự sáng tạo của bạn. Bạn có thể tạo đồng hồ nói, trợ lý giọng nói, rô bốt biết nói, hệ thống bảo mật cảnh báo bằng giọng nói và hơn thế nữa. Hãy cho tôi biết bạn đang dự định sử dụng nó như thế nào thông qua phần bình luận và nếu bạn gặp bất kỳ vấn đề gì trong quá trình làm việc này, bạn có thể liên hệ với tôi thông qua diễn đàn hoặc phần bình luận bên dưới.