Module âm thanh WTV020 - Module âm thanh kết hợp với thẻ nhớ micro SD - Một giải pháp thông minh cho túi tiền của bạn

Bài viết này mình xin giới thiệu tới các bạn 1 loại module âm thanh khá dễ sử dụng tuy nhiên lại ít phổ biến trong cộng đồng Arduino VN. Đó là Module WTV-020. Bạn đã từng xem những con robot có thể phát ra tiếng nói và thậm chí xử lý được các tình huống và phát ra tiếng nói theo từng trường hợp. Ngoài việc xử dụng modul Micro SD Card ra, Module WTV-020 là 1 sự lựa chọn đáng để các bạn quan tâm khi các bạn có ý định khởi động 1 dự án có liên quan đến âm thanh.

P/S: mình đã hoàn thành được 1 dự án có sử dụng module này và khá hài lòng về kết quả mà nó mang lại cho mình (kể cả về kinh tế) heart

Đây là loại module có thể sử dụng trong các hệ thống định vị GPS, hệ thống nhà thông minh, các thiết bị y tế, thiết bị gia dụng (bếp, nồi cơm điện, lò vi sóng), máy chơi game, các thiết bị học tập và các công cụ như "sách nói", các dạng phương tiện giao thông thông minh (trạm thu phí, bãi đậu xe), thiết bị thông tin liên lạc (điện thoại), công nghiệp kiểm soát (thang máy), đồ chơi có phát ra âm thanh..v..v..

1. GIỚI THIỆU VỀ MODULE WTV-020

Có thể nói module WTV-020 là module tuyệt vời trong các dự án xử dụng đến âm thanh, với kích thước tương đối nhỏ gọn, khả năng xử lý nhanh, tốc độ lấy mẫu của các file âm thanh lên đến 32000Hz. Và điều đặc biệt đó là nó hoàn toàn có thể hoạt động được khi có vi điều khiển hoặc không có vi điều khiển. Điều đó có nghĩa là bạn có thể sử dụng Arduino để điều khiển WTV-020 hoặc bạn có thể để WTV-020 tự hoạt động mà không cần Arduino. Tuyệt không nào! wink

Dự án của mình thuộc lĩnh vực quân sự nên không thể share cho các bạn xem tuy nhiên để các bạn rõ hơn mình xin dẫn lại 1 video sử dụng WTV-020 (nguồn youtube)

Có 1 số điều cần lưu ý khi làm việc với module này

Hỗ trợ thẻ nhớ tối đa là  2GB

Hoạt động với định dạng âm thanh ad4 (việc chuyển đổi từ mp3, wav sang ad4 rất đơn giản mình sẽ hướng dẫn bên dưới)

Nguồn cấp là 3.3V

OK! Cùng xem sơ đồ chân của em này nào:

  • 1: Chân reset
  • 2: Chân audio, chân này có thể nối tới bộ khuyếch đại
  • 4,5: nối trực tiếp tới loa công suất nhỏ (tối đa 3W)
  • 7: Chân CLK
  • 8: Chân GND
  • 10: chân DATA giao tiêp với vi điều khiển
  • 15: chân Busy
  • 16: chân nguồn 3,3V
  • Các chân 3,6,11,14 không có tác dụng nhé
  • Chân 12, 13 sử dụng trong trường hợp không có arduino. các bạn có thể tham khảo hình bên dưới

Hãy để ý vùng khoanh tròn màu đỏ trên hình, đó chính là điểm chuẩn để bạn xác định các chân

Các bạn lưu ý, Module này chỉ hoạt động ở mức điện áp 3,3v vì vậy khi  sử dụng, hãy chắc chắn là mình cắm đúng nguồn 3,3v nếu không thẻ nhớ của bạn sẽ hỏng.

Các bạn có thể tham khảo datasheet của WTV020 tại đây (Có khá nhiều phiên bản khác nhau, tuy nhiên các chân cơ bản giống nhau)

2. KẾT NỐI VỚI ARDUINO THẾ NÀO?

Như mình đã nói ở phần đầu, Module WTV-020 có thể hoạt động ở 2 chế độ: có hoặc không có Arrduino. Ở mục này mình sẽ hướng dẫn các bạn kết nối Module WTV-020 với arduino

Có lẽ sơ đồ trên đã quá dễ dàng để kết nối rồi đúng không? Nếu bạn nào gặp khó khăn có thể liên hệ trực tiếp với mình qua mục tin nhắn hoặc bình luận nhé! heart

3. CHUYỂN ĐỔI ĐỊNH DẠNG ÂM mp3, wav  SANG *ad4

Nhiều bạn đọc đến đoạn này sẽ cảm thấy ngán vì lại mất công rườm rà chuyển đổi âm thanh mới sử dụng được.

Nhưng các bạn hãy tin mình đi, rất đơn giản thôi!!! laugh

Các bạn cần down phần mềm chuyển đổi định dạng tại đây cài đặt xong sau đó chạy chương trình có tên là USBRecorder ver 1.3, bạn sẽ thấy giao diện như sau

Bước 1. chọn file âm thanh định dạng *mp3 hoặc *wav

Bước 2. Chọn loại định dạng

Bước 3. Encode âm thanh

Bước 4. Các file âm thanh của bạn đã được convert sang dạng *ad4. Các bạn đổi tên file thành dạng 0000.ad4, 0001.ad4, 0002.ad4....v..v.. sau đó copy vào thẻ nhớ, lắp thẻ nhớ vào module.

Nếu các bạn muốn test luôn thì mình có 1 số file ad4 mẫu, các bạn có thể copy vào thẻ luôn và test thử nhé. Các bạn có thể down tại đây HOẶC tại đây.

OK vậy là xong!

4. CODE ARDUINO

Thư viện hỗ trợ cho module WTV-020 Các bạn có thể down tại đây giải nén và copy vào thư mục C:\Program Files\Arduino\libraries

#include <Wtv020sd16p.h>
int resetPin = 2;  // Chân số 2 được kết nối với chân Reset(1) trên Module
int clockPin = 3;  // Chân số 3 được kết nối với chân CLK(7) trên Module
int dataPin = 4;  //Chân số 4 được kết nối với chân data(10) trên Module
int busyPin = 5;  //Chân số 5 được kết nối với chân busy(15) trên Module
Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);

void setup() {
  //Khởi tạo module
  wtv020sd16p.reset();
}

void loop() {
  //Chạy file âm thanh đồng bộ. Busy pin được sử dụng ở phương pháp này.
  wtv020sd16p.playVoice(0);
  //chạy âm thanh không đồng bộ
  wtv020sd16p.asyncPlayVoice(1);
  //Chạy tệp âm thanh số 1 trong 5 giây
  delay(5000);
  //tạm dừng tệp số 1 trong 5 giây
  wtv020sd16p.pauseVoice();
  delay(5000);
  //tiếp tục chạy tệp trong 5 giây
  wtv020sd16p.pauseVoice();
  delay(5000);  
  //dừng chạy âm thanh
  wtv020sd16p.stopVoice();
  wtv020sd16p.asyncPlayVoice(2);
  delay(2000);   
// tắt âm
  wtv020sd16p.mute();
  delay(2000);
  //bật âm
  wtv020sd16p.unmute();
  delay(2000);    
  //dừng chạy
  wtv020sd16p.stopVoice();
}

Các bạn có thể nạp chương trình và thử nghiệm tác dụng của từng câu lệnh nhé

Ứng dụng gì với đoạn code này?

Căn cứ vào tính năng của module, bạn hoàn toàn có thể nạp các đoạn âm thanh giọng nói vào thẻ nhớ, sử dụng có các chú robot tự chế có thể phản ứng bằng giọng nói với các trường hợp mà mình định sẵn với các điều kiện từ các cảm biến. Tất cả nằm ở sự sáng tạo của các bạn nhé! yes

Kinh nghiệm của mình khi sử dụng WTV020 cho thấy đây là một trong những module khá thú vị. Trên các trang web khác nhau và các diễn đàn nước ngoài các bạn sẽ tìm thấy các cuộc thảo luận về các phương pháp khác nhau để làm cho nó làm việc. Một số người nói rằng nó không làm việc với thẻ 2GB và một số nói rằng nó không chơi được file * .mp3 / *. Wav.

Trong thực tế, có một số vấn đề cần phải được giải quyết để module có thể hoạt động nhịp nhàng. Trong bài viết này, mình xin đưa ra những kinh nghiệm và mình nghĩ rằng nếu các bạn làm theo các bước này thì thiết bị của bạn sẽ làm việc.

Hãy format thẻ nhớ trước khi copy file âm thanh vào

Sử dụng thẻ nhớ chuẩn, thường là KingSton 2GB

Đặt tên các file âm thanh đúng thứ tự và nguyên tắc: 0000.ad4.... tối đa là 512 file

Nếu vẫn chưa được, hãy format lại thẻ bằng phần mềm chuyên dụng

 Một số module dòng WTV-020-M01 bị 1 lỗi phần cứng rất khó chịu, tuy nhiên cách khắc phục như sau

CHÚC CÁC BẠN THÀNH CÔNG!!! yes

Những hình ảnh về dự án: 
lên
22 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Giao tiếp I2C giữa nhiều arduino với nhau

Đôi khi chúng ta muốn chia sẻ khối lượng công việc của một Arduino với 1 arduino khác. Hoặc có khi chúng ta muốn nhiều chân digital hoặc analog hơn để xử lý công việc.I2C là giải pháp tốt nhất. Bài viết này mình sẽ hướng dẫn các bạn cách giao tiếp giữa 2 boad arduino với nhau qua giao thức I2C.

lên
23 thành viên đã đánh giá bài viết này hữu ích.

Giao tiếp I2C với nhiều module

Nhiều bạn khi mới tiếp cận với thế giới điện tử và bắt đầu làm quen với arduino không khỏi bỡ ngỡ khi nhận thấy trên Arduino Uno chỉ có 2 chân A4,A5 để giao tiếp I2C. Rồi chợt đặt câu hỏi. Có mỗi 1 cổng I2C thế kia thì làm sao có thể giao tiếp với nhiều thiết bị cũng sử dụng giao tiếp I2C? Bài viết này mình sẽ hướng dẫn các bạn cách giao tiếp I2C với nhiều thiết bị.

lên
33 thành viên đã đánh giá bài viết này hữu ích.