Mündəricat:

Art-Net Nəzarətli Vinç: 6 Addım
Art-Net Nəzarətli Vinç: 6 Addım

Video: Art-Net Nəzarətli Vinç: 6 Addım

Video: Art-Net Nəzarətli Vinç: 6 Addım
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Iyun
Anonim
Art-Net Nəzarətli Vinç
Art-Net Nəzarətli Vinç

Hərkəsə salam, bu təlimatda sənət şəbəkəsi ilə idarə olunan vincimi necə yaratdığımı izah edəcəyəm. "Sən nə?" soruşduğunuzu eşidirəm, icazə verin çox tez izah edim. Bir neçə il əvvəl yerli gənclər evi ilə bir parti təşkil etdik və səhnə dizaynı olaraq hərəkətli bir dam hazırlamaq fikrimiz var idi.

9 vinçlə (nəhəng) nəhəng bir ağ parça qaldırdıq və dmx protokolu ilə onları idarə etdik. Amma o vaxt 3 fazanın idarə etdiyi vinçləri istifadə edirdik. Yuxarı və aşağı getmək üçün dmx istifadə edərək idarə olunan mərkəzi Arduino mega tərəfindən idarə olunan bir releis sistemi yaratmalı olduq. 230 V və 12 amperlik gərginliklərin keçdiyi yer.

Daha başa düşülən şəkildə desək, çox qeyri -sabit, etibarsız və əslində olduqca təhlükəli olan nəhəng bir tel və rele qarışığı yaratmalı olduq.

Bunun üçün daha yaxşı bir yol olduğunu düşündük. Düşünməyə başladıq və belə bir nəticəyə gəldik ki, bunun üçün ən yaxşı yol Art-Net protokolu ilə idarə olunan modullu vinçlər sistemi olacaq, buna görə yalnız bir gərginlik mənbəyinə və bir Ethernet kabelinə ehtiyacımız olacaq.

Məhz yaratdığım budur və bunu necə etdiyimi sizə izah etməyə çalışacağam. Bütün quraşdırma, quraşdırma prosesini idarə edən bir moruq pi -yə əsaslanır. Quraşdırma zamanı idarəetmə, vinçləri oradan idarə edəcək yüngül bir kompüterə (Chamsys və s.) Verir.

Art-net protokolu və nəzarətçiləri haqqında bir şey anlamaq üçün python, arduino və moruq pi aswel haqqında əsas biliklərə sahib olduğunuzu düşünürəm.

Təchizat

Nə lazımdır:

  • Moruq pi
  • Arduino
  • Arduino Ethernet qalxanı
  • Arduino motor qalxanı
  • İstənilən OLED ekran
  • Ethernet kabeli
  • Ethernet açarı
  • Enkoderi olan DC Motor

Addım 1: Raspberry Pi qurmaq

Tamam, buna görə moruq pi bir Apache və MariaDB serveri işləyəcək. Apache serveri veb saytı, MariaDB isə vinç məlumatlarını saxlayacağımız bir verilənlər bazası saxlamalıdır.

Ssh ilə pi qurma proseslərinin hamısını sizə izah etməyəcəyəm, əgər tanış deyilsinizsə, yaxşı bir dərslik.

Beləliklə, əvvəlcə moruq pi -nin terminal işinizdə hər şeyin qurulduğundan əmin olacağıq:

Apache qurmaq üçün

sudo apt install apache2 -y

MariaDB qurmaq üçün

sudo apt-get mariadb-server quraşdırın

Bunlar ehtiyacımız olan bütün python uzantılarıdır

pip3 mysql-connector-python qurun

pip3 flask-socketio pip3 flask-cors qurmaq pip3 gevent pip3 yüklemek gevent-websocket pip3 netifaces qurmaq

Oled ekran üçün burada tapa biləcəyimiz bir az daha çətin quraşdırma prosesinə ehtiyacımız var.

Tamam, hər şey bitdi!

Addım 2: Quraşdırmanın necə işləyəcəyini anlayın

Beləliklə, vincin necə qurulmasını istədiyiniz bir başlanğıc və son mövqe verərəkdir. Ona müəyyən bir kanal veriləcək və bu kanalla yalnız seçilmiş stat və son mövqe arasında hərəkət edə biləcəksiniz.

Bu mövqeyi seçmək üçün vinçləri onlara daşımalısınız, orada olduğunuzda müəyyən bir kanalı 56 dəyərinə çevirəcəksiniz. Bu dəqiq kanal bu dəyərə çatdıqda bunun onun son başlanğıc / son mövqeyi olduğunu biləcək., yuxarı və ya aşağı hərəkət etməsi və ya artnet dəyərlərini dəyişdirməsi lazımdırsa. Vinçin hərəkət etməsi də müəyyən bir kanalın 56 olaraq təyin edilməsi ilə həyata keçirilir. "Və niyə 56" deyə eşitdiyinizi eşidirəm, yaxşı bir şey seçməli oldum:).

Vəziyyət DC motorundakı kodlayıcı vasitəsilə hesablanır.

Addım 3: Pi arxa tərəfi

Pi arxa tərəfi
Pi arxa tərəfi

Sistemin arxa tərəfini githubumda tapa bilərsiniz. Art-net protokolu üçün öz kitabxanamı yazdım, istifadə etməkdən çekinmeyin. Səni hər şeyin sətirində gəzdirməyəcəyəm, amma sənə hər şeyin böyük şəklini verəcəyəm.

Kod, pi üzərində işləyən apache serveri ilə əlaqə quran bir balon serveri işləyir. Cəbhəyə məlumat göndərmək və almaq üçün qab-soket modulundan istifadə edir. Art-net lib, UDP paketlərini arduino-ya göndərmək üçün python-dan olan yuva modulundan istifadə edir.

@Socketio.on ('F2B _ ***') ilə başlayan hər bir üsul, ön ucdan bir F2B zəngi gözləyir. Qəbul edildikdən sonra müvafiq əməliyyatı yerinə yetirəcək. Bir artnet komando göndərmək və ya DB -dən məlumat almaq və yenidən cəbhəyə göndərmək olsun.

Oled_show_info () metodu ipin ipini göstərmək üçün istifadə olunur (Həm wlan, həm də Ethernet interfeyslərində).

beləliklə kodu yalnız işlədin

python3 app.py

Addım 4: Pi -nin ön hissəsi

Pi -nin ön hissəsi
Pi -nin ön hissəsi

Pi -nin ön hissəsini redaktə etmək üçün əvvəlcə/var/www/html/qovluğuna daxil olmalısınız. Apache'nin fayllarını veb saytında göstərmək üçün əldə etdiyi yer budur. Girişləri həyata keçirmək üçün:

sudo chmod 777/var/www/html/

İndi hər şey bitdi, github -un ön ucunun kodunu alın və/var/www/html/qovluğuna yerləşdirin.

Ön tərəf, arxa tərəfdəki kimi eyni prinsipdən istifadə edir, lakin indi düyməyə basıldıqda və ya sürüşdürüldükdə F2B _ *** əmrlərini göndərir.

Və bu işin sonu tamamlandı!

Addım 5: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Arduino istifadə etmək üçün Ethernet və motor qalxanından istifadə etməlisiniz. Sadəcə onları arduinoya itələyin. Motor qalxanını ethernet qalxanına çox itələmədiyinizə əmin olun, yoxsa ethernet bağlantısındakı 2 motor sancağını qısaldırsınız!

Arduino kodu githubumda da tapa bilərsiniz. Artnet_winch.ino faylını yükləyin və hamısı yaxşı olmalıdır.

Mühərrikin doğru sancaqlarına doğru pinləri təyin etdiyinizə əmin olun. Mühərrik sancaqları başlığın başları qalxanın üstündə seçilərək seçilir. Bu sancaqlar // --- motor konfiqurasiyası altında seçilir. Arduinonun sağ pinlərinə bağlanması lazım olan kodlayıcı pinləri kimi.

Həm də qalxanın MAC ünvanınızın düzgün olduğundan əmin olun. Bu qalxanın altındakı bir etiketdə tapıla bilər və MAC dəyişənində düzəldilə bilər. Pi üçün istifadə etdiyiniz IP -nin PI ilə eyni aralığa sahib olması lazımdır, bu ümumiyyətlə normal ekranda tapıla bilər.

Kod bir az çox görünür, amma başa düşmək o qədər də çətin deyil. Ethernet qalxanı daim daxil olan udp paketlərini oxuyur. Bu paket bir Artnet paketidirsə, onu deşifr edir və ondan lazım olan məlumatı alır. Fərqli artnet paketləri Art-Net saytında gözəl təsvir olunmuşdur, buna görə də maraqlandığınız təqdirdə hamısının etdiklərini oxuya bilərsiniz.

Bir ArtPoll paketi alarsa, ArtPollReply ilə cavab verər. bu, şəbəkədə hansı cihazların olduğunu tapmaq üçün arxa tərəfdəki çağırış funksiyasında istifadə olunur.

Alsa və ArtDMX paketi alarsa, paketi deşifr edər və verilən məlumatlardan istifadə edərək müəyyən quraşdırma əmrlərini yerinə yetirər və ya vinci mövqedə hərəkət etdirər.

Move_takel funksiyası verilən DMX dəyərini (0-255 arasında) başlanğıc və son mövqe arasındakı mövqeyə çevirir (0 son və 255 başlanğıc). Enkoderin mövqeyi çevrilmiş dəyərə bərabər deyilsə, vint olduğunuz yerdən asılı olaraq yuxarı/aşağı hərəkət edəcək.

PI və arduino arasındakı mövqe ilə ayaqlaşa bilməsi üçün geribildirim döngəsi üzərində işləyirdim, amma arduino proqram saxlamaq üçün yaddaşımdan çıxdı:).

Hamısının montajı

Quraşdırmaq üçün mühərriki metal bir tutucuya bağladım və üstünə bir növ boru qoydum. Sonra boruya bir kordon bağlayın və çəki olaraq bir rulon lent istifadə edin. Bu çox sadədir və montaj etmək istədiyiniz şəkildə çox yaradıcı ola bilərsiniz.

Addım 6: Hamısını birləşdirin

Arduino və pi bütün qurulduqdan sonra keçidinizə hər iki ethernet kabelini qoşun və bu belə olmalıdır!

Oled ekranda verilən wlan ip -ə sörf edərək test edə bilərsiniz və saytı görməlisiniz. Cihazı tapa biləcəyinizi görmək üçün Cihazları tap düyməsini basın. Heç bir şey göstərmirsə, arduino yaxşı bağlı deyil və ya seçdiyiniz IP PI ilə eyni aralıqda deyil.

Cihazı gördükdən sonra yalnız quraşdırma düyməsini basın. Quraşdırma menyusunda, vintləri oxlardan istifadə edərək hərəkət etdirə bilərsiniz və sürüşmə ilə başlanğıc və son mövqelərinin düzgün olub olmadığını yoxlaya bilərsiniz.

Nəzarətçinizin də qalxana qoşulduğundan və IP -nin PI və arduino ilə eyni olduğundan əmin olun.

Bu belədir!

Tövsiyə: