Mục lục:

Máy đo VU phổ âm thanh LoL Shield: 4 bước (có hình ảnh)
Máy đo VU phổ âm thanh LoL Shield: 4 bước (có hình ảnh)

Video: Máy đo VU phổ âm thanh LoL Shield: 4 bước (có hình ảnh)

Video: Máy đo VU phổ âm thanh LoL Shield: 4 bước (có hình ảnh)
Video: Top 3 tựa Game NẶNG NHẤT! Nhiều máy tải về xong là đứt luôn. 🥲 2024, Tháng mười một
Anonim
Máy đo VU phổ âm thanh LoL Shield
Máy đo VU phổ âm thanh LoL Shield

Đây là máy đo VU phổ âm thanh sử dụng LoL Shield cho Arduino. LoL Shield là một ma trận LED 14 x 9 phù hợp với Arduino như một tấm chắn và được điều khiển thông qua một phương pháp hiệu quả được gọi là Charlieplexing. Nó được thiết kế bởi Jimmie P. Rodgers. Dự án này sử dụng thư viện Fast Fourier Transform cho Arduino để phân tích tín hiệu âm thanh, chia nó thành các dải tần và hiển thị thông tin đó trên LoL Shield. Bộ vi điều khiển Arduino đủ nhanh để tính toán một phép biến đổi Fourier nhanh chóng. Nó sống đúng với tên gọi của nó và nhanh chóng và chính xác một cách đáng ngạc nhiên. Vì tất cả công việc được thực hiện bởi bộ vi điều khiển, dự án này hoàn toàn có thể di động nếu bạn sử dụng pin. Trang web cho dự án này có tại https://andydoro.com/vulol/ & amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; lt; br / & amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; gt; Các bộ phận cần thiết:

  • LoL Shield
  • Arduino (khuyên dùng Diavolino)
  • giắc cắm âm thanh (Tôi đã sử dụng phích cắm điện thoại 1/8 "mono nam)
  • Mã Arduino
  • cung cấp điện (nguồn DC, cáp USB, pin 9V, v.v.)

Bước 1: Lắp ráp LoL Shield

Lắp ráp lá chắn LoL
Lắp ráp lá chắn LoL

Làm theo hướng dẫn để lắp ráp LoL Shield tại đây. Thấy không, điều đó không mất nhiều thời gian!

Bước 2: Hàn dây với giắc cắm âm thanh

Hàn nối dây với giắc cắm âm thanh
Hàn nối dây với giắc cắm âm thanh

Tôi đang sử dụng phích cắm điện thoại nam mono 1/8 , như nó được gọi ở Radioshack, nhưng bạn có thể sử dụng bất kỳ cáp âm thanh nào thích hợp cho thiết lập hệ thống âm thanh của mình. Bạn có thể sử dụng micrô nếu muốn. Đối với loại phích cắm này, Tôi đã hàn hai dây. Tôi sử dụng màu đỏ và đen. LoL Shield để trống các chân tương tự 4 và 5 cho đầu vào. Mã của tôi sử dụng chân 5. Bạn có thể gắn dây màu đỏ vào chân tương tự 5 của LoL Shield và dây đen vào GND. Bạn không cần hàn vào, tôi chỉ luồn dây qua và uốn cong.

Bước 3: Lập trình Arduino

Lập trình Arduino
Lập trình Arduino

Bây giờ chúng ta cần lập trình Arduino để điều khiển LoL Shield.

Bạn nên sử dụng Diavolino để điều khiển LoL Shield nhằm ngăn chặn hiệu ứng "bóng mờ" trên đèn LED do đèn LED gắn bề mặt màu xanh lá cây được kết nối với chân 13 trên Arduino tiêu chuẩn, nhưng Arduino tiêu chuẩn sẽ hoạt động tốt.

Điều này yêu cầu hai thư viện Arduino: - thư viện FFT được tìm thấy trên diễn đàn Arduino - thư viện Charlieplexing cho LoL Shield

Việc cài đặt thư viện cho Arduino có thể hơi khó khăn nếu bạn chưa từng làm trước đây, nhưng bạn sẽ làm tốt!

Làm theo hướng dẫn cài đặt thư viện Arduino tại đây:

www.arduino.cc/en/guide/libraries

Thư viện FFT ngắt tín hiệu âm thanh ở 64 dải tần. Tấm chắn LoL là 14 x 9 đèn LED. Chúng tôi tính trung bình 64 dải tần với nhau thành 14 dải tần. Chúng tôi đang loại bỏ một số dữ liệu vì 14 không chia thành 64 đồng đều, mà là whatev. Giá trị của mỗi dải tần số được ánh xạ lại từ 0 đến 9.

Bạn có thể sao chép mã Arduino bên dưới, lấy mã từ GitHub (được khuyến nghị) hoặc tải xuống tệp. ZIP, bao gồm các thư viện và mã Arduino.

Đây là liên kết GitHub:

github.com/andydoro/LoLShield-FFT

Dưới đây là mã Arduino:

/ * FFT cho LoL Shield v0.9 của Andy Doro https://andydoro.com/ dựa trên thư viện FFT và mã từ các diễn đàn Arduino và thư viện Charlieplexing cho LoL Shield. * /

#include "Charliplexing.h"

#include "fix_fft.h"

#define AUDIOPIN 5 char im [128], data [128]; char data_avgs [14];

int i = 0, val;

void setup () {LedSign:: Init (); // Khởi tạo LoL Shield}

void loop () {

for (i = 0; i <128; i ++) {val = analogRead (AUDIOPIN); dữ liệu = val; im = 0; };

fix_fft (dữ liệu, im, 7, 0);

for (i = 0; i <64; i ++) {data = sqrt (data * data + im * im ); // cái này nhận giá trị tuyệt đối của các giá trị trong mảng, vì vậy chúng ta chỉ xử lý các số dương};

// các thanh trung bình với nhau cho (i = 0; i <14; i ++) {data_avgs = data [i * 4] + data [i * 4 + 1] + data [i * 4 + 2] + data [i * 4 + 3]; // trung bình chung data_avgs = map (data_avgs , 0, 30, 0, 9); // bản đồ lại các giá trị cho LoL}

// đặt LoLShield

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (y <data_avgs [13-x]) {// 13-x đảo ngược các thanh quá thấp đến tần suất cao được biểu diễn từ trái sang phải. LedSign:: Set (x, y, 1); // đặt đèn LED trên} else {LedSign:: Set (x, y, 0); // tắt đèn LED}}}

}

Bước 4: Thưởng thức !

Thưởng thức!!
Thưởng thức!!

& amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; lt; br & amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; gt; Cắm giắc cắm âm thanh vào dàn âm thanh nổi, iPod, máy tính, v.v. Cấp nguồn cho Arduino bằng nguồn điện DC, USB từ máy tính hoặc pin của bạn - thiết bị này hoàn toàn có thể di động. Bạn có thể cài nó vào mũ hoặc thắt lưng. Đèn LED trắng rất sáng nên rất khó để quay video. Có vẻ như có ngọn lửa màu tím phụt ra từ chúng! Hãy ngồi lại và tận hưởng!

Cuộc thi Vi điều khiển
Cuộc thi Vi điều khiển
Cuộc thi Vi điều khiển
Cuộc thi Vi điều khiển

Lọt vào vòng chung kết trong Cuộc thi Vi điều khiển

Đề xuất: