![MIDI2LED - Hiệu ứng ánh sáng dải LED được điều khiển bằng MIDI: 6 bước MIDI2LED - Hiệu ứng ánh sáng dải LED được điều khiển bằng MIDI: 6 bước](https://i.howwhatproduce.com/images/006/image-16070-j.webp)
Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:15
![MIDI2LED - Hiệu ứng ánh sáng dải LED được điều khiển bằng MIDI MIDI2LED - Hiệu ứng ánh sáng dải LED được điều khiển bằng MIDI](https://i.howwhatproduce.com/images/006/image-16070-1-j.webp)
Đây là hướng dẫn đầu tiên của tôi, vì vậy hãy chịu đựng với tôi.
Tôi thích sáng tác nhạc và trong những tình huống trực tiếp như buổi hòa nhạc trong phòng khách, tôi thích nó khi có hiệu ứng ánh sáng đồng bộ với những gì tôi chơi. Vì vậy, tôi đã xây dựng một hộp dựa trên Arduino làm cho dải đèn LED sáng lên với màu ngẫu nhiên khi tôi nhấn một nốt trên bàn phím MIDI và nơi tôi nhấn nốt.
Quân nhu
- Arduino Uno
- Arduino protoshield
- Giắc cắm MIDI
- 1N4148 diode
- Bộ ghép nối quang 6N138
- điện trở: 2x 220 Ohm, 1x 10kOhm, 1x 470Ohm
- Dải đèn LED WS2812B (60 đèn LED)
- một số dây điện còn sót lại
- ống co nhiệt
- vỏ phù hợp cho Arduino (tôi sử dụng hộp nối bằng nhựa)
Bạn cũng sẽ cần
- mỏ hàn và thuốc hàn
- Bàn phím MIDI và cáp MIDI
Bước 1: Điện tử
![Điện tử Điện tử](https://i.howwhatproduce.com/images/006/image-16070-2-j.webp)
Mạch khá đơn giản. Nó bao gồm một đầu vào MIDI tiêu chuẩn (bên trái của Arduino) và kết nối với dải LED (bên phải của Arduino). Đặt tất cả các bộ phận trên protoshield, có rất nhiều không gian. Thông thường, bạn nên sử dụng nguồn điện bên ngoài để cấp nguồn cho dải LED, nhưng tôi thấy rằng khi bạn chơi, chỉ có một số đèn LED được bật cùng một lúc, vì vậy có không có vấn đề gì khi sử dụng Arduino + 5V / GND làm đầu ra nguồn. (Cố gắng tránh đánh tất cả các phím cùng một lúc và với vận tốc tối đa.;-)) Nếu bạn quyết định sử dụng nguồn điện bên ngoài, chỉ cần kết nối nó với các chân Arduino + 5V và GND. Một số người khuyên bạn nên chèn một tụ điện 100uF (không được hiển thị trong sơ đồ) giữa hai đường này.
Hàn các bộ phận với protoshield và kết nối dải LED như trong sơ đồ.
Bước 2: Kết nối dải LED
![Kết nối dải LED Kết nối dải LED](https://i.howwhatproduce.com/images/006/image-16070-3-j.webp)
Điều quan trọng là phải kết nối đầu bên phải - đầu vào - của dải LED với mạch. Dải của tôi có một đầu nối cái làm đầu vào và có các hình tam giác nhỏ hướng ra xa đầu vào. Ở đầu ra, có một đầu nối đực (để có thể kết nối nó với một dải khác mà chúng tôi không cần), vì vậy tôi đã cắt nó ra và hàn nó vào ba dây cáp đến từ Arduino. Sử dụng ống co nhiệt để buộc ba dây cáp vào dải đèn LED với nhau và làm cho chúng ít nhìn thấy hơn.
Dải đèn LED mà tôi đã sử dụng đi kèm với băng dính ở mặt sau của nó, vì vậy nó có thể dễ dàng được dán vào mặt sau của bàn phím MIDI.
Bước 3: Điều chỉnh dự án cho phù hợp với bàn phím của bạn
![Điều chỉnh dự án cho phù hợp với bàn phím của bạn Điều chỉnh dự án cho phù hợp với bàn phím của bạn](https://i.howwhatproduce.com/images/006/image-16070-4-j.webp)
![Điều chỉnh dự án cho phù hợp với bàn phím của bạn Điều chỉnh dự án cho phù hợp với bàn phím của bạn](https://i.howwhatproduce.com/images/006/image-16070-5-j.webp)
Bạn có thể phải điều chỉnh dải đèn LED và mã Arduino với bàn phím của mình. Của tôi có 76 phím và chiều dài của dải gần như chính xác chiều rộng của bàn phím. Nếu bạn có v.d. 61 phím, bạn có thể cần một dải ngắn hơn. Có thể cắt dải LED giữa hai đèn LED bất kỳ. Chỉ cần đảm bảo rằng bạn đang cắt đúng phần, nó có đầu vào (với đầu nối cái) và đầu ra (với đầu nối nam), bạn cần giữ đầu vào. Trong mã, hãy thay đổi #defines vì
- NUMBER_OF_LEDS số đèn LED còn lại trong dải của bạn sau khi cắt bỏ phần cuối,
- NUMBER_OF_KEYS số phím trên bàn phím của bạn và
- MIN_KEY đến số cao độ MIDI của khóa thấp nhất của bạn. Bạn có thể tìm thấy điều này trong hướng dẫn sử dụng của bàn phím; hoặc sử dụng một công cụ hiển thị số ghi chú MIDI, như KMidiMon cho Linux hoặc Pocket MIDI cho windows hoặc Mac; hoặc thử các giá trị khác nhau cho đến khi thiết bị phản hồi với tất cả các phím trên bàn phím của bạn
Bước 4: Mã Arduino
Mã Arduino sử dụng thư viện MIDI (v4.3.1) của Forty Seven Effects và thư viện Adafruit NeoPixel (v1.3.4) của Adafruit. Cài đặt các thư viện này bằng Arduino IDE. Sau đó, biên dịch mã và tải nó lên Arduino mà không cần kết nối tấm chắn (bộ ghép quang được kết nối với chân RX, điều này cản trở quá trình tải lên). Cấp nguồn cho Arduino qua cáp USB (Tôi sử dụng ổ cắm trên tường USB).
Nếu bạn muốn sửa đổi mã theo ý thích của mình, đây là tổng quan ngắn gọn về cách nó hoạt động: Trong mọi vòng lặp, đầu vào MIDI được đọc ra. Nếu nhận được sự kiện Ghi chú Bật hoặc Tắt ghi chú, các hàm MyHandleNoteOn hoặc MyHandleNoteOff sẽ được gọi. Cả hai đều gọi hàm updateVelocityArray, hàm này lưu trữ vận tốc (tức là bạn đã nhấn phím khó như thế nào) của số khóa. Nếu vận tốc cao hơn những gì đã được lưu trước đó, màu của đèn LED tương ứng được đặt thành "màu hiện tại". Sau khi các sự kiện MIDI đã được xử lý, hàm updateLedArray được gọi. Điều này cập nhật "màu hiện tại" (các giá trị màu đỏ, xanh lục và xanh lam thay đổi độc lập theo đường tuyến tính, cho đến khi đạt đến đầu dưới hoặc đầu trên, tại thời điểm đó tốc độ thay đổi tuyến tính được đặt thành một số ngẫu nhiên), từ từ giảm tốc độ của các nốt được nhấn và cập nhật các giá trị màu của mỗi đèn LED phải thay đổi màu của nó (do lần nhấn nốt mới hoặc giảm vận tốc). Hàm showLedArray chuyển màu đến cấu trúc Adafruit_NeoPixel được gọi là "pixel" và làm cho các đèn LED thực tế hiển thị màu trong cấu trúc pixel.
Bước 5: Các cải tiến có thể có…
Một dự án không bao giờ kết thúc. Luôn luôn có điều gì đó có thể được thực hiện để cải thiện nó:
- Protoshield chứa quá ít phần thực sự là một sự lãng phí; người ta có thể dễ dàng đạt được hiệu ứng tương tự với Arduino Nano và PCB 15x7 lỗ cộng với một số đầu cắm chân cái.
- Một số tín hiệu MIDI bị mất. Nếu đó là NoteOn, đèn LED tương ứng sẽ không sáng; nếu đó là NoteOff, nó sẽ không tắt (đó là lý do tại sao tôi đã giới thiệu việc giảm vận tốc, điều này đảm bảo rằng đèn LED sẽ không hoạt động vô thời hạn). Tôi vẫn đang cố gắng tìm ra lý do. Có thể đó là một vấn đề về thời gian và MIDI.read () nên được gọi thường xuyên hơn.
- Một số tín hiệu MIDI bị đọc sai, tức là các đèn LED sai sáng lên. Có thể được kết nối với điểm trên. Cần một số điều tra.
- Mạch được thiết kế để mang lại hiệu ứng hình ảnh dễ chịu mà không cần người dùng tương tác nhiều (ngoài việc chơi bàn phím). Tuy nhiên, tôi có thể tưởng tượng thêm một chiết áp được đọc ra (sử dụng một trong các đầu vào tương tự của Arduino) mà bạn có thể thay đổi tốc độ tối đa mà màu sắc thay đổi (hiện tại # xác định là MAX_COLOR_CHANGE_SPEED = 20). Hoặc đo thời gian trung bình giữa hai sự kiện NoteOn và thay đổi MAX_COLOR_CHANGE_SPEED cho phù hợp - trong các bài hát chậm, màu sắc sẽ thay đổi chậm hơn.
Bước 6: Đã xong
![](https://i.ytimg.com/vi/4NerqZ8Fpcw/hqdefault.jpg)
Cấp nguồn cho Arduino qua cáp USB (Tôi sử dụng ổ cắm USB trên tường). Kết nối bàn phím MIDI của bạn với giắc cắm MIDI và bắt đầu rockin '. Xem tôi chơi một chút nhạc nhẹ (chơi chữ, tệ như ý muốn).
Đề xuất:
Bộ điều khiển Bluetooth dải LED RGB V3 + Đồng bộ hóa âm nhạc + Điều khiển ánh sáng xung quanh: 6 bước (có hình ảnh)
![Bộ điều khiển Bluetooth dải LED RGB V3 + Đồng bộ hóa âm nhạc + Điều khiển ánh sáng xung quanh: 6 bước (có hình ảnh) Bộ điều khiển Bluetooth dải LED RGB V3 + Đồng bộ hóa âm nhạc + Điều khiển ánh sáng xung quanh: 6 bước (có hình ảnh)](https://i.howwhatproduce.com/images/005/image-12702-j.webp)
Bộ điều khiển Bluetooth dải LED RGB V3 + Đồng bộ âm nhạc + Điều khiển ánh sáng xung quanh: Dự án này sử dụng arduino để điều khiển dải đèn LED RGB bằng điện thoại của bạn thông qua bluetooth. Bạn có thể thay đổi màu sắc, làm cho đèn đồng bộ với âm nhạc hoặc làm cho chúng tự động điều chỉnh theo ánh sáng xung quanh
Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: 5 bước
![Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: 5 bước Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: 5 bước](https://i.howwhatproduce.com/images/001/image-945-49-j.webp)
Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: Đây là các hướng dẫn để tạo ô tô được điều khiển từ xa của riêng bạn, được điều khiển bằng bộ điều khiển Xbox 360 không dây
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
![ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước](https://i.howwhatproduce.com/images/001/image-2218-28-j.webp)
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Dải ánh sáng LED mờ dần được điều khiển bằng Arduino: 6 bước (có hình ảnh)
![Dải ánh sáng LED mờ dần được điều khiển bằng Arduino: 6 bước (có hình ảnh) Dải ánh sáng LED mờ dần được điều khiển bằng Arduino: 6 bước (có hình ảnh)](https://i.howwhatproduce.com/images/005/image-12388-13-j.webp)
Arduino Powered, Dải sáng LED mờ điều khiển bằng cảm biến: Gần đây tôi đã cập nhật nhà bếp của mình và biết rằng ánh sáng sẽ "nâng" diện mạo của tủ. Tôi đã tham gia chương trình ‘True Handless’ vì vậy tôi có một khoảng trống dưới bề mặt làm việc, cũng như một ngăn tủ, dưới tủ và trên nóc tủ có sẵn và
Bộ điều khiển ánh sáng dải LED MIDI 5V cho Spielatron hoặc MIDI Synth khác: 7 bước (có hình ảnh)
![Bộ điều khiển ánh sáng dải LED MIDI 5V cho Spielatron hoặc MIDI Synth khác: 7 bước (có hình ảnh) Bộ điều khiển ánh sáng dải LED MIDI 5V cho Spielatron hoặc MIDI Synth khác: 7 bước (có hình ảnh)](https://i.howwhatproduce.com/images/001/image-430-115-j.webp)
Bộ điều khiển ánh sáng dải LED MIDI 5V cho Spielatron hoặc Bộ điều khiển MIDI khác: Bộ điều khiển này nhấp nháy đèn dải LED ba màu trong 50mS mỗi nốt. Màu xanh cho G5 đến D # 6, màu đỏ cho E6 đến B6 và màu xanh lá cây cho C7 đến G7. Bộ điều khiển là thiết bị ALSA MIDI để phần mềm MIDI có thể xuất ra các đèn LED cùng lúc với thiết bị tổng hợp MIDI