Mục lục:

Tời điều khiển Art-Net: 6 bước
Tời điều khiển Art-Net: 6 bước

Video: Tời điều khiển Art-Net: 6 bước

Video: Tời điều khiển Art-Net: 6 bước
Video: ArtNet Pixel Controller - deskontroller LITE 2024, Tháng Chín
Anonim
Tời điều khiển Art-Net
Tời điều khiển Art-Net

Xin chào mọi người, trong phần hướng dẫn này, tôi sẽ giải thích cách tôi tạo ra tời điều khiển bằng lưới nghệ thuật của mình. "Cái gì của bạn?" Tôi nghe bạn hỏi, hãy để tôi giải thích rất nhanh. Một vài năm trước, chúng tôi đã tổ chức một bữa tiệc với ngôi nhà thanh niên địa phương, và khi thiết kế sân khấu, chúng tôi đã có ý tưởng làm một mái nhà di chuyển.

Với 9 tời (takels), chúng tôi đã nâng lên một tấm vải trắng khổng lồ và thông qua giao thức dmx, chúng tôi đã kiểm soát chúng. Nhưng tại thời điểm đó chúng tôi sử dụng tời 3phase điều khiển. Vì vậy, để làm cho nó đi lên và đi xuống, chúng tôi phải tạo một hệ thống relais được điều khiển bởi một mega Arduino trung tâm được điều khiển bằng dmx. Relais nơi chuyển đổi điện áp 230V và 12 ampe.

Nói một cách dễ hiểu hơn, chúng tôi đã phải tạo ra một mớ hỗn độn khổng lồ của các dây và hệ thống truy xuất siêu không ổn định, không đáng tin cậy và thực sự khá nguy hiểm.

Vì vậy, chúng tôi tự nghĩ rằng phải có một cách tốt hơn để làm điều này. Chúng tôi bắt đầu suy nghĩ và đi đến kết luận rằng cách tốt nhất để làm điều này là thông qua một hệ thống tời mô-đun, được điều khiển qua giao thức Art-Net để chúng tôi chỉ cần một nguồn điện áp và một cáp ethernet.

Vì vậy, đó chính xác là những gì tôi đã tạo ra và tôi sẽ cố gắng giải thích cho bạn cách tôi đã làm điều đó. Toàn bộ thiết lập dựa vào pi raspberry điều khiển quá trình thiết lập. Trên thiết lập của nó, quyền điều khiển được trao cho một máy tính nhẹ (Chamsys, v.v.) sẽ điều khiển các tời từ đó trở đi.

Tôi cho rằng bạn có kiến thức cơ bản về python, arduino và raspberry pi aswel cũng như hiểu điều gì đó về giao thức art-net và bộ điều khiển.

Quân nhu

Những gì bạn cần:

  • Raspberry pi
  • Arduino
  • Lá chắn Arduino Ethernet
  • Lá chắn động cơ Arduino
  • Bất kỳ màn hình OLED nào
  • cáp ethernet
  • công tắc ethernet
  • Động cơ DC có tích hợp bộ mã hóa

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

Ok vì vậy cách này sẽ hoạt động là raspberry pi sẽ chạy một Apache và một máy chủ MariaDB. Máy chủ apache là lưu trữ trang web, MariaDB là lưu trữ cơ sở dữ liệu nơi chúng tôi sẽ lưu trữ dữ liệu của các bộ tời.

Tôi sẽ không hướng dẫn bạn toàn bộ quy trình thiết lập pi với ssh, nếu bạn không quen thì đây là một hướng dẫn hay.

Vì vậy, trước tiên, chúng tôi sẽ đảm bảo rằng pi raspberry đã được thiết lập xong, trong quá trình chạy thiết bị đầu cuối của bạn:

Để cài đặt apache

sudo apt install apache2 -y

Để cài đặt mariaDB

sudo apt-get install mariadb-server

Đây là tất cả các tiện ích mở rộng python chúng tôi cần

pip3 cài đặt mysql-connector-python

pip3 install flask-socketio pip3 install flask-cors pip3 install gevent pip3 install gevent-websocket pip3 install netifaces

Đối với màn hình oled, chúng tôi cần một quy trình thiết lập khó hơn một chút có thể tìm thấy tại đây.

Ok đó là tất cả các pi đã hoàn thành!

Bước 2: Hiểu cách thiết lập sẽ hoạt động

Vì vậy, cách bạn muốn thiết lập tời là đặt nó ở vị trí bắt đầu và vị trí kết thúc. Nó sẽ được chỉ định một kênh nhất định và với kênh này, bạn sẽ chỉ có thể di chuyển giữa chỉ số đã chọn và vị trí kết thúc.

Để chọn các vị trí này, bạn sẽ cần di chuyển tời đến chúng, khi bạn ở đó, bạn sẽ chuyển một kênh nhất định đến giá trị 56. Khi kênh chính xác này đạt đến giá trị đó, nó sẽ biết rằng đây là vị trí bắt đầu / kết thúc cuối của mình., nếu nó cần di chuyển lên hoặc xuống hoặc nếu nó cần thay đổi các giá trị artnet của nó. Di chuyển tời cũng được thực hiện bằng cách đặt một kênh nhất định thành 56. "Và tại sao 56", tôi nghe bạn thắc mắc, tôi đã phải chọn một cái gì đó:).

Vị trí được tính toán thông qua bộ mã hóa trên động cơ DC.

Bước 3: Phụ trợ của Pi

Phụ trợ của Pi
Phụ trợ của Pi

Phần phụ trợ cho hệ thống có thể được tìm thấy trên github của tôi. Tôi đã viết thư viện của riêng mình cho giao thức art-net nên cứ thoải mái sử dụng. Tôi sẽ không hướng dẫn bạn từng dòng một nhưng tôi sẽ cung cấp cho bạn bức tranh toàn cảnh về tất cả.

Mã chạy một máy chủ bình giao tiếp với máy chủ apache đang chạy trên pi. Nó sử dụng mô-đun flask-socketio để gửi và nhận dữ liệu đến giao diện người dùng. Art-net lib sử dụng mô-đun socket từ python để gửi các gói UDP đến và đi từ arduino.

Mọi phương thức bắt đầu bằng @ socketio.on ('F2B _ ***') đang đợi lệnh gọi F2B từ giao diện người dùng. Sau khi nhận được nó, nó sẽ thực hiện hành động theo. Đó là gửi một lệnh artnet hoặc lấy dữ liệu từ DB và gửi nó trở lại phía trước.

Phương thức oled_show_info () được sử dụng để hiển thị ip của ip (Cả trên giao diện wlan và ethernet).

vì vậy chỉ cần chạy mã với

python3 app.py

Bước 4: Giao diện người dùng của Pi

Giao diện người dùng của Pi
Giao diện người dùng của Pi

Để có thể chỉnh sửa giao diện người dùng của số pi, trước tiên, bạn cần phải cung cấp cho mình các tài khoản truy cập vào thư mục / var / www / html /. Đây là nơi apache lấy các tệp của nó để hiển thị trên trang web của nó. Để nhận được tài khoản thực thi:

sudo chmod 777 / var / www / html /

Bây giờ, tất cả đã hoàn tất, hãy lấy mã cho giao diện người dùng của github của tôi và đặt nó vào thư mục / var / www / html /.

Giao diện người dùng sử dụng nguyên tắc tương tự như phần phụ trợ nhưng bây giờ nó sẽ gửi các lệnh F2B _ *** khi một nút được nhấn hoặc di chuyển thanh trượt.

Và đó là giao diện người dùng đã hoàn thành!

Bước 5: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Để sử dụng arduino, bạn sẽ cần sử dụng tấm chắn ethernet và tấm chắn động cơ. Chỉ cần nhẹ nhàng đẩy chúng lên arduino. Đảm bảo rằng bạn không đẩy tấm chắn động cơ quá xa vào tấm chắn ethernet, nếu không bạn sẽ làm ngắn 2 chân động cơ trên kết nối ethernet!

Mã cho arduino cũng có thể được tìm thấy trên github của tôi. Tải lên tệp artnet_winch.ino và tất cả đều phải tốt.

Đảm bảo rằng bạn xác định đúng các chân cắm vào đúng các chân của động cơ. Các chân kính chắn động cơ được chọn cùng với các chân tiêu đề trên đầu của tấm chắn. Các chân này được chọn trong cấu hình động cơ // ---. Aswel như các chân bộ mã hóa cần được kết nối với các chân bên phải của arduino.

Đồng thời đảm bảo rằng địa chỉ MAC của tấm chắn là chính xác. Điều này có thể được tìm thấy trên một nhãn dán bên dưới tấm chắn và được chỉnh sửa trong biến MAC. IP bạn sử dụng cho pi cần phải nằm trong cùng dải với PI, điều này thường có thể được tìm thấy trên màn hình oled.

Mã trông hơi nhiều nhưng không khó hiểu. Về cơ bản, lá chắn ethernet liên tục đọc các gói udp đến. Nếu gói đó là gói Artnet, nó sẽ giải mã nó và lấy thông tin cần thiết từ nó. Các gói artnet khác nhau được mô tả độc đáo trên trang web Art-Net, vì vậy nếu bạn quan tâm, bạn có thể đọc tất cả những gì chúng làm.

Nếu nó nhận được một gói ArtPoll, nó sẽ phản hồi bằng một ArtPollReply. điều này được sử dụng trong hàm chú thích trong phần phụ trợ để tìm thiết bị nào trên mạng.

Nếu nó nhận và gói ArtDMX, nó sẽ giải mã gói tin và sử dụng dữ liệu đã cho để thực hiện các lệnh thiết lập nhất định hoặc di chuyển tời vào vị trí.

Hàm move_takel biến đổi giá trị DMX đã cho (từ 0-255) thành vị trí giữa vị trí bắt đầu và vị trí kết thúc (0 là cuối và 255 là đầu). Nếu vị trí của bộ mã hóa không bằng giá trị đã biến đổi, tời sẽ di chuyển lên / xuống tùy thuộc vào vị trí của bạn.

Tôi đang làm việc trên một vòng lặp phản hồi giữa PI và arduino để nó có thể theo kịp vị trí của nó nhưng arduino của tôi đã hết bộ nhớ để lưu trữ chương trình:).

Gắn kết tất cả

Để lắp đặt nó, tôi đã gắn động cơ vào một giá đỡ bằng kim loại và đặt một loại ống lên trên nó. Sau đó chỉ cần gắn một sợi dây trên ống và dùng một cuộn băng dính làm trọng lượng. Điều này rất cơ bản và bạn có thể sáng tạo theo cách bạn muốn gắn nó.

Bước 6: Kết nối tất cả

Sau khi thiết lập xong arduino và pi, bạn chỉ cần cắm cả hai cáp ethernet vào công tắc của bạn và đó là điều nên làm!

Bạn có thể kiểm tra nó bằng cách lướt đến ip wlan được cung cấp trên màn hình oled và bạn sẽ thấy trang web. Nhấn tìm thiết bị để xem bạn có thể tìm thấy thiết bị hay không. Nếu nó không hiển thị gì thì arduino của bạn không được kết nối tốt hoặc IP bạn đã chọn không nằm trong cùng dải với của PI.

Khi bạn nhìn thấy thiết bị, chỉ cần nhấn thiết lập. Trong menu cài đặt, bạn có thể di chuyển tời bằng cách sử dụng các mũi tên và kiểm tra xem vị trí bắt đầu và kết thúc của nó có chính xác hay không bằng thanh trượt.

Đảm bảo rằng bộ điều khiển của bạn cũng được cắm vào tấm chắn và IP của nó nằm trong phạm vi của PI và arduino.

Đó là nó!

Đề xuất: