Mục lục:

Đồng hồ VU Analog được bật Bluetooth: 6 bước
Đồng hồ VU Analog được bật Bluetooth: 6 bước

Video: Đồng hồ VU Analog được bật Bluetooth: 6 bước

Video: Đồng hồ VU Analog được bật Bluetooth: 6 bước
Video: Cách kết nối đồng hồ thông minh với điện thoại ip và android #donghothongminh #huongdan #trending 2024, Tháng mười một
Anonim
Đồng hồ VU Analog được bật Bluetooth
Đồng hồ VU Analog được bật Bluetooth

Đây là dự án của tôi cho một trong những lớp đại học của tôi có tên là SMP. Khi chúng tôi sử dụng bảng phát triển STM32F103RB, tôi dựa trên dự án này, bắt đầu từ một đồng hồ VU đơn giản. Sau đó, tôi đã thêm một số tính năng bổ sung như hỗ trợ Bluetooth để phát các giá trị từ ADC tới ứng dụng Android để tạo biểu đồ dB đơn giản.

Bước 1: Các thành phần được sử dụng

  • Bảng phát triển STM32F103RB
  • Mô-đun bluetooth HC-05 zs040
  • Bảng đồng hồ VU analog (liên kết)
  • Micrô điện tử
  • Bộ khuếch đại 4 nhân LM324N
  • 2 bóng bán dẫn TIP120
  • 3 điốt 1N4148
  • Các loại tụ điện và điện trở

Mặc dù bạn có thể tháo mạch này ra khỏi đường ray 5V của bo mạch, nhưng tôi cũng đã sử dụng nguồn điện 5V bên ngoài.

Bước 2: Người theo dõi phong bì

Người theo dõi phong bì
Người theo dõi phong bì
Người theo dõi phong bì
Người theo dõi phong bì

Phần chính của thiết kế này là bộ theo đường bao lấy tín hiệu từ micrô điện tử và xuất ra điện áp tỷ lệ với biên độ tín hiệu của micrô.

Đầu tiên, tín hiệu thô từ micrô được chuyển qua một bộ khuếch đại với mức khuếch đại 150.

Sau đó, tín hiệu được chuyển qua máng theo dõi phong bì thực tế chỉ xuất ra các phần tín hiệu tích cực.

Phần cuối cùng là trừ điện áp bù 1,65V từ đầu ra của bộ theo dõi phong bì để cung cấp tín hiệu 0 V cho âm thanh không có âm thanh, 1,65 V cho âm thanh trung bình và 3,3 V cho âm thanh lớn phải tương thích với tích hợp ADC của hội đồng quản trị.

Người theo dõi phong bì này được thực hiện từ câu trả lời StackExchange tuyệt vời này.

Bước 3: PWM cho Đồng hồ đo Analog

Để làm cho kim của máy đo hoạt động, tôi đã định cấu hình bộ đếm thời gian TIM4 của bảng vi điều khiển với tần số khoảng 500 Hz.

Bằng cách thử liên tiếp các chu kỳ nhiệm vụ khác nhau, tôi đã xác định được một số giá trị đủ để đưa kim đi từ 0 đến 100.

Tôi sẽ trình bày chi tiết quá trình hiển thị một giá trị chính xác trong bước tiếp theo bằng cách áp dụng một số phép toán.

Bước 4: Hiệu chỉnh micrô

Hiệu chỉnh micrô
Hiệu chỉnh micrô
Hiệu chỉnh micrô
Hiệu chỉnh micrô

Sau đó, tôi đã viết một số mã đơn giản để sử dụng ADC và xác minh rằng giá trị đọc thực sự thay đổi tương ứng với độ ồn bên trong phòng.

Để "dịch" giá trị này thành số đọc dB thực tế, tôi đã sử dụng bộ tạo âm trực tuyến với tần số 550 Hz và Android của tôi để cung cấp số đọc tham chiếu.

Tôi đã vẽ biểu đồ các giá trị đó và sử dụng Công cụ Curve Fit Tool của MatLAB để có một chức năng ánh xạ các kết quả đọc ADC với giá trị xấp xỉ thực tế của mức dB (hoặc ít nhất là đủ gần với số đọc trên điện thoại của tôi).

Chúng ta có thể thấy rằng điều này tuân theo thang đo logarit của micrô.

Tôi cũng làm điều tương tự để ánh xạ vị trí kim với các giá trị PWM. Tôi đã tập hợp các giá trị đó bằng cách tăng giá trị PWM lên 10 liên tiếp cho đến khi đọc được số lượt cần thiết trên thang đo của nó.

Kết hợp 2 chức năng đó, tôi có một cách dễ dàng để hiển thị giá trị đọc từ ADC thành giá trị thực trên chỉ báo đo.

Bước 5: Ứng dụng Android

Ứng dụng đang sử dụng thư viện thú vị này để giao tiếp qua nối tiếp Bluetooth để trao đổi thông tin byte.

Cảnh báo chính của hệ thống này là độ dài từ tối đa được gửi qua Bluetooth là 8 bit và giá trị ADC được biểu thị là 12 bit. Để khắc phục vấn đề này, tôi tách một giá trị ADC thành 2 giá trị 6 bit riêng biệt (MSB và LSB) với 2 bit còn lại được sử dụng để xác định loại thông báo (MSB, LSB, CHK).

Do đó, đối với một giá trị ADC duy nhất mà chúng tôi muốn phát, chúng tôi chia giá trị thực tế thành 2 thông báo. Để kiểm tra tính toàn vẹn của những tin nhắn đó, tôi đã gửi tin nhắn thứ ba với XOR của 2 tin nhắn đầu tiên.

Sau khi kiểm tra tính toàn vẹn của giá trị, chúng ta có thể áp dụng cùng một hàm để lấy mức dB và vẽ biểu đồ trực tiếp của chúng ta.

Bước 6: Tóm tắt

Trong khi tôi phần bộ điều khiển vi mô của dự án này hoạt động khá tốt khi hiển thị độ ồn bên trong phòng, tôi đã gặp một số sự cố khi gửi dữ liệu qua Bluetooth do mất gói.

Mã nguồn của dự án này có thể được tìm thấy ở đây:

  • Ứng dụng đồng hành Android - repo
  • Mã vi điều khiển - repo

Hãy đóng góp nếu bạn thấy điều này hữu ích theo bất kỳ cách nào.

Đề xuất: