Mục lục:

Cấu trúc đèn LED điều khiển MIDI: 7 bước
Cấu trúc đèn LED điều khiển MIDI: 7 bước

Video: Cấu trúc đèn LED điều khiển MIDI: 7 bước

Video: Cấu trúc đèn LED điều khiển MIDI: 7 bước
Video: MidiArtnet! Turn any MIDI console into a light console! 2024, Tháng bảy
Anonim
Image
Image

Là một người yêu âm nhạc thực sự và là một sinh viên khoa học máy tính và điện tử, tôi luôn muốn tạo ra các thiết bị MIDI để tôi có thể sử dụng cho việc tạo ra âm nhạc điện tử.

Sau khi tham gia rất nhiều chương trình và lễ hội âm nhạc, tôi bắt đầu thực sự hứng thú với các chương trình ánh sáng trong các buổi biểu diễn.

Sau rất nhiều nghiên cứu, tôi hầu như chỉ tìm thấy các thiết bị sử dụng micrô và không thể cho phép điều khiển đèn LED chính xác như bạn muốn.

Bằng cách ngày càng quen thuộc với các tín hiệu DAW và MIDI, tôi quyết định bắt đầu với dự án này!

Nó bao gồm một cấu trúc 3D với các đèn LED không hợp nhất, được điều khiển thực sự bằng các tín hiệu MIDI (NoteOn, NoteOff và CC Messages).

Vì vậy, nhạc sĩ có thể kiểm soát màu sắc và cường độ của mỗi đèn LED, chỉ bằng cách sử dụng tín hiệu MIDI, được tạo ra bởi bất kỳ DAW nào.

Với ý tưởng này, tôi muốn nâng cao tính sáng tạo thông qua các màn trình diễn ánh sáng và cho phép mọi người tự xây dựng, để biến mọi màn trình diễn hình ảnh trở nên độc đáo.

Bước 1: Vật liệu

Về cơ bản, dự án này bao gồm hai phần: mạch tiếp nhận MIDI và cấu trúc đèn LED; và một bộ vi điều khiển để liên kết các bộ phận đó và "dịch" các tín hiệu MIDI đến từ DAW đến các dải LED. Dưới đây là danh sách các vật liệu cần thiết cho từng phần.

Mạch tiếp nhận MIDI:

  • 1 x 6N138 Optocoupler
  • 1 x 1N914 Diode
  • 1 x Giắc cắm Din 5 chân (Giắc cắm MIDI)
  • Điện trở 2 x 220 Ohm
  • 1 x Điện trở 4,7K Ohm
  • 1 giắc cắm USB / MIDI

Cấu trúc đèn LED:

Tôi đã sử dụng dải đèn LED RGB dựa trên đèn LED WS2812B có thể được điều khiển chỉ bằng 1 cổng kỹ thuật số. Nếu bạn định sử dụng số lượng đèn LED cao, bạn có thể phải quan tâm đến dòng điện tối đa cần thiết (1 đèn LED có thể tiêu thụ tối đa 60mA). Nếu bộ vi điều khiển không thể xử lý giá trị tối đa này, bạn sẽ cần một nguồn điện 5V khác có thể cung cấp đủ dòng điện. Tôi đã sử dụng Bộ chuyển đổi AC / DC 5V - 8A với bộ chuyển đổi đầu ra chuyên dụng và một công tắc.

Lưu ý: Có vẻ như bạn có thể sử dụng bộ cấp nguồn máy tính, vì chúng được biết là có thể cung cấp dòng điện thực sự cao, nhưng bạn sẽ phải đảm bảo rằng nó cung cấp điện áp 5V DC ổn định, có thể bằng cách sử dụng Điện trở nguồn 36 Ohm 5 Watt giữa mặt đất (màu đen) và nguồn 5V (màu đỏ) để tạo đủ dòng điện đi qua điện trở và do đó cung cấp nguồn 5V ổn định.

Cuối cùng, tôi đã sử dụng Arduino Uno đơn giản với tấm chắn vít để tạo liên kết giữa tín hiệu MIDI và dải LED.

Bước 2: Xây dựng mạch đầu vào MIDI

Xây dựng mạch đầu vào MIDI
Xây dựng mạch đầu vào MIDI
Xây dựng mạch đầu vào MIDI
Xây dựng mạch đầu vào MIDI

Nếu bạn quan tâm đến giao thức MIDI chính xác là gì và nó hoạt động như thế nào, tôi thực sự khuyên bạn nên kiểm tra kênh YouTube Notes và Volts, nơi có rất nhiều hướng dẫn thú vị và sáng tạo và các dự án MIDI Arduino.

Trong phần này, tôi sẽ chỉ tập trung vào MIDI Input Circuit. Có thể là một ý tưởng hay nếu bạn xây dựng một mẫu thử nghiệm trên một bảng mạch protoboard và kiểm tra xem các tín hiệu MIDI đến từ DAW có được bộ vi điều khiển nhận tốt hay không trước khi hàn các thành phần.

Hai video sau đây mô tả cách xây dựng và kiểm tra mạch:

  • Xây dựng mạch
  • Kiểm tra mạch

Cuối cùng, bạn cũng nên xem video này để hiểu thông báo CC và cách bộ vi điều khiển của bạn có thể hiểu các clip tự động hóa để điều khiển độ sáng đèn LED chẳng hạn.

Bước 3: Định cấu hình FL Studio (optionnal)

Cấu hình FL Studio (optionnal)
Cấu hình FL Studio (optionnal)
Cấu hình FL Studio (optionnal)
Cấu hình FL Studio (optionnal)
Cấu hình FL Studio (optionnal)
Cấu hình FL Studio (optionnal)

Khi tôi cảm thấy thoải mái khi sử dụng FL Studio, tôi sẽ giải thích cách định cấu hình thích hợp giao diện MIDI của nó, nhưng tôi khá chắc chắn rằng quy trình này sẽ không khác biệt nhiều nếu bạn đang sử dụng một Máy trạm âm thanh kỹ thuật số khác.

Đầu tiên, bạn chỉ cần cắm giắc cắm USB / MIDI vào máy tính của mình. Thông thường, các thiết bị như vậy đi kèm với một chương trình cơ sở nhúng và được công nhận là thiết bị MIDI ngay cả khi chúng không được kết hợp. Sau đó, mở cửa sổ "Cài đặt" (bằng cách nhấn F10). Nếu mọi thứ hoạt động bình thường, bạn sẽ nhận thấy một số thiết bị MIDI đầu ra trong phần đầu ra. Chọn thiết bị của bạn và đảm bảo rằng thiết bị đang BẬT.

Sau đó, bạn sẽ phải xác định số cổng của mình và ghi nhớ nó (ví dụ: 0). Chỉ cần đóng cửa sổ này (các thông số được lưu tự động) và sau đó thêm một kênh mới: MIDI Out.

Sau đó, điều cuối cùng bạn sẽ phải làm là xác định cổng của kênh mới này: đảm bảo chọn cùng số cổng mà bạn đã xác định trong phần "Cài đặt": bằng cách làm này, các thông báo MIDI đến từ kênh của bạn bây giờ được liên kết với đầu ra MIDI.

Bây giờ, khi một ghi chú được phát bởi kênh MIDI Out, một thông báo "NoteOn" sẽ được gửi qua giao diện MIDI. Theo cách tương tự, thông báo "NoteOff" sẽ được gửi khi ghi chú được phát hành.

Một tính năng thú vị khác, đi kèm với kênh MIDI Out là khả năng điều khiển các thông số khác nhau bằng chiết áp. Bằng cách nhấp chuột phải vào một trong số họ và chọn "Định cấu hình…", bạn có thể khiến họ gửi CCMessages (giá trị từ 0 đến 127) sẽ được sử dụng để điều khiển độ sáng của đèn LED: chọn CC và sau đó Chấp nhận.

Thông thường FL Studio hiện đã sẵn sàng để gửi dữ liệu đến Giao diện MIDI của bạn! Tiếp theo là viết mã để flash trong Arduino và điều chỉnh nó với cấu trúc đèn LED của bạn.

Bước 4: Kết nối các đèn LED

Kết nối đèn LED
Kết nối đèn LED

Kết nối các dải LED khá đơn giản, vì chúng chỉ yêu cầu + 5V, GND và Dữ liệu. Tuy nhiên, khi tôi dự định kết nối hơn 20 chân trong số chúng, tôi quyết định sử dụng một số chân Arduino PWM và khai báo một số phiên bản của Adafruit_NeoPixel (trong hệ số) để tránh bất kỳ loại chậm trễ ngoài ý muốn nào.

Hình ảnh đính kèm cũng có ý định giải thích cách hoạt động của thiết bị điện tử:

  • Các dải đèn LED được cấp điện trực tiếp từ nguồn điện.
  • Một công tắc nguồn được sử dụng để cấp nguồn cho Arduino
  • mạch đầu vào MIDI được cấp nguồn bởi Arduino khi bật công tắc

Bước 5: Vô hiệu hóa cấu trúc 3D

Vô hiệu hóa cấu trúc 3D
Vô hiệu hóa cấu trúc 3D
Vô hiệu hóa cấu trúc 3D
Vô hiệu hóa cấu trúc 3D
Vô hiệu hóa cấu trúc 3D
Vô hiệu hóa cấu trúc 3D
Vô hiệu hóa cấu trúc 3D
Vô hiệu hóa cấu trúc 3D

Cho đến nay, phần này là phần dài nhất vì tôi hoàn toàn mới với in 3D (và mô hình hóa). Tôi muốn thiết kế một cấu trúc trông giống như một nửa khối icosahedron bị cắt ngắn bị nổ tung (vâng, tôi đã mất một khoảng thời gian để tìm ra tên chính xác của hình dạng).

Tất nhiên bạn có thể tự do thiết kế mô hình của riêng bạn với hình dạng bạn muốn! Tôi sẽ không trình bày chi tiết quá trình mô hình hóa nhưng bạn sẽ tìm thấy các tệp STL nếu bạn muốn thiết kế cấu trúc này.

Việc lắp ráp các bộ phận khác nhau mất một khoảng thời gian, vì tôi phải đặt một đèn LED vào mỗi mặt và kết nối tất cả chúng bằng cách hàn một số lượng lớn dây bên trong lõi hiện khá lộn xộn!

Lưu ý: nếu bạn muốn thiết kế một cấu trúc như vậy, bạn sẽ cần 10 miếng hình lục giác (khoảng 3 giờ mỗi miếng sử dụng máy in mini PP3DP UP) và 6 miếng hình ngũ giác (2 giờ).

Khi có một đèn LED trong mỗi phần, bạn sẽ phải kết nối mọi đầu cuối 5V và GND với nhau và đấu dây một số thiết bị đầu cuối đầu vào và đầu ra của mỗi đèn LED theo cách bạn kết nối chúng.

Cuối cùng, tôi sử dụng acrylic khuếch tán LED để phủ lên từng khuôn mặt và làm cho chúng sáng nhất quán.

Tất cả những gì còn lại sau đó là mã, tiết lộ là không quá phức tạp!

Bước 6: Mã

Mật mã
Mật mã

Như tôi đã đề cập ở phần trước, đoạn mã này khá đơn giản!

Trên thực tế, nó chỉ bao gồm một phiên bản MIDI và một số phiên bản Adafruit_NeoPixel (nhiều khi có các dải khác nhau).

Về cơ bản, một khi nó được khai báo, lớp MIDI hoạt động với loại "ngắt": NoteOn, NoteOff và CCMessage. Khi cicruit đầu vào MIDI truyền một trong những tín hiệu cụ thể đó đến Arduino, chương trình con liên kết được gọi. Sau đó, tất cả những gì mã đang làm là bật một đèn LED cụ thể trên tín hiệu NoteOn, tắt nó trên tín hiệu NoteOff liên kết và cập nhật độ sáng của dải trên CCMessage.

Ngoài ra, tôi đã xác định một chức năng đơn giản cho phép chọn màu của đèn LED bằng cách đọc vận tốc đi kèm với tín hiệu NoteOn và mọi đèn LED sau đó có thể có màu đỏ, tím, xanh lam, xanh ngọc, xanh lục, vàng, cam hoặc trắng, tùy thuộc vào giá trị vận tốc đi từ 0 đến 127.

Một điều quan trọng cần lưu ý là bạn sẽ phải ngắt kết nối chân RX (đến từ mạch đầu vào MIDI) khi tải lên bản phác thảo của bạn vì cổng nối tiếp (được sử dụng trong quá trình này) được kết nối với chân đó!

Bước 7: Làm gì bây giờ?

Tôi hiện đang làm việc trên một vỏ bọc tùy chỉnh để nhúng tất cả các thiết bị điện tử và tôi cũng đang nghĩ đến một cái tên cho cấu trúc! Vui lòng cho tôi biết nếu bạn thích projet này và tôi đang làm việc trên các chương trình khác nhau vì tôi dự định cập nhật hướng dẫn này với nhiều video hơn!

Đề xuất: