Mục lục:

Màn trình diễn ánh sáng cây thông Noel Raspberry Pi: 15 bước (có hình ảnh)
Màn trình diễn ánh sáng cây thông Noel Raspberry Pi: 15 bước (có hình ảnh)

Video: Màn trình diễn ánh sáng cây thông Noel Raspberry Pi: 15 bước (có hình ảnh)

Video: Màn trình diễn ánh sáng cây thông Noel Raspberry Pi: 15 bước (có hình ảnh)
Video: Top những sự thật về Hiếu khổng lồ - nâng cột điện, bẻ thanh lò xo 140kg, kéo xe tải 2024, Tháng mười một
Anonim
Image
Image

Cập nhật: Tôi đã đưa ra một bản tiến hóa cập nhật của Cây này cho năm 2017 tại https://www.instructables.com/id/LED-Christmas-Tree-With-Video-Projector-Rasp-Pi/ có thể hướng dẫn này

Dự án này liên quan đến việc sử dụng Raspberry Pi để điều khiển 8 ổ cắm AC được kết nối với bộ đèn Cây thông Noel. Đèn AC là các dải đèn một màu đơn giản, nhưng để mang lại dải động hơn cho màn trình diễn ánh sáng, còn có một ngôi sao LED RGB 25 có thể lập trình được. Một trong những lợi ích của việc sử dụng Raspberry Pi thay vì bộ điều khiển Arduino là tôi có thể điều khiển âm thanh ra khỏi Raspberry Pi để đèn có thời gian theo nhạc (chưa kể đến lợi ích có kết nối WiFi để hoạt động trên phần mềm từ xa).

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

Vật liệu
Vật liệu

Hãy nhớ rằng các tài liệu dưới đây là những gì tôi đã sử dụng cho dự án này. Trong nhiều trường hợp có thể sử dụng các bộ phận / giải pháp thay thế.

Đây là những tài liệu tôi đã sử dụng cho dự án này:

Đối với bộ điều khiển:

  1. Raspberry Pi (Mẫu B là những gì tôi đã sử dụng)

    • Thẻ SD
    • Bộ chuyển đổi Wifi USB
  2. Bo mạch mô-đun SainSmart 8 kênh 5V SSR - Amazon

    Tôi đã tránh các rơ le cơ học vì âm thanh nhấp của công tắc sẽ có thể nghe thấy rõ ràng và chúng tôi đã SSRs. Bảng này được xếp hạng tối đa 2 AMP cho mỗi SSR, đủ để cấp nguồn cho một chuỗi đèn Giáng sinh

  3. Dây nhảy - Có thể tìm thấy giá rẻ trên Ebay
  4. JST SM Plug + Receptacles - Adafruit
  5. Cuộn dây 32ft (hoặc bốn đoạn dây dài 8 ft)
  6. Dây mở rộng x 8
  7. Khối phân phối điện x 2 - AdaFruit
  8. Dải điện
  9. Nguồn cung cấp

    • 5 Volts, 3 Amps hoặc lớn hơn để điều khiển đèn LED và Pi
    • 5 Volts, 1 Amp hoặc lớn hơn để điều khiển mô-đun SSR
  10. Bao vây
  11. Diễn giả

Đối với ngôi sao:

  1. Đèn LED RGB 12mm (Dải 25) - Chip AdafruitWS2801 trong sản phẩm này cho phép Pi chỉ cần tạo xung chuỗi một lần thay vì liên tục xung dòng để giữ cho đèn LED được chiếu sáng.
  2. Tấm nhựa ABS để giữ đèn LED tại chỗ - Walmart
  3. Tấm Lexan để khuếch tán đèn LED - Giảm
  4. Sơn phun màu đen
  5. Sơn phun trắng
  6. Gỗ

Đối với cây:

  1. Sợi ánh sáng trắng 100 x 4
  2. Sợi ánh sáng trắng 50
  3. Sợi ánh sáng đỏ 100 x 2
  4. Sợi ánh sáng xanh lục 100 x 2
  5. 100 sợi ánh sáng xanh lam x 2

Bước 2: Thiết lập Raspberry Pi

Trước khi đi sâu vào hệ thống dây điện, tôi muốn khởi động và chạy Pi trước để kiểm tra các thành phần khi chúng được kết nối. Quá trình thiết lập này được thực hiện trước khi thiết lập vỏ máy và liên quan đến việc Raspberry Pi được kết nối qua nguồn USB với màn hình và bàn phím. Mục đích là để hệ thống được cấu hình đến mức có thể tiếp tục phát triển trên Pi trong vỏ.

Bản cài đặt Pi mặc định không có các thư viện cần thiết để điều khiển các đèn LED WS2801 đúng cách trong ngôi sao, vì vậy tôi đã cài đặt hệ điều hành Occidentalis của AdaFruit trên Pi.

Sau khi cài đặt Occidnetalis, một thiết lập bổ sung nhỏ đã được thực hiện:

1) Định cấu hình Pi để khởi động vào Command Prompt (không phải giao diện GUI)

2) Thiết lập giao diện mạng không dây trên Pi bằng cách chỉnh sửa / etc / network / interface. Đảm bảo chọn một địa chỉ IP tĩnh để bạn có thể đăng nhập vào một địa chỉ đã biết để làm việc trên Pi

3) Cài đặt các dịch vụ Telnet và FTP.

4) Cài đặt Pygame. Thư viện được sử dụng trong các tập lệnh python để phát các tệp MP3 / WAV

Bạn có thể dễ dàng tìm thấy hướng dẫn chi tiết cho việc cài đặt / thiết lập thông qua tìm kiếm trên Internet. Rất nhiều tài nguyên tồn tại trên Pi trực tuyến.

Sau thời điểm này, tôi có thể ngắt kết nối bất kỳ video và bàn phím nào vì Pi có thể là bạn có thể đăng nhập từ xa.

Bước 3: Bắt đầu thiết lập bao vây

Bắt đầu thiết lập bao vây
Bắt đầu thiết lập bao vây

Tôi sẽ không đi vào chi tiết nhiều về cách xây dựng bao vây vì nó chỉ là một hộp làm bằng gỗ. Tôi đã khoan các chốt có đường kính 1,5 vào các đầu của thùng loa. Bên phải là lỗ để tất cả các dây nối và dây sao chạy ra và bên trái là lỗ để chạy dải nguồn và đầu ra âm thanh.

Các thành phần đầu tiên để gắn kết là dải nguồn và Raspberry Pi. Để cấp nguồn cho Pi, tôi đang sử dụng cùng một biến áp 5V để cấp nguồn cho ngôi sao và Pi (được hiển thị bằng màu xanh lá cây). Vì điều này, tôi có nguồn đi đến một khối thiết bị đầu cuối (được đánh dấu màu trắng) nơi 5V chuyển sang dây sao và đến Pi

Chân 2 = 5V

Chân 6 = Nối đất

Sau khi kết nối, bật nguồn và Pi sẽ khởi động và có thể truy cập qua Telnet như thiết lập ở bước trước.

Bước 4: Kết nối Raspberry Pi với Mô-đun chuyển tiếp

Kết nối Raspberry Pi với Mô-đun chuyển tiếp
Kết nối Raspberry Pi với Mô-đun chuyển tiếp

Khi Tắt tất cả Nguồn điện (Nguồn điện và Pi), hãy kết nối 5 Volts với hai đầu nối nguồn bên ngoài dưới cùng. Tôi đã lái xe này với nguồn cung cấp 5 Volt chuyên dụng được gắn vào dải nguồn. Điều này để Pi không có toàn bộ tải điều khiển rơ le (mối quan tâm là 8 rơ le được kích hoạt đồng thời) và thay vào đó chỉ có thể điều khiển một bóng bán dẫn để cung cấp nguồn điện bên ngoài cho rơ le.

Bây giờ xác định vị trí của GPIO0 thông qua GPIO7 trên Raspberry Pi. Trên B-Model của tôi, đó là:

GPIO0 = Chốt 11

GPIO1 = Pin 12

GPIO2 = Pin 13

GPIO3 = Pin 15

GPIO4 = Pin 16

GPIO5 = Pin 18

GPIO6 = Pin 22

GPIO7 = Pin 7

Nối đất / 0V = Pin 6, Pin 9, Pin 14, Pin 20, Pin 25

Vì kết nối trên Mô-đun SSR bị vặn trong các trụ, tôi đã cắt từng jumper đến kích thước phù hợp dựa trên cách tôi sắp xếp các thành phần. Kết nối tất cả 8 kênh đầu vào cũng như nối đất từ Pi lên bo mạch. Kìm mũi kim giúp đặt cầu thủ nhảy vào đầu Pi đúng cách.

Mỗi kênh có một đèn LED trên Mô-đun SSR sẽ sáng khi GPIO tăng cao trên Pi. Chạy một chương trình thử nghiệm đơn giản để kiểm tra tất cả các kết nối, được đính kèm dưới dạng test.py, trong đó mỗi GPIO0-7 được đặt ở mức cao trong hai giây.

Bước 5: Cắt và chuẩn bị các dây mở rộng

Cắt và chuẩn bị các dây mở rộng
Cắt và chuẩn bị các dây mở rộng

Trên mỗi dây nối, cắt đầu phích cắm để lại chiều dài tối đa có sẵn cho đầu dây được cắm vì nó có thể phải đi đến ngọn cây. Trên dây tách hai đầu dây ra bằng cách cắt miếng nhựa mỏng giữ hai đầu dây lại với nhau. Bây giờ dải các đầu để khoảng 1/4 dây tiếp xúc với vít trên các đầu nối.

Sử dụng bút đánh dấu Sharpie trên mỗi đầu có ổ cắm cuối của dây để viết các số từ 1 đến 8 để bạn có thể dễ dàng xác định ổ cắm nào đi đến kênh nào trên mô-đun SSR.

Chúng tôi cũng sẽ cần một phích cắm và một số dây bổ sung cho bước tiếp theo, vì vậy hoặc loại bỏ dây nối thứ 9 hoặc để lại một số chỗ trống trên 8 dây nối khi cắt đầu phích cắm.

Bước 6: Kết nối các dây mở rộng AC

Kết nối các dây mở rộng AC
Kết nối các dây mở rộng AC
Kết nối các dây mở rộng AC
Kết nối các dây mở rộng AC

Bước tiếp theo móc đầu ra của mô-đun SSR với 8 dây nối. Vì số lượng dây ở đây có thể bị lộn xộn rất dễ dàng nên tôi đã sử dụng bock phân phối điện và súng bắn ghim để cố gắng giữ mọi thứ ở đúng vị trí.

Khi đã tắt nguồn, lấy đầu phích cắm đã cắt ở bước trước và cắm vào dải nguồn. Dải hai đầu còn lại và kết nối mỗi đầu với khối phân phối điện trên cùng và dưới cùng và ghim hai đầu nối này xuống.

Bây giờ kết nối một trong các dây mở rộng đã cắt từ bước trước. Trong trường hợp của tôi, tôi có một vỏ bọc với lỗ đường kính 1,5 cho tất cả các dây chảy ra, vì vậy được đánh dấu bằng màu xanh lá cây là một trong các dây có một đầu được kết nối với khối phân phối và đầu kia với đầu ra của mô-đun SSR. Để hoàn thành mạch, chúng tôi cần một sợi dây ngắn hơn nhiều (được hiển thị bằng màu xanh lam) kết nối khối phân phối khác với mô-đun SSR. Cắt và ghim để giữ mọi thứ gọn gàng nhất có thể. Kim bấm không chỉ giữ cho mọi thứ gọn gàng mà còn có tác dụng Giảm căng để bất kỳ sự kéo và kéo nào khi kết nối đèn với cây sẽ không kéo các kết nối ra khỏi các bộ phận. Không cần phải nói, khi ghim không để kim ghim đâm vào dây hoặc cách điện.

Bước 7: Kiểm tra AC Hookups

Kiểm tra kết nối AC
Kiểm tra kết nối AC
Kiểm tra kết nối AC
Kiểm tra kết nối AC

Thay vì mắc các dây đầy đủ của Đèn Giáng sinh, tôi đã nối những chiếc đèn ngủ giá rẻ $ 1 vào mỗi dây nối để kiểm tra và phát triển các hình ảnh động trước khi cây được mọc lên. Tôi vẽ các đèn được kết nối với các dây sẽ điều khiển các dây ánh sáng Đỏ, Xanh lá cây, Xanh lam.

Chạy cùng một chương trình thử nghiệm được sử dụng để kiểm tra mô-đun SSR và đảm bảo mỗi kết nối sáng đúng cách.

Hộp đèn chỉ ra rằng mỗi chuỗi sẽ vẽ 0,34 Amps và đối với các đèn màu, tôi sẽ xâu hai bộ với nhau sẽ dẫn đến tổng số lần rút là 0,68 Amps. Mức này thấp hơn nhiều so với định mức của SSR là 75 - 200 VAC ở 2 Amps, tuy nhiên tôi muốn kiểm tra lại vì cầu chì trên mô-đun SSR được hàn vào bo mạch nên rất khó thay thế.

Bước 8: Tạo ngôi sao

Tạo ngôi sao
Tạo ngôi sao
Tạo ngôi sao
Tạo ngôi sao
Tạo ngôi sao
Tạo ngôi sao
Tạo ngôi sao
Tạo ngôi sao

Bước đầu tiên trong việc tạo ra ngôi sao là tạo một khuôn mẫu có thể in được để giúp định hình khung gỗ và nhựa. Sau khi chia tỷ lệ và in mẫu ở kích thước thích hợp, tôi lấy một miếng gỗ 4,25 "x 0,125" từ cửa hàng thủ công và đo khoảng cách cần thiết cho mỗi mặt của ngôi sao. Tôi đã không thực sự vát bất kỳ khớp nào khi tôi cắt chúng, vì vậy việc tạo hình ngôi sao cần có sự hỗ trợ để giữ các mảnh ở đúng vị trí trong khi dán.

Đặt mẫu xuống bề mặt làm việc, tôi sử dụng giá đỡ để giữ hai miếng gỗ ở vị trí như thể hiện bằng màu nâu trong hình. Khi hai mép gỗ chạm vào nhau, keo được bôi vào hai bên của mối nối. Sau đó, lấy một miếng balsa mỏng, tôi cắt ra một hình tam giác để hàn hai mảnh lại với nhau và dán nó lên ngôi sao. Lý do sử dụng balsa là khi ngôi sao đã gắn chặt với nhau, tôi có thể dễ dàng mài hình tam giác xuống để khớp với đường viền của ngôi sao, được hiển thị quanh hình ảnh của ngôi sao.

Vì phương pháp thi công, tôi phải đợi vài giờ trên mỗi mối nối để keo khô trước khi chuyển sang mối nối tiếp theo.

Sau khi toàn bộ ngôi sao được hình thành, tôi sử dụng tấm vách thạch cao để che những khoảng trống nơi hai mảnh gỗ gặp nhau ở các đỉnh của ngôi sao.

Sau đó, tôi dán một số nút nhỏ xung quanh bên trong ngôi sao để giúp lắp cụm đèn LED vào đúng vị trí khi lắp vào, được đánh dấu bằng một hình chữ nhật. Tôi không tin rằng chúng thực sự cần thiết vì trọng lực thực hiện công việc giữ cụm đèn LED tại chỗ.

Đặt ngôi sao đã lắp ráp xuống trên tấm Lexan, theo dõi hình dạng của ngôi sao và cắt ngôi sao ra khỏi Lexan. Sau khi cắt ngôi sao Lexan, kiểm tra xem nó có vừa với khung gỗ hay không, sau đó quét 2 lớp sơn phun màu trắng lên một mặt của ngôi sao Lexan và để khô trong 24 giờ. Điều này cho phép các đèn LED được khuếch tán cũng như ẩn chúng khỏi tầm nhìn.

Để giấu nắp giữa ngôi sao Lexan và khung gỗ, tôi sử dụng một dải gỗ balsa nhỏ 0,25 "và cắt nó để tạo hình và" đóng nắp "khung sao cho balsa che đi khoảng trống.

Cuối cùng là thêm một chiếc que / chốt để giúp gắn ngôi sao lên ngọn cây.

Bước 9: Tạo gắn đèn LED

Tạo gắn đèn LED
Tạo gắn đèn LED
Tạo gắn đèn LED
Tạo gắn đèn LED

Sử dụng khuôn mẫu tương tự để tạo thành ngôi sao gỗ, cắt tấm nhựa ABS ra theo kích thước, nhưng nhỏ hơn một chút để có thể chèn vào bên trong ngôi sao gỗ. Kiểm tra xem nó vừa khít với bên trong ngôi sao gỗ.

Sau đó, vẫn sử dụng mẫu với các vị trí lỗ, hãy khoan 25 lỗ LED. Các đèn LED từ AdaFruit có một mặt bích silicone ở bên ngoài để chúng gắn kết hoàn hảo vào các lỗ được khoan ở 12mm. Trong hình, bạn có thể thấy mặt bích và tôi đã sử dụng một đường màu xanh lá cây để chỉ ra vị trí nhựa ABS sẽ gắn mặt bích để giữ đèn LED tại chỗ.

Bắt đầu với một trong các mẹo và làm việc xung quanh bên ngoài của ngôi sao, sau đó di chuyển đến 5 giá đỡ bên trong để hoàn thành mảnh. Trong chương trình của tôi, tôi có các vị trí đèn LED được nối dây như thể hiện bằng số trong hình, với 1 là đèn LED đầu tiên sau đầu nối.

Dán một số băng dính điện vào các đầu màu đỏ và xanh của cáp. Chúng là đầu vào thứ cấp cho nguồn điện mà chúng tôi sẽ không sử dụng, thay vào đó sử dụng kết nối màu đỏ / xanh lam với kết nối đồng hồ / tín hiệu qua chính cáp.

Bước 10: Tạo dây mở rộng cho LED Star

Tạo dây mở rộng cho LED Star
Tạo dây mở rộng cho LED Star
Tạo dây mở rộng cho LED Star
Tạo dây mở rộng cho LED Star

Tiếp theo là tạo một sợi cáp dài 8 ft để chạy từ bao vây đến ngôi sao trên ngọn cây.

Cắt 4 đoạn dây dài 8 ft bằng nhau và trên một đầu của bó cáp, sử dụng băng dính điện hoặc dây zip để giữ cho bó lại với nhau và gọn gàng. Làm điều này xuống toàn bộ chiều dài của 4 bó cáp mỗi vài inch.

Trên một trong hai đầu của bó, dải dây và hàn vào các đầu nối JST để dây có thể kết nối một đầu với vỏ bọc và đầu kia với hình sao. Đảm bảo giữ vị trí tương đối của các dây theo thứ tự thích hợp để khi cắm vào ngôi sao, các kết nối Xanh lam / Xanh lục / Vàng / Đỏ khớp trên đầu kia của cáp. Sử dụng đồng hồ vạn năng để kiểm tra cáp để đảm bảo rằng nó được nối dây đúng cách.

Bước 11: Nối Ngôi sao với Pi

Nối dây Ngôi sao đến số Pi
Nối dây Ngôi sao đến số Pi

Bây giờ chúng ta cần tạo ổ cắm trong vỏ để cắm dây sao / dây nối dài vào.

Đỏ = 5 Vôn

Xanh lam = Mặt đất

Vì vậy, chúng ta có thể nối hai đường này trên đầu nối JST với khối thiết bị đầu cuối mà nguồn của Raspberry Pi được gắn vào.

Hai kết nối còn lại là:

Màu vàng = Dữ liệu = MOSI = Pin 19

Màu xanh lá cây = Đồng hồ = SCLK = Chân 23

Tôi đã làm theo cách nối dây từ hướng dẫn của AdaFruit. Vì vậy, hãy tước các đầu của hai cáp jumper để chúng có thể được hàn vào đầu nối JST.

Một khi bạn chắc chắn rằng hệ thống dây dẫn sẽ nhận được tín hiệu thích hợp đến đèn LED, bạn có thể ổn định đầu nối trong vỏ để giảm căng thẳng sao cho bất kỳ sự kéo mạnh nào trên cáp mở rộng sẽ không làm đứt các jumper ra khỏi Pi.

Bước 12: Kiểm tra LED Star

Kiểm tra LED Star
Kiểm tra LED Star
Kiểm tra LED Star
Kiểm tra LED Star

Với ngôi sao LED được kết nối với Pi. Chạy một chương trình kiểm tra đơn giản để xác minh đèn hoạt động bình thường. Phần lớn mã của tôi được điều chỉnh từ Hướng dẫn AdaFruit cũng như một bài đăng trên diễn đàn trên trang web về việc điều chỉnh mã hướng dẫn để phù hợp với đèn LED mà chúng tôi đang sử dụng..

Ledtest.py đính kèm sẽ có hình ngôi sao từ từ chuyển từ màu xanh lam sang màu đỏ thuần.

Bước 13: Kết nối các loa, xây dựng một đỉnh bao vây

Kết nối các loa, xây dựng một đỉnh bao vây
Kết nối các loa, xây dựng một đỉnh bao vây

Không có gì đặc biệt ở đây, chỉ cần gắn loa vào âm thanh ra khỏi Raspberry Pi và cắm chúng vào dải nguồn. Một loa được cấp nguồn đơn giản với núm điều chỉnh âm lượng sẽ hoạt động.

Đối với phần trên cùng, tôi muốn có thể nhìn vào trong hộp, vì vậy tôi đã gắn một miếng kính 8,5 x 11 (từ khung ảnh) vào nắp và sử dụng Velcro ở trên cùng để tôi có thể nhanh chóng tháo phần trên nếu cần. Một phần lớn của vỏ bọc có 110 VAC được tiếp xúc vì vậy điều quan trọng là phần trên cùng phải bảo vệ khỏi bất kỳ ai hoặc bất cứ thứ gì vô tình tiếp xúc.

Bước 14: Kết nối ánh sáng với cây

Kết nối ánh sáng với cây
Kết nối ánh sáng với cây

Tôi đã chọn bố cục của các kênh trên Cây thông Noel để mang lại cho tôi sự linh hoạt tối đa để tạo ra các loại chuyển động / hiệu ứng khác nhau. Đính kèm là hình ảnh về cách tôi bố trí ánh sáng cho 5 sợi màu trắng. Ba kênh còn lại, mỗi kênh là một bộ gồm hai đèn màu 100 ánh sáng: Đỏ, Lục, lam.

Dây mở rộng cụ thể mà bạn cắm vào từng sợi không quan trọng vì trong bước tiếp theo, tôi có thể tùy chỉnh ánh xạ giữa GPIO0-7 và đèn nào trên cây.

Bước 15: Tải / Tạo Nhạc, Phần mềm, Chuỗi…

Image
Image

Có rất nhiều trình tự sắp xếp ánh sáng Giáng sinh có sẵn trực tuyến cho Raspberry Pi, nhưng tôi đã mã hóa một thứ đơn giản từ đầu. Tất cả các chuỗi được tạo ra bằng cách sắp xếp thời gian của nhịp / độ đo trong Audacity (trình chỉnh sửa âm thanh) thành các lệnh cụ thể đối với trình tự sắp xếp của tôi.

rxmas.py

Chương trình này sẽ chọn ngẫu nhiên một bố cục tĩnh cho cây mỗi phút. Tôi có tập lệnh này đang chạy khi khởi động Raspberry Pi (thông qua công việc cron) làm hành vi mặc định khi cắm thiết bị.

xmas.py

Đây là chương trình trình tự, lấy một tệp trình tự và một MP3 làm đầu vào

setup.txt

Trong bước trước, tôi đã cung cấp bố cục mà tôi đã sử dụng cho mỗi kênh logic. Tệp này ánh xạ từng GPIO0-7 thực tế tới kênh logic. Vì vậy, trong tệp setup.txt mà tôi đã đính kèm, dây mở rộng của GPIO0 điều khiển kênh logic 8 (Xanh lam), GPIO1 điều khiển kênh logic 6 (Đỏ), v.v.

test.mp3 / test.txt

Đây là một trường hợp kiểm tra đơn giản về số lượng âm thanh từ 1 đến 8 với các dây đèn tương đương sáng lên

Vì vậy, để gọi loại ví dụ này:

./xmas.py test.txt test.mp3

carol.txt

Tệp trình tự cho Christmas Sarajevo của Dàn nhạc Xuyên Siberia

LetItGo.txt

Tệp trình tự cho Let It Go từ Disney's Frozen Movie

russian.txt

Tệp trình tự cho "A Mad Russian's Christmas" của dàn nhạc xuyên Siberia

Rõ ràng là bạn sẽ phải cung cấp các tệp LetItGo.mp3 và carol.mp3 của riêng mình! Chỉ cần mua chúng trên Amazon.

LƯU Ý: Video YouTube nhúng được tăng tốc lên đến 110% nên nghe có vẻ hơi kỳ quặc

Làm cho nó phát sáng!
Làm cho nó phát sáng!

Giải nhất trong Make it Glow!

Đề xuất: