Mục lục:

Đài phun nước khiêu vũ: Arduino Với Máy phân tích phổ MSGEQ7: 8 bước
Đài phun nước khiêu vũ: Arduino Với Máy phân tích phổ MSGEQ7: 8 bước

Video: Đài phun nước khiêu vũ: Arduino Với Máy phân tích phổ MSGEQ7: 8 bước

Video: Đài phun nước khiêu vũ: Arduino Với Máy phân tích phổ MSGEQ7: 8 bước
Video: Thanh niên lần đầu chưa có kinh nghiệm kiểu#funny #tiktok 2024, Tháng mười một
Anonim
Đài phun nước khiêu vũ: Arduino Với Máy phân tích phổ MSGEQ7
Đài phun nước khiêu vũ: Arduino Với Máy phân tích phổ MSGEQ7

Việc tiếp nhận một tín hiệu âm thanh và chuyển đổi nó thành phản ứng cơ học hoặc hình ảnh là rất thú vị. Trong dự án này, chúng tôi sẽ sử dụng Arduino Mega được kết nối với máy phân tích phổ MSGEQ7 lấy tín hiệu âm thanh đầu vào và thực hiện lọc thông dải trên nó để chia nó thành 7 dải tần chính. Sau đó Arduino sẽ phân tích tín hiệu tương tự của từng dải tần và tạo ra một hành động.

Bước 1: Mục tiêu của Dự án

Dự án này sẽ thảo luận về 3 phương thức hoạt động:

  1. Đèn LED được kết nối với chân kỹ thuật số PWM để phản ứng với các dải tần
  2. Đèn LED được kết nối với chân kỹ thuật số để phản ứng với các dải tần
  3. Máy bơm được kết nối với Arduino Mega thông qua trình điều khiển Động cơ và phản ứng với các dải tần số

Bước 2: Lý thuyết

Học thuyết
Học thuyết
Học thuyết
Học thuyết

Nếu chúng ta nói về IC phân tích phổ MSGEQ7, chúng ta có thể nói rằng nó có bộ lọc thông số 7 dải bên trong chia tín hiệu âm thanh đầu vào thành 7 dải chính: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz và 16 kHz.

Đầu ra của mỗi bộ lọc được chọn làm đầu ra của IC bằng cách sử dụng bộ ghép kênh. Bộ ghép kênh đó có các dòng bộ chọn được điều khiển bởi bộ đếm nhị phân bên trong. Vì vậy, chúng ta có thể nói rằng bộ đếm nên đếm từ 0 đến 6 (000 đến 110 trong hệ nhị phân) để cho phép một băng tần đi qua tại một thời điểm. Điều đó làm rõ ràng rằng mã của Arduino sẽ có thể đặt lại bộ đếm khi nó đạt đến số 7.

Nếu chúng ta nhìn vào sơ đồ mạch của MSGEQ7, chúng ta có thể thấy rằng chúng ta sử dụng bộ điều chỉnh tần số RC để điều khiển xung nhịp bên trong của bộ dao động. thì chúng ta sử dụng lọc các phần tử RC ở cổng tín hiệu âm thanh đầu vào.

Bước 3: Thủ tục

Thủ tục
Thủ tục

Theo trang nguồn (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html), chúng ta có thể thấy rằng mã nguồn xử lý đầu ra dưới dạng tín hiệu PWM lặp đi lặp lại. chúng ta có thể thay đổi một số dòng mã để phù hợp với mục tiêu của mình.

Chúng ta có thể nhận thấy rằng nếu chúng ta có giắc cắm âm thanh nổi, chúng ta có thể tăng gấp đôi điện trở đầu vào và tụ điện cho kênh thứ hai. Chúng tôi cấp nguồn cho MSGEQ7 từ Arduino VCC (5 volt) và GND. Chúng tôi sẽ kết nối MSGEQ7 với bảng Arduino. Tôi thích sử dụng Arduino Mega hơn vì nó có các chân PWM phù hợp với dự án. Đầu ra của IC MSGEQ7 được kết nối với chân tương tự A0, STROBE được kết nối với chân 2 của Arduino Mega và RESET được kết nối với chân 3.

Bước 4: Chế độ hoạt động: 1- Đèn LED làm đầu ra kỹ thuật số PWM

Chế độ hoạt động: 1- Đèn LED làm đầu ra kỹ thuật số PWM
Chế độ hoạt động: 1- Đèn LED làm đầu ra kỹ thuật số PWM

Theo mã nguồn, chúng ta có thể kết nối các đèn LED đầu ra với chân 4 đến chân 10

const int LED_pins [7] = {4, 5, 6, 7, 8, 9, 10};

Sau đó, chúng ta có thể nhận thấy các đèn LED nhảy theo cường độ của mỗi dải tần.

Bước 5: Chế độ hoạt động: 2- Đèn LED là đầu ra kỹ thuật số

Image
Image
Phương thức hoạt động: 3- Bơm làm đầu ra kỹ thuật số
Phương thức hoạt động: 3- Bơm làm đầu ra kỹ thuật số

Chúng tôi có thể kết nối các đèn LED đầu ra với bất kỳ chân kỹ thuật số nào.

const int LED_pins [7] = {40, 42, 44, 46, 48, 50, 52};

Sau đó, chúng ta có thể nhận thấy các đèn LED nhấp nháy theo cường độ của mỗi dải tần.

Bước 6: Chế độ hoạt động: 3- Bơm làm đầu ra kỹ thuật số

Phương thức hoạt động: 3- Bơm làm đầu ra kỹ thuật số
Phương thức hoạt động: 3- Bơm làm đầu ra kỹ thuật số

Trong chế độ cuối cùng này, chúng tôi sẽ kết nối mô-đun trình điều khiển động cơ L298N với các đầu ra của Arduino. điều này cho phép chúng tôi kiểm soát hoạt động của máy bơm dựa trên đầu ra của máy phân tích phổ MSGEQ7.

Như đã biết, trình điều khiển động cơ cho phép chúng tôi điều khiển hoạt động của động cơ hoặc máy bơm được kết nối dựa trên tín hiệu được tạo ra từ Arduino mà không làm chìm bất kỳ dòng điện nào từ Arduino, thay vào đó chúng cấp điện trực tiếp cho động cơ từ nguồn điện được kết nối.

Nếu chúng tôi chạy mã dưới dạng nguồn thô, máy bơm có thể không hoạt động bình thường. Đó là bởi vì tín hiệu PWM thấp và sẽ không phù hợp để trình điều khiển động cơ chạy động cơ hoặc máy bơm và cung cấp dòng điện phù hợp. Đó là lý do tại sao tôi khuyên bạn nên tăng giá trị PWM bằng cách nhân các số đọc tương tự từ A0 với hệ số lớn hơn 1,3. Điều này giúp ánh xạ phù hợp với trình điều khiển động cơ. Tôi đề nghị 1,4 đến 1,6. Ngoài ra, chúng ta có thể ánh xạ lại PWM thành 50 thành 255 để chắc chắn rằng giá trị PWM sẽ phù hợp.

Chúng ta có thể kết nối các đèn LED với nhau với các đầu ra cho trình điều khiển động cơ, nhưng đèn LED sẽ không nhấp nháy theo cách dễ nhìn như trước khi các giá trị PWM đã được tăng lên. Vì vậy, tôi đề nghị giữ chúng kết nối với các chân kỹ thuật số từ 40 đến 52.

Bước 7: Danh bạ

Rất vui khi nghe phản hồi từ bạn. Xin đừng ngần ngại tham gia các kênh của tôi trên:

YouTube:

Instagram: @ simpledigital010

Twitter: @ simple01Digital

Đề xuất: