Mục lục:

Hệ thống Ambilight cho mọi đầu vào được kết nối với TV của bạn. WS2812B Arduino UNO Raspberry Pi HDMI (Cập nhật tháng 12.2019): 12 bước (có hình ảnh)
Hệ thống Ambilight cho mọi đầu vào được kết nối với TV của bạn. WS2812B Arduino UNO Raspberry Pi HDMI (Cập nhật tháng 12.2019): 12 bước (có hình ảnh)

Video: Hệ thống Ambilight cho mọi đầu vào được kết nối với TV của bạn. WS2812B Arduino UNO Raspberry Pi HDMI (Cập nhật tháng 12.2019): 12 bước (có hình ảnh)

Video: Hệ thống Ambilight cho mọi đầu vào được kết nối với TV của bạn. WS2812B Arduino UNO Raspberry Pi HDMI (Cập nhật tháng 12.2019): 12 bước (có hình ảnh)
Video: Full Hyperion Ambilight Tutorial (TV Backlight) - LEDs Match Colors On The Screen 2024, Tháng bảy
Anonim
Image
Image
Hệ thống Ambilight cho mọi đầu vào được kết nối với TV của bạn. WS2812B Arduino UNO Raspberry Pi HDMI (Cập nhật tháng 12.2019)
Hệ thống Ambilight cho mọi đầu vào được kết nối với TV của bạn. WS2812B Arduino UNO Raspberry Pi HDMI (Cập nhật tháng 12.2019)
Hệ thống Ambilight cho mọi đầu vào được kết nối với TV của bạn. WS2812B Arduino UNO Raspberry Pi HDMI (Cập nhật tháng 12.2019)
Hệ thống Ambilight cho mọi đầu vào được kết nối với TV của bạn. WS2812B Arduino UNO Raspberry Pi HDMI (Cập nhật tháng 12.2019)
Hệ thống Ambilight cho mọi đầu vào được kết nối với TV của bạn. WS2812B Arduino UNO Raspberry Pi HDMI (Cập nhật tháng 12.2019)
Hệ thống Ambilight cho mọi đầu vào được kết nối với TV của bạn. WS2812B Arduino UNO Raspberry Pi HDMI (Cập nhật tháng 12.2019)

Tôi luôn muốn thêm ambilight vào TV của mình. Nó trông rất tuyệt! Cuối cùng tôi đã làm được và tôi đã không thất vọng!

Tôi đã xem nhiều video và nhiều hướng dẫn về cách tạo hệ thống Ambilight cho TV của bạn nhưng tôi chưa bao giờ tìm thấy hướng dẫn đầy đủ cho nhu cầu chính xác của mình.

Đó là liệu hệ thống chỉ được tạo cho 1 nguồn duy nhất (PS4 hoặc Xbox hoặc TV, v.v.) hay nó không sử dụng cùng một đèn LED như tôi muốn sử dụng, vì vậy tôi quyết định tạo một hướng dẫn và tổng hợp tất cả thông tin và kinh nghiệm tôi thu thập được tại một điểm khi thực hiện dự án này.

Hệ thống tôi đã thực hiện có thể được kết nối với tối đa 5 nguồn khác nhau. Tôi đã thiết lập nó ở đây để chạy với hệ thống PS4 hoặc rạp hát tại nhà / đầu phát blu-ray hoặc Foxtel (hộp truyền hình cáp của Úc) hoặc máy tính của tôi và còn lại một đầu vào dự phòng cho thứ khác. Tất cả những điều này chỉ đơn giản với một nút bấm.

Tôi đã thêm một màn hình LCD để hiển thị nguồn hiện tại đang được kết nối với đèn pha và một nút BẬT / TẮT cho hệ thống.

Nếu bạn đang muốn có sẵn ambilight cho mọi đầu vào khác nhau được kết nối với TV của mình, muốn sử dụng dải đèn led loại WS2812, thì không cần tìm đâu xa, hướng dẫn này là dành cho bạn

Tôi đã nhập hướng dẫn này vào cuộc thi Raspberry PI 2016 nên nếu bạn thích nó, hãy nhanh chóng bỏ phiếu cho tôi! Nhiều đánh giá cao trước.

Bước 1: Vật liệu cần thiết để xây dựng hệ thống này

Vật liệu cần thiết để xây dựng hệ thống này
Vật liệu cần thiết để xây dựng hệ thống này
Vật liệu cần thiết để xây dựng hệ thống này
Vật liệu cần thiết để xây dựng hệ thống này
Vật liệu cần thiết để xây dựng hệ thống này
Vật liệu cần thiết để xây dựng hệ thống này
Vật liệu cần thiết để xây dựng hệ thống này
Vật liệu cần thiết để xây dựng hệ thống này

Không phải tất cả các nguồn đều có đầu ra HDMI, giống như máy tính của tôi vẫn được kết nối qua đầu nối VGA cũ và thiết bị Foxtel của tôi vẫn được kết nối qua cáp AV. Tôi đã phải mua khá nhiều bộ điều hợp khác nhau để làm cho tất cả hoạt động, nhưng cuối cùng thì kết quả thật tuyệt vời và rất đáng giá !!

Không phải tất cả mọi thứ ở đây đều cần thiết tùy thuộc vào hệ thống của riêng bạn và nếu bạn muốn có màn hình LCD hay không. Tôi sẽ tách các mục tùy chọn.

  1. Dải 1x 4 mét của WS2812B 30leds / m. (cái này là đủ cho cái TV 55 inch của tôi) Tôi đã mua của tôi từ Aliexpress. Dải đèn LED
  2. 1xArduino UNO hội đồng quản trị.
  3. 1x Raspberry Pi kiểu 2 hoặc 3.
  4. 1x thẻ SD. (8Gb là tốt)
  5. 1x Trình lấy video loại STK1160. (Hãy cẩn thận khi chọn gắp, một số kiểu sẽ không hoạt động !!) Đây là cái tôi đã nhận và nó hoạt động chính xác. Trình lấy video
  6. Nguồn điện 1x 5V 10amps. Tôi đã nhận được của tôi từ Aliexpress một lần nữa và nó hoạt động tốt. Nguồn cấp
  7. Bộ chia 1x HDMI Bộ chia 1 x 2.
  8. 1x Bộ chuyển đổi HDMI 5 trong 1. Bộ chuyển đổi
  9. 1x Bộ chuyển đổi HDMI sang AV. người chuyển đổi
  10. 1x tụ điện 10uF

cáp và phần cứng:

  1. Cáp HDMI 4x 25cm. cáp
  2. 2x đầu nối bao vây HDMI nữ sang nữ. tư nối
  3. 1 đầu nối đầu vào 220V (hợp nhất).
  4. Hộp dự án 1x (có thể khác nhau, tùy thuộc vào bạn, của tôi là hộp 424mm x 203mm x 86mm)
  5. Dây lõi đơn để kết nối 5V với các bộ chuyển đổi khác nhau, v.v.
  6. Các phần mở rộng của dây cáp ruy-băng đến đầu vào dây dẫn đến ví dụ Arduino

tính năng bổ sung tùy chọn:

  1. Bộ chuyển đổi 1x AV sang HDMI. người chuyển đổi
  2. Bộ chuyển đổi 1x VGA sang HDMI. người chuyển đổi
  3. 2 x 25 cm cáp HDMI. cáp
  4. Màn hình LCD 1x 16 ký tự x 2 dòng. LCD
  5. 1x giao diện I2C cho màn hình LCD. giao diện
  6. 1x quạt làm mát cho vỏ máy.

Bước 2: Những chương trình máy tính nào sẽ được yêu cầu

Những chương trình máy tính nào sẽ được yêu cầu
Những chương trình máy tính nào sẽ được yêu cầu
Những chương trình máy tính nào sẽ được yêu cầu
Những chương trình máy tính nào sẽ được yêu cầu
Những chương trình máy tính nào sẽ được yêu cầu
Những chương trình máy tính nào sẽ được yêu cầu

Sẽ có một vài chương trình khác nhau được yêu cầu cho dự án này.

Bạn cần tải xuống và cài đặt chúng (nếu bạn chưa có)

  • WinSCP có thể được tải xuống tại đây
  • Putty có thể được tải xuống tại đây (nhấp vào liên kết putty.exe trong danh sách)
  • SDFormatter có thể được tải xuống tại đây
  • Win32DiskImager có thể được tải xuống tại đây
  • Arduino IDE có thể được tải xuống tại đây (tôi đã sử dụng phiên bản 1.8.10 vào thời điểm đó)
  • HyperCon có thể được tải xuống tại đây
  • Notepad ++ (tùy chọn) có thể được tải xuống tại đây

Bạn cũng sẽ cần tải xuống hình ảnh đĩa Raspberry Pi. Chọn tệp có tên "OpenELEC 8.0.3 cho RPI2 / RPI3" mà bạn có thể tải xuống từ cuối trang tại đây

Bước 3: Khởi động và chạy Raspberry Pi

Khởi động và chạy Raspberry Pi
Khởi động và chạy Raspberry Pi
Khởi động và chạy Raspberry Pi
Khởi động và chạy Raspberry Pi
Khởi động và chạy Raspberry Pi
Khởi động và chạy Raspberry Pi

Chúng tôi sẽ bắt đầu bằng cách thiết lập và chạy Raspberry Pi

1) Chúng tôi sẽ ghi openELEC vào thẻ SD.

  1. Giải nén hình ảnh đĩa Raspberry Pi.
  2. Cắm thẻ SD vào máy tính của bạn.
  3. Chạy chương trình SDFormatter.
  4. Chọn ký tự ổ đĩa thẻ SD.
  5. Nhấp vào tùy chọn và chọn "điều chỉnh kích thước" thành BẬT.
  6. Bấm OK.
  7. Nhấp vào Định dạng.
  8. Chạy chương trình Win32DiskImager.
  9. Chọn hình ảnh Raspberry Pi và ký tự ổ đĩa của thẻ SD của bạn.
  10. Chọn Viết.

2) Rút thẻ SD khỏi máy tính của bạn và cắm nó vào Raspberry Pi của bạn.

Các kết nối được thực hiện trên Pi:

  • Kết nối cáp Ethernet với Pi từ mạng của bạn.
  • Kết nối cổng HDMI của Pi với TV hoặc màn hình của bạn.
  • Cắm bàn phím và chuột vào cổng USB. (Tôi sử dụng kết hợp chuột và bàn phím không dây và tôi đã để khóa kết nối với Pi, theo cách này, bây giờ Pi đã được đóng hộp, tôi không cần phải mở hết nếu muốn truy cập Pi của mình.)
  • Cắm đầu usb của trình lấy video vào Pi của bạn.

3) Kết nối nguồn điện 5V với Pi của bạn và làm theo thông tin trên màn hình cho đến khi nó khởi động. Bạn sẽ được hiển thị với một màn hình theo hình ảnh của tôi.

Bây giờ chúng tôi cần kiểm tra kết nối internet của bạn. Làm theo đường dẫn Cài đặt (bánh xe răng cưa) - thông tin hệ thống - tóm tắt và ghi lại địa chỉ IP của bạn, nó sẽ cần thiết trong tương lai.

Đảm bảo rằng SSH đã được bật, hãy làm theo đường dẫn Cài đặt (bánh xe răng cưa) - openELEC - dịch vụ và kiểm tra xem "bật SSH" đã được kích hoạt chưa.

Bây giờ chúng ta sẽ cài đặt HyperCon và kiểm tra kết nối video grabber với Pi

Đối với điều này, chúng tôi sẽ sử dụng Putty. Pi của bạn phải được BẬT nguồn và kết nối với mạng của bạn để điều này hoạt động.

  • Nhập địa chỉ IP mà bạn đã viết ra ngay trước đó cho số Pi của mình. như hình ảnh đính kèm và nhấp vào Mở.
  • Sau đó, bạn sẽ được nhắc với một cửa sổ yêu cầu bạn nhập tên người dùng theo hình ảnh đính kèm. gõ vào thư mục gốc và nhấn enter.
  • sau đó bạn sẽ được yêu cầu nhập mật khẩu. (lưu ý rằng các ký tự sẽ không xuất hiện khi nhập mật khẩu, điều này là bình thường). Nhập openelec và nhấn enter.
  • Để kiểm tra tất cả các cổng usb, hãy nhập lsusb và nhấn enter. Bạn sẽ tìm thấy trình tải video của mình trong danh sách theo hình ảnh đính kèm.
  • Bây giờ bạn có thể đóng kết nối.

Điều này hoàn thành thiết lập Raspberry PI. Chúng tôi sẽ quay lại nó sau để tải lên tệp cấu hình LED của chúng tôi.

Bước 4: Hyperion và tệp cấu hình

Hyperion và tệp cấu hình
Hyperion và tệp cấu hình
Hyperion và tệp cấu hình
Hyperion và tệp cấu hình
Hyperion và tệp cấu hình
Hyperion và tệp cấu hình

Việc khởi động dự án của bạn sẽ tùy thuộc vào bạn. Tôi đã cố gắng đưa ra nhiều nhận xét nhất có thể trên các bức ảnh để cung cấp cho bạn và ý tưởng về cách thiết lập của tôi được kết hợp với nhau.

Một điều rất quan trọng là đảm bảo đầu vào video grabber với Pi không được kết nối với bất kỳ thứ gì khác, tôi đã gặp lỗi kích thước khung hình và rất nhiều điều kỳ lạ khác xảy ra khi tôi có bất kỳ thứ gì khác được kết nối với cổng USB khác. Nó phải đạt đến giới hạn băng thông hoặc một cái gì đó nhưng nó sẽ không hoạt động khi tôi cố gắng cắm thiết bị bảo vệ WiFi trong USB này hoặc thậm chí là cáp đầu ra tới Arduino

Tôi khuyên bạn nên đặt tất cả các bộ chuyển đổi, v.v. và bắt đầu bằng cách mang lại sức mạnh cho tất cả chúng trước. Hầu hết các bộ chuyển đổi này đều đi kèm với một bộ nguồn cắm tường. Tôi đã cắt cáp và chỉ sử dụng đầu nối ở phía bộ chuyển đổi và quyết định xây dựng một bảng nhỏ với nhiều kết nối + 5V và GND để cấp nguồn cho tất cả chúng. Nó đã tiết kiệm được rất nhiều chỗ.

Tôi đã dán các bộ chuyển đổi khác nhau xuống bằng keo 2 thành phần và sử dụng các giá đỡ bằng nhựa để cố định Arduino xuống. Tôi cũng đã thêm một ít keo vào mặt sau của đầu nối IEC để tăng thêm độ cứng. Đầu nối IEC của tôi có công tắc BẬT / TẮT có sẵn mà tôi có thể sử dụng để tắt nguồn toàn bộ thiết bị. Nó cũng có một bản vẽ cầu chì, nơi tôi đã đặt một cầu chì 1.6A / 250V để bảo vệ nếu có bất kỳ điều gì xấu xảy ra với nguồn điện rẻ tiền của tôi.

Tôi đã sử dụng công cụ dremel của mình và một số tệp để tạo các khe hở trong bao vây và làm cho nó trông đẹp mắt. Tôi cũng đã khoét một lỗ cho cảm biến IR ở mặt trước của vỏ phía trên màn hình LCD.

Tôi chưa vẽ một bản vẽ sơ đồ thích hợp cho hệ thống dây dẫn đến Arduino, hãy cho tôi biết nếu ai đó muốn có một cái thay vì sử dụng bức tranh mà tôi đã tạo ra.

Đừng ngần ngại bình luận nếu cần và tôi sẽ vui vẻ trả lời các câu hỏi và cập nhật hướng dẫn này để làm cho nó đầy đủ hơn hoặc dễ hiểu hơn.

Bước 9: Truy cập vào Bộ chuyển đổi HDMI (tùy chọn)

Truy cập vào Bộ chuyển đổi HDMI (tùy chọn)
Truy cập vào Bộ chuyển đổi HDMI (tùy chọn)
Truy cập vào Bộ chuyển đổi HDMI (tùy chọn)
Truy cập vào Bộ chuyển đổi HDMI (tùy chọn)
Truy cập vào Bộ chuyển đổi HDMI (tùy chọn)
Truy cập vào Bộ chuyển đổi HDMI (tùy chọn)

Để Arduino biết nguồn nào mà bộ chuyển HDMI đang thực sự hiển thị, chúng ta cần một cách để gửi thông tin này từ bộ chuyển tới Arduino. May mắn thay, bộ chuyển đổi bộ chuyển đổi có 5 đèn LED để hiển thị nguồn từ 1 đến 5 khi được chọn và chúng tôi sẽ sử dụng các tín hiệu này cho Arduino.

Tôi đã lấy tín hiệu từ 5 đèn LED nhưng sau đó khi tôi viết mã Arduino, tôi nhận ra rằng tôi không cần tín hiệu từ đèn LED số 1, nếu bạn nhìn kỹ vào kết nối cáp ribbon với Arduino, bạn có thể thấy rằng dây màu nâu ở phía bên tay phải thực sự không được kết nối. Chúng tôi chỉ có LED2 kết nối với A0, LED3 đến A1, LED4 đến A2 và LED5 đến A3.

Tôi đã kết nối chúng với các đầu vào Analog không vì lý do gì khác mà sự tiện lợi của hệ thống dây dẫn vào hộp dự án của tôi.

Nếu bạn quyết định xây dựng dự án này và không muốn có màn hình LCD trên bảng điều khiển phía trước, bước này là không cần thiết và có thể bỏ qua. Sẽ rất khó để biết nguồn nào được chọn trên bộ chuyển HDMI nếu đèn LED trên đó bị khuất tầm nhìn như trong thiết kế dự án của tôi, nơi bộ chuyển đổi được đặt bên trong vỏ bọc.

Bước 10: Mã Arduino và Arduino

Arduino và mã Arduino
Arduino và mã Arduino
Arduino và mã Arduino
Arduino và mã Arduino
Arduino và mã Arduino
Arduino và mã Arduino

Tải xuống bản phác thảo từ liên kết sau. ở đây

Để bản phác thảo Arduino được biên dịch đúng cách, bạn sẽ cần 2 thư viện:

Adafruit_NeoPixel.h mà bạn có thể tải xuống tại đây

LiquidCrystal_I2C.h mà bạn có thể tải xuống tại đây (phiên bản 2.0)

Tôi đã cố gắng thêm càng nhiều bình luận càng tốt thông qua mã. Nếu có gì chưa rõ, đừng ngại gửi bình luận và đặt câu hỏi. Họ có thể giúp đỡ rất nhiều người.

Xem qua mã mà tôi đã đính kèm ở bước này.

Datapin là chân được chọn nơi Din của dải đèn LED của chúng tôi sẽ được kết nối

#define DATAPIN 5

Số lượng đèn LED là số lượng đèn LED thực tế trong hệ thống của bạn

#define LEDCOUNT 113

Tốc độ truyền không được thay đổi hoặc nó cũng sẽ cần được thay đổi trong tệp cấu hình Hyperion

#define BAUDRATE 500000

Đây là mức độ sáng bạn muốn dải đèn LED của mình hoạt động. Yêu cầu kiểm tra trong môi trường của bạn. 0 đến 100 lựa chọn

#define BRIGHTNESS 100

Bạn sẽ cần sửa đổi dòng 24 với tiền tố của riêng bạn.

Sử dụng tệp tiền tố đính kèm, tìm số lượng đèn LED của bạn và sao chép các giá trị từ tệp vào dòng tiền tố của bạn. Bạn cần mở tệp bằng Notepad ++ để tệp được hiển thị chính xác.

Exple cho 113 LEDS: tiền tố const char = {0x41, 0x64, 0x61, 0x00, 0x70, 0x25};

Exple cho 278 LEDS: tiền tố const char = {0x41, 0x64, 0x61, 0x01, 0x15, 0x41};

Ở cuối mã, trong quy trình check_source (), đây là nơi bạn có thể thay đổi cho từng nguồn thông tin sẽ được hiển thị trên màn hình LCD khi nguồn được chọn như TV hoặc PS4 hoặc máy tính, v.v.

Bạn cũng có thể đặt con trỏ LCD để có tên in được in ở giữa màn hình LCD.

Khi bạn hài lòng với mã của mình, bạn có thể tải nó lên Arduino và kiểm tra xem nó có hoạt động chính xác với ít nhất là màn hình LCD hay không.

Khi Arduino của bạn được lập trình, vui lòng thêm tụ điện 10uF giữa các chân GND và RESET. (Đặt lại chân là dấu + của tụ điện).

Điều này sẽ ngăn Arduino khởi động lại khi dữ liệu nối tiếp đến từ Pi khi hệ thống khởi động.

Nếu bạn cần lập trình lại Arduino, hãy tháo tụ điện trước khi dùng tay và thay thế nó sau khi hoàn tất.

Bước 11: Kết hợp tất cả lại với nhau và thử nghiệm

Raspberry Pi và Arduino hiện có thể được liên kết bằng cáp USB.

Dải đèn LED đã được kết nối với vỏ và Arduino.

Arduino và Raspberry được lập trình.

Nguồn cung cấp 5V từ bộ nguồn sẽ đến tất cả các bộ chuyển đổi khác nhau Arduino và Raspberry.

Khi nguồn được cấp vào hộp dự án, nguồn LED của bộ chuyển HDMI sẽ sáng, kênh Nguồn có thể được thay đổi bằng điều khiển từ xa hoặc nút trên bộ chuyển.

Chọn nguồn trên TV nơi bạn đã kết nối cáp chính từ đầu ra hộp dự án và xem liệu bạn có nhận được hình ảnh trên màn hình từ bất kỳ nguồn nào bạn đã chọn trên bộ chuyển đổi của mình hay không.

Sau một vài giây, dải đèn LED sẽ dần sáng lên và công tắc tắt. Điều này có nghĩa là Arduino đã khởi động và kết nối với dải LED tốt.

Ngay sau đó, dải đèn LED sẽ bắt đầu hiển thị màu sắc theo thông tin được Raspberry truyền đi.

Succes !! Bây giờ bạn đã hoàn thành dự án của mình và có thể bắt đầu thưởng thức một số chương trình truyền hình ánh sáng giải trí

Bước 12: Điều khiển dải đèn LED từ điện thoại của bạn

Kiểm soát dải đèn LED của bạn từ điện thoại của bạn
Kiểm soát dải đèn LED của bạn từ điện thoại của bạn
Kiểm soát dải đèn LED của bạn từ điện thoại của bạn
Kiểm soát dải đèn LED của bạn từ điện thoại của bạn
Kiểm soát dải đèn LED của bạn từ điện thoại của bạn
Kiểm soát dải đèn LED của bạn từ điện thoại của bạn
Kiểm soát dải đèn LED của bạn từ điện thoại của bạn
Kiểm soát dải đèn LED của bạn từ điện thoại của bạn

Để thêm phần thú vị cho việc này, bạn có thể tải App trên Iphone, mình chắc chắn rằng nó cũng phải dùng được cho các thiết bị khác.

Rất dễ sử dụng, chỉ cần đảm bảo Pi và dải đèn LED của bạn BẬT và nhấn nút Phát hiện ở trên cùng bên trái. Nó sẽ phát hiện Máy chủ, mà bạn có thể đặt tên theo ý muốn.

Chọn nó và bạn đã hoàn tất, bạn có thể chọn màu từ bánh xe màu và dải của bạn sẽ sáng lên tương ứng hoặc chọn từ các hiệu ứng khác nhau sẽ được hiển thị.

Cuộc thi Raspberry Pi 2016
Cuộc thi Raspberry Pi 2016
Cuộc thi Raspberry Pi 2016
Cuộc thi Raspberry Pi 2016

Giải nhì cuộc thi Raspberry Pi 2016

Đề xuất: