Mục lục:

Đèn tiệc cầm tay: 12 bước (có hình ảnh)
Đèn tiệc cầm tay: 12 bước (có hình ảnh)

Video: Đèn tiệc cầm tay: 12 bước (có hình ảnh)

Video: Đèn tiệc cầm tay: 12 bước (có hình ảnh)
Video: HƯỚNG DẪN TẠO DÁNG CHỤP ẢNH CƯỚI P4 | LUXURY WEDDING #shorts 2024, Tháng mười một
Anonim
Image
Image
Ý tưởng
Ý tưởng

Dự án Tinkercad »

Bạn có thể mang lại ánh sáng cho một bữa tiệc và làm cho nó vui vẻ hơn không?

Đó là câu hỏi. Và câu trả lời là CÓ (tất nhiên).

Tài liệu hướng dẫn này là về việc tạo ra một thiết bị di động nghe nhạc và tạo ra hình ảnh âm nhạc từ các vòng đồng tâm của đèn LED Neopixel.

Một nỗ lực đã được thực hiện để làm cho thiết bị "nhảy", tức là chuyển động theo nhịp của nhạc, nhưng phát hiện nhịp được chứng minh là một nhiệm vụ phức tạp hơn âm thanh của nó (không có ý định chơi chữ), vì vậy "nhảy" hơi khó xử, nhưng vẫn ở đó.

Thiết bị được bật Bluetooth và sẽ phản hồi các lệnh văn bản. Tôi không có thời gian để viết Ứng dụng điều khiển Party Lights (Android hoặc iOS). Nếu bạn đang thực hiện nhiệm vụ - vui lòng cho tôi biết !!!

Nếu bạn thích hướng dẫn này, hãy bình chọn cho nó trong cuộc thi Make It Glow!

Quân nhu

Để xây dựng Party Lights, bạn sẽ cần:

  • STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex-M3 Module cho Arduino (liên kết tại đây) - bộ não của thiết bị. Những thiết bị tương đối rẻ này rất mạnh mẽ, không rõ tại sao bạn lại quay lại với Arduino.
  • IC cân bằng đồ họa băng tần MSGEQ7 DIP-8 MSGEQ7 (liên kết tại đây)
  • Mô-đun Bluetooth HC-05 hoặc HC-06 (liên kết tại đây)
  • Micrô Adafruit MAX9814 (liên kết tại đây)
  • Một động cơ servo tiêu chuẩn (liên kết tại đây) là bạn muốn thiết bị của mình "nhảy"
  • Bảng phát triển trình điều khiển LED RGB CJMCU 61 Bit WS2812 5050 (liên kết tại đây)
  • TTP223 Mô-đun phím cảm ứng có thể cài đặt điện dung Bảng chuyển mạch tự khóa / không khóa (liên kết tại đây)
  • Đầu ra USB kép siêu nhỏ gọn 5000 mah Ngân hàng điện siêu mỏng (liên kết tại đây)

  • Điện trở, tụ điện, dây dẫn, keo dán, ốc vít, bảng tạo mẫu, v.v.

Bước 1: Ý tưởng

Ý tưởng
Ý tưởng

Ý tưởng là có một thiết bị di động có thể được đặt gần nguồn nhạc và điều đó sẽ tạo ra hình ảnh âm nhạc đầy màu sắc. Bạn sẽ có thể kiểm soát hành vi của thiết bị thông qua các nút (chạm) và Bluetooth.

Hiện tại, Party Lights đã triển khai 7 hình ảnh trực quan (hãy cho tôi biết nếu bạn có thêm ý tưởng!):

  1. Vòng tròn đầy màu sắc đồng tâm
  2. Thập cẩm Maltese
  3. Đèn đẩy
  4. Lò sưởi (yêu thích cá nhân của tôi)
  5. Đèn chạy
  6. Cây nhẹ
  7. Đoạn đường đi bộ

Theo mặc định, thiết bị sẽ quay vòng qua các hình ảnh mỗi phút. Tuy nhiên, người dùng có thể chọn gắn bó với một hình ảnh trực quan và / hoặc xoay vòng qua chúng theo cách thủ công.

Hình ảnh trực quan xoay bảng màu của họ cũng có thể bị "đóng băng" nếu người dùng thích một sự kết hợp màu cụ thể.

Và như một vài điều khiển khác, người dùng có thể thay đổi độ nhạy của micrô và bật / tắt chế độ "nhảy" động cơ servo.

Bước 2: Sơ đồ và xử lý âm thanh

Sơ đồ và xử lý âm thanh
Sơ đồ và xử lý âm thanh
Sơ đồ và xử lý âm thanh
Sơ đồ và xử lý âm thanh
Sơ đồ và xử lý âm thanh
Sơ đồ và xử lý âm thanh
Sơ đồ và xử lý âm thanh
Sơ đồ và xử lý âm thanh

Một tệp giản đồ hấp dẫn được bao gồm trong gói trên Github trong thư mục con "tệp".

Về cơ bản, chip MSEQ7 thực hiện xử lý âm thanh, chia tín hiệu âm thanh thành 7 băng tần: 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz và 16kHz

Bộ vi điều khiển sử dụng 7 dải tần đó để tạo ra các hình ảnh khác nhau, về cơ bản ánh xạ biên độ dải tần tương ứng thành cường độ ánh sáng LED và sự kết hợp màu sắc.

Nguồn âm thanh là một micrô với 3 mức điều chỉnh độ lợi. Bạn có thể chuyển qua cài đặt khuếch đại bằng một trong các nút tùy thuộc vào mức độ xa / to của nguồn âm thanh.

Bộ vi điều khiển cũng cố gắng thực hiện phát hiện "nhịp" trên dải "trầm" 63Hz. Tôi vẫn đang nghiên cứu một cách đáng tin cậy để phát hiện và duy trì căn chỉnh nhịp.

Việc sử dụng các nút "cảm ứng" là một thử nghiệm. Tôi nghĩ rằng chúng hoạt động khá tốt, tuy nhiên, việc thiếu phản hồi của báo chí khiến phần nào khó hiểu.

Bước 3: Bánh xe LED

Bánh xe LED
Bánh xe LED
Bánh xe LED
Bánh xe LED
Bánh xe LED
Bánh xe LED

Cốt lõi của hình dung là 61 bánh xe LED.

Xin lưu ý rằng bộ phận này là những chiếc nhẫn riêng lẻ mà bạn sẽ phải ghép lại với nhau. Tôi thường nghĩ rằng dây đồng cho đường dây điện (cũng giữ các vòng với nhau một cách độc đáo) và dây tín hiệu mỏng.

Các đèn LED được đánh số từ 0 đến 60 bắt đầu từ đèn LED bên ngoài dưới cùng và đi theo chiều kim đồng hồ vào trong. Đèn LED trung tâm là số 60.

Mỗi hình ảnh trực quan dựa trên các mảng dữ liệu hai chiều, các mảng này ánh xạ mỗi đèn LED vào một vị trí cụ thể cho phân đoạn trực quan hóa mục tiêu.

Ví dụ, đối với vòng tròn đồng tâm, có 5 phân đoạn:

  • Vòng tròn bên ngoài, đèn LED 0 - 23, dài 24 đèn LED
  • Vòng tròn bên ngoài thứ hai, đèn LED dài 24 - 39, 16 đèn LED
  • Vòng tròn thứ ba (giữa), đèn LED dài 40 - 51, 12 đèn LED
  • Vòng tròn bên trong thứ hai, đèn LED 52 - 59, dài 8 đèn LED
  • LED bên trong, LED 60, 1 LED dài

Bản đồ trực quan hóa 5 trong số 7 kênh âm thanh và đèn LED sáng dần theo vị trí của chúng trong dải tròn tương ứng với mức âm thanh trong dải.

Các hình thức trực quan khác sử dụng các cấu trúc và định dạng dữ liệu khác nhau, nhưng ý tưởng là luôn có các hình ảnh trực quan được điều khiển bởi các mảng dữ liệu, không phải do mã. Bằng cách này, các hình ảnh trực quan có thể được điều chỉnh theo các hình dạng khác nhau (nhiều hơn hoặc ít hơn các đèn LED, nhiều dải EQ hơn) mà không cần thay đổi mã, chỉ cần các giá trị trong mảng dữ liệu.

Ví dụ, đây là cách cấu trúc dữ liệu cho trực quan hóa 1 trông giống như trong bản phác thảo:

// Hình ảnh hóa 1 & 3 - 5 vòng tròn đầy đủ byte TOTAL_LAYERS1 = 5; const byte LAYERS1 [TOTAL_LAYERS1] [25] = {// 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 {24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}, {16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39}, {12, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51}, {8, 52, 53, 54, 55, 56, 57, 58, 59}, {1, 60}};

Bước 4: Hình ảnh hóa

Hình dung
Hình dung
Hình dung
Hình dung
Hình dung
Hình dung
Hình dung
Hình dung

Cho đến nay đã có 7 hình ảnh hóa và hình ảnh động khởi động:

Hoạt ảnh khởi động

Khi thiết bị được bật, mô phỏng pháo hoa sẽ hiển thị. Đây được cho là chuỗi thử nghiệm LED và Servo, nhưng sau đó đã phát triển thành phiên bản hoạt hình của thử nghiệm như vậy

Vòng tròn đầy màu sắc đồng tâm

Các đèn đi xung quanh màn hình theo các vòng tròn đồng tâm tương ứng với biên độ của dải eq tương ứng. Chuyển đổi ngẫu nhiên giữa đồng hồ và đồng hồ đếm ngược và từ từ xoay các màu trên bánh xe 256 màu

Thập cẩm Maltese

Một dải là đèn LED trung tâm. Một dải khác là các đường dọc và ngang của đèn LED, và các đoạn còn lại đại diện cho mỗi dải EQ. Tất cả các phân đoạn được xoay các màu theo độ lệch 128 để duy trì độ tương phản.

Đèn đẩy

Mỗi vòng tròn làm sáng tất cả các đèn LED cùng một lúc cho một dải eq chuyên dụng, đồng thời luân phiên các màu từ từ với độ lệch nhẹ. Các dải EQ được dịch chuyển dần dần từ vòng tròn này sang vòng tiếp theo tạo ra sự tiến triển ra bên ngoài.

Lò sưởi

Các dải là những hình bán nguyệt sáng lên từ dưới lên trên bắt đầu bằng màu đỏ tươi và thêm màu vàng trên đường đi lên mô phỏng ngọn lửa đang cháy trong lò sưởi. Thỉnh thoảng "tia lửa" màu trắng sáng ngẫu nhiên bắn lên. Không có xoay màu

Đèn chạy

Mỗi vòng tròn đồng tâm là một dải EQ riêng biệt. Đèn LED hàng đầu là đèn nằm trên đường thẳng đứng bên dưới đèn LED trung tâm. Khi đèn LED sáng tương ứng với biên độ dải, nó bắt đầu "chạy" quanh vòng tròn tương ứng với cường độ giảm dần. Cả hai cách xoay đồng hồ và ngược chiều kim đồng hồ đều được hỗ trợ, chuyển đổi ngẫu nhiên.

Cây nhẹ

Các phân đoạn được chiếu sáng theo đường thẳng từ đèn LED dưới lên và sau đó nghiêng sang một bên theo hình bán nguyệt đồng tâm mô phỏng hình cây cọ. Xoay màu.

Đoạn đường đi bộ

Đây là phiên bản của Maltese Cross trước đây chỉ sử dụng 2 đoạn chéo. Được cho là giống với biểu tượng của sóng âm thanh.

Bước 5: Điều khiển nút cảm ứng

Điều khiển nút cảm ứng
Điều khiển nút cảm ứng

Có 4 nút cảm ứng:

  1. Xoay vòng qua các hình ảnh hóa và duy trì hình ảnh hiện tại cho đến khi hình ảnh khác được chọn (theo mặc định, hình ảnh hóa chu kỳ 30 giây một lần)
  2. Bảng màu hiện tại "Freeze" / "unreeze" - nếu bạn thích một tổ hợp màu cụ thể, bạn có thể đóng băng nó - vòng xoay màu bị tắt và hình ảnh sẽ tiếp tục chỉ với bảng màu này
  3. Điều chỉnh độ nhạy của micrô
  4. Bật / tắt "chế độ khiêu vũ"

Ở chế độ nhảy, thiết bị sẽ cố gắng phát hiện "nhịp" của bản nhạc đang phát và quay đầu theo nhịp. Thành thật mà nói, cho đến nay việc "nhảy múa" khá vụng về hơn là đẹp mắt.

Bước 6: Đánh bại phát hiện và Servo "nhảy múa"

Đánh bại phát hiện và Servo
Đánh bại phát hiện và Servo

Thiết bị liên tục cố gắng phát hiện "nhịp" của giai điệu hiện tại như khoảng cách giữa các đỉnh liên tiếp của dải tần 63Hz. Sau khi được phát hiện (và chỉ khi chế độ nhảy được BẬT), thiết bị sẽ kích hoạt động cơ servo để quay ngẫu nhiên sang trái hoặc phải theo nhịp điệu.

Mọi ý tưởng sáng sủa về cách làm cho điều này trở nên đáng tin cậy hơn đều được hoan nghênh!

Bản phác thảo 'Music_Test_LED' xuất ra 7 dải EQ theo cách phù hợp để vẽ biểu đồ bằng Arduino IDE.

Bước 7: Hình dạng 3D

Hình dạng 3D
Hình dạng 3D
Hình dạng 3D
Hình dạng 3D
Hình dạng 3D
Hình dạng 3D

Toàn bộ phần lắp ráp Party Lights được thiết kế từ đầu bằng Autodesk TinkerCAD.

Thiết kế ban đầu nằm ở đây. Thư mục "files / 3D" trên github.com chứa các mô hình STL.

Thiết kế này minh họa cách lắp ráp thiết bị.

Tất cả các thành phần được in và sau đó lắp ráp / dán lại với nhau.

"Mái vòm" chứa bộ vi điều khiển, bo mạch Bluetooth và micrô. Bộ vi điều khiển được đặt trên bảng 40mm x 60 mm và được hỗ trợ bởi các đường ray được chỉ định.

Servo nằm ở "chân" của mái vòm, trong khi các nút nằm ở chân đế.

Ngăn chứa pin được in riêng cho loại pin được đề cập trong phần Nguồn cung cấp. Nếu bạn chọn sử dụng một loại pin khác, ngăn sẽ phải được thiết kế lại cho phù hợp.

Bước 8: Cung cấp điện

Nguồn cấp
Nguồn cấp
Nguồn cấp
Nguồn cấp

Một đầu ra USB kép 5000 mah siêu nhỏ gọn Siêu mỏng Power Bank dường như cung cấp đủ năng lượng cho nhiều giờ hoạt động.

Ngăn chứa pin được thiết kế theo cách mà nó tách ra khỏi phần còn lại của thiết bị và có thể được thay thế bằng ngăn được thiết kế cho một loại pin khác.

Giắc cắm USB đã được định vị và dán nóng vào đúng vị trí để kết nối pin khi nó trượt vào.

Bước 9: Điều khiển Bluetooth

Điều khiển Bluetooth
Điều khiển Bluetooth

Một mô-đun HC-05 được thêm vào để cung cấp cách điều khiển thiết bị không dây.

Khi bật, thiết bị sẽ tạo kết nối Bluetooth có tên "LEDDANCE", bạn có thể ghép nối điện thoại của mình với kết nối này.

Tốt nhất, nên có một Ứng dụng cho phép điều khiển PartyLights (chọn bảng màu, mô phỏng các thao tác nhấn nút, v.v.). Tuy nhiên, tôi vẫn chưa viết một.

Nếu bạn muốn giúp viết Ứng dụng Android hoặc iOS cho Party Lights, vui lòng cho tôi biết!

Để điều khiển thiết bị, bạn hiện có thể sử dụng ứng dụng thiết bị đầu cuối Bluetooth và gửi các lệnh sau:

  • LEDDBUTT - trong đó '1', '2', '3' hoặc '4' mô phỏng việc nhấn một nút tương ứng. Ví dụ: LEDDBUTT1
  • LEDDCOLRc - trong đó c là một số từ 0 đến 255 - vị trí của màu mong muốn trên bánh xe màu. Thiết bị sẽ chuyển sang màu LED được chỉ định.
  • LEDDSTAT - trả về một số 3 ký tự chỉ bao gồm '0 và' 1:

    • vị trí đầu tiên: '0' - màu không xoay, '1' - màu đang xoay
    • vị trí thứ hai: '0' - chế độ khiêu vũ đang tắt, '1' - chế độ khiêu vũ đang bật
    • vị trí thứ ba: '0' - micrô ở mức tăng bình thường, '1' - micrô ở mức tăng cao

Bước 10: Điều khiển ứng dụng dựa trên Blynk

Điều khiển ứng dụng dựa trên Blynk
Điều khiển ứng dụng dựa trên Blynk
Điều khiển ứng dụng dựa trên Blynk
Điều khiển ứng dụng dựa trên Blynk
Điều khiển ứng dụng dựa trên Blynk
Điều khiển ứng dụng dựa trên Blynk
Điều khiển ứng dụng dựa trên Blynk
Điều khiển ứng dụng dựa trên Blynk

Blynk (blynk.io) là một nền tảng IoT bất khả tri về phần cứng. Tôi đã sử dụng Blynk trong Hệ thống tưới cây tự động IoT của mình có hướng dẫn và rất ấn tượng với sự dễ dàng và mạnh mẽ của nền tảng này.

Blynk hỗ trợ kết nối với các thiết bị cạnh qua Bluetooth - chính xác là những gì chúng ta cần cho PartyLights.

Nếu bạn chưa có, vui lòng tải xuống Ứng dụng Blynk, đăng ký và tạo lại Ứng dụng Blynk PartyLights bằng cách sử dụng ảnh chụp màn hình được đính kèm ở bước này. Vui lòng đảm bảo việc gán mã pin ảo giống như trên ảnh chụp màn hình, nếu không, các nút trên ứng dụng sẽ không hoạt động như dự kiến.

Tệp "blynk_settings.h" chứa UID Blynk cá nhân của tôi. Khi bạn tạo dự án của mình, nó sẽ được chỉ định một dự án mới để bạn sử dụng.

Tải lên bản phác thảo PartyLightsBlynk.ino, kích hoạt Ứng dụng. Ghép nối với thiết bị Bluetooth và tận hưởng bữa tiệc.

Bước 11: Bản phác thảo và thư viện

Bản phác thảo và Thư viện
Bản phác thảo và Thư viện

Bản phác thảo chính và các tệp hỗ trợ được đặt trên Github.com tại đây.

Các thư viện sau đây đã được sử dụng trong bản phác thảo Party Lights:

  • TaskScheduler - đa nhiệm hợp tác - tại đây (do tôi phát triển)
  • AverageFilter - bộ lọc trung bình theo mẫu - tại đây (do tôi phát triển)
  • Servo - Điều khiển Servo - là một thư viện Arduino tiêu chuẩn
  • WS2812B -NEOPixel điều khiển - đi kèm như một phần của gói STM32

Trang Wiki này giải thích cách sử dụng bảng STM32 với Arduino IDE.

Bước 12: Cải tiến trong tương lai

Cải tiến trong tương lai
Cải tiến trong tương lai

Một số điều có thể được cải thiện trong thiết kế này, bạn có thể cân nhắc nếu bắt tay vào dự án này:

  • Sử dụng ESP32 thay vì Maple Mini board. ESP32 có 2 CPU, ngăn xếp Bluetooth và WiFi, và có thể chạy ở 60MHz, 120MHz và thậm chí 240MHz.
  • Thiết kế nhỏ hơn - thiết bị kết quả là lớn. Có thể nhỏ gọn hơn (đặc biệt nếu bạn bỏ ý tưởng khiêu vũ và servo liên quan)
  • Phát hiện nhịp đập có thể được cải thiện vô hạn. Những gì tự nhiên đến với con người chúng ta, dường như là một nhiệm vụ khó khăn đối với máy tính
  • Nhiều hình ảnh hơn có thể được nghĩ ra và thực hiện.
  • Và tất nhiên, một Ứng dụng có thể được viết để điều khiển thiết bị không dây với giao diện người dùng tuyệt vời.

Đề xuất: