Mundarija:

Art-Net tomonidan boshqariladigan vinch: 6 qadam
Art-Net tomonidan boshqariladigan vinch: 6 qadam

Video: Art-Net tomonidan boshqariladigan vinch: 6 qadam

Video: Art-Net tomonidan boshqariladigan vinch: 6 qadam
Video: ДЕМОН ВЫШЕЛ ИЗ КАРТИНЫ ДЖАКОНДЫ МОНА ЛИЗА 2024, Iyun
Anonim
Art-Net tomonidan boshqariladigan vinch
Art-Net tomonidan boshqariladigan vinch

Hammaga salom, men bu yo'riqnomada men art-net bilan boshqariladigan vintni qanday yaratganimni tushuntiraman. - Sizniki nima? Siz so'raganingizni eshitaman, juda tez tushuntirib beray. Bir necha yil oldin biz mahalliy yoshlar uyi bilan ziyofat uyushtirdik va sahna dizayni sifatida biz harakatlanuvchi tom yasash g'oyasini oldik.

9 ta vint yordamida biz ulkan oq matoni ko'tardik va dmx protokoli orqali biz ularni nazorat qildik. Ammo o'sha paytda biz 3 -fazani boshqaradigan vintlarni ishlatardik. Shunday qilib, yuqoriga va pastga tushish uchun biz dmx yordamida boshqariladigan markaziy Arduino mega tomonidan boshqariladigan relelar tizimini yaratishimiz kerak edi. 230 V va 12 amperli kuchlanishli o'tish joylari.

Tushunarli qilib aytganda, biz juda beqaror, ishonchsiz va juda xavfli bo'lgan ulkan simlar va ulanishlarni yaratishimiz kerak edi.

Shunday qilib, biz buni qilishning eng yaxshi usuli bo'lishi kerak deb o'yladik. Biz o'ylashni boshladik va shunday xulosaga keldikki, buning eng yaxshi usuli-Art-Net protokoli orqali boshqariladigan modulli vintlar tizimi, shuning uchun bizga faqat kuchlanish manbai va chekilgan kabel kerak bo'ladi.

Shunday qilib, men aynan shu narsani yaratdim va men sizga buni qanday qilganimni tushuntirishga harakat qilaman. Butun sozlash sozlash jarayonini boshqaruvchi malina pi ga tayanadi. Boshqaruv sozlamalari shu paytdan boshlab vintlarni boshqaradigan engil kompyuterga (Chamsys va hk) topshiriladi.

Siz art-net protokoli va tekshirgichlar haqida biror narsa tushunish uchun siz python, arduino va malina pi aswel haqida asosiy bilimlarga egasiz deb o'ylayman.

Ta'minotlar

Sizga nima kerak:

  • Malinali pi
  • Arduino
  • Arduino Ethernet qalqoni
  • Arduino dvigatel qalqoni
  • Har qanday OLED ekran
  • chekilgan kabel
  • chekilgan kalit
  • Enkoder o'rnatilgan DC motor

1 -qadam: Raspberry Pi -ni sozlash

OK, bu qanday ishlaydi, malina pi Apache va MariaDB serverini ishga tushiradi. Apache serveri veb -saytni joylashtirishi kerak, MariaDB - biz vinçlar ma'lumotlarini saqlaydigan ma'lumotlar bazasini saqlashimiz kerak.

Men ssh bilan pi o'rnatish jarayonlari davomida sizga ko'rsatma bermayman, agar sizga notanish bo'lsa, bu erda yaxshi qo'llanma.

Shunday qilib, birinchi navbatda, malinali pi sizning terminal ishingizda sozlanganligiga ishonch hosil qilamiz:

Apache -ni o'rnatish uchun

sudo apt install apache2 -y

MariaDB o'rnatish uchun

sudo apt-get o'rnatish mariadb-server

Bu bizga kerak bo'lgan barcha python kengaytmalari

pip3 mysql-connector-python-ni o'rnating

pip3 flask-socketio pip3 flask-cors o'rnatish pip3 gevent pip3 ni o'rnatish gevent-websocket pip3 netifaces-ni o'rnatish

Yopiq displey uchun bizga bu erda topish mumkin bo'lgan biroz murakkab sozlash jarayoni kerak.

OK, bu hamma bajarildi!

2 -qadam: O'rnatish qanday ishlashini tushunish

Vintni qanday o'rnatishni xohlaysiz, unga boshlang'ich va oxirgi pozitsiyani berish kerak. Unga ma'lum kanal tayinlanadi va shu kanal yordamida siz faqat tanlangan stat va oxirgi pozitsiya o'rtasida harakat qila olasiz.

Bu pozitsiyani tanlash uchun siz vintni ularga ko'chirishingiz kerak bo'ladi, u erda bo'lganingizda siz ma'lum bir kanalni 56 ga aylantirasiz. Bu aniq kanal shu qiymatga yetganda, bu uning boshlanish / tugash joyi ekanligini biladi., agar u yuqoriga yoki pastga siljishi kerak bo'lsa yoki artnet qiymatlarini o'zgartirishi kerak bo'lsa. Vintni siljitish ham ma'lum kanalni 56 ga o'rnatish orqali amalga oshiriladi. "Va nima uchun 56", deb hayron bo'lyapsiz, men biror narsani tanlashim kerak edi:).

Joylashtirish DC motoridagi kodlovchi orqali hisoblanadi.

3 -qadam: Pi -ning orqa qismi

Pi orqa qismi
Pi orqa qismi

Tizimning orqa qismini mening github -da topish mumkin. Men art-net protokoli uchun o'z kutubxonamni yozdim, shuning uchun uni ishlatishdan xursand bo'ling. Men sizga hamma narsani ketma -ket ko'rsata olmayman, lekin men sizga bularning barchasini tasvirlab beraman.

Kod pi -da ishlaydigan apache serveri bilan bog'lanadigan kolba serverini boshqaradi. Old kolonga ma'lumotlarni yuborish va qabul qilish uchun kolba-soketio modulidan foydalaniladi. Art-net lib, UDP paketlarini arduino-ga yuborish uchun python-dan soket modulidan foydalanadi.

@Socketio.on ('F2B _ ***') bilan boshlanadigan har bir usul old tomondan F2B chaqiruvini kutadi. Qabul qilinganidan keyin u tegishli harakatni bajaradi. Bu artnet komandosini yuborish yoki ma'lumotlar bazasidan ma'lumot olish va uni old tomonga qaytarish.

Oled_show_info () usuli ipning ipini ko'rsatish uchun ishlatiladi (wlan va chekilgan interfeyslarda ham).

shuning uchun kodni ishga tushiring

python3 app.py

4 -qadam: Pi old qismi

Pi old qismi
Pi old qismi

Pi -ning oldingi qismini tahrir qilish uchun avval siz/var/www/html/katalogiga kirishingiz kerak bo'ladi. Bu erda apache o'z veb -saytida ko'rsatiladigan fayllarni oladi. Kirishni amalga oshirish uchun:

sudo chmod 777/var/www/html/

Hammasi tugadi, mening github -ning old qismi uchun kodni oling va uni/var/www/html/katalogiga joylashtiring.

Old panel orqa panel bilan bir xil printsipdan foydalanadi, lekin endi tugma bosilganda yoki slayder siljitilganda F2B _ *** buyruqlarini yuboradi.

Va bu frontend tugadi!

5 -qadam: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Arduino -dan foydalanish uchun siz chekilgan qalqon va dvigatel qalqonidan foydalanishingiz kerak. Arduino -ga ularni sekin suring. Dvigatel qalqonini ethernet qalqoniga uzoqqa surmasligingizga ishonch hosil qiling, aks holda chekilgan tarmoqqa ulangan ikkita dvigatel pinini qisqartirasiz!

Arduino kodini mening github -da ham topish mumkin. Artnet_winch.ino faylini yuklang va hammasi yaxshi bo'lishi kerak.

Dvigatelning to'g'ri pinlariga to'g'ri pimlarni aniqlaganingizga ishonch hosil qiling. Dvigatel qalqonlari qalqonning ustki qismidagi pinlar bilan tanlanadi. Bu pinlar // --- motor konfiguratsiyasi ostida tanlanadi. Arduino o'ng pimlariga ulanishi kerak bo'lgan kodlovchi pinlari kabi.

Qalqonning MAC manzili to'g'ri ekanligiga ishonch hosil qiling. Buni qalqon ostidagi stikerda topish mumkin va MAC o'zgaruvchisida tahrir qilish mumkin. Siz pi uchun ishlatadigan IP PI bilan bir xil diapazonda bo'lishi kerak, uni odatda ekranda topishingiz mumkin.

Kod biroz ko'rinadi, lekin tushunish qiyin emas. Ethernet qalqoni doimo kiruvchi udp paketlarini o'qiydi. Agar bu paket Artnet bo'lsa, u uni hal qiladi va undan kerakli ma'lumotlarni oladi. Artnet-ning turli xil paketlari Art-Net veb-saytida yaxshi tasvirlangan, shuning uchun agar siz ularni qiziqtirsangiz, nima qilayotganlarini o'qishingiz mumkin.

Agar u ArtPoll paketini olsa, u ArtPollReply bilan javob beradi. Bu tarmoqdagi qaysi qurilmalar borligini aniqlash uchun orqa qismdagi chaqiruv funktsiyasida ishlatiladi.

Agar u ArtDMX paketini qabul qilsa, u paketni dekodlaydi va berilgan ma'lumotlardan foydalanib, ma'lum sozlash buyruqlarini bajaradi yoki vintni joyiga siljitadi.

Move_takel funktsiyasi berilgan DMX qiymatini (0-255 oralig'ida) boshlanish va tugash pozitsiyasi orasidagi pozitsiyaga o'zgartiradi (0-oxir, 255-boshlanish). Agar enkoderning o'rni o'zgartirilgan qiymatga teng bo'lmasa, vint qayerda ekanligingizga qarab yuqoriga/pastga siljiydi.

Men o'z pozitsiyasini saqlab qolish uchun PI va arduino o'rtasidagi teskari aloqa ustida ishlayapman, lekin mening arduino dasturni saqlash uchun xotiradan chiqib ketdi:).

Hammasini o'rnatish

O'rnatish uchun men dvigatelni metall ushlagichga uladim va uning ustiga qandaydir quvur qo'ydim. Keyin naychaga simni mahkamlang va og'irlik sifatida rulonli lentani ishlating. Bu juda oddiy va siz uni qanday o'rnatishni xohlasangiz, juda ijodiy bo'lishingiz mumkin.

6 -qadam: Hammasini ulash

Arduino va pi o'rnatilgandan so'ng, kalitga ikkala chekilgan kabelni ulang va shunday bo'lishi kerak!

Siz uni ekranda ko'rsatilgan wlan ip -ga bemalol sinab ko'rishingiz mumkin va siz saytni ko'rishingiz kerak. Qurilmani topa olasizmi yoki yo'qligini bilish uchun "Qurilmalarni topish" tugmasini bosing. Agar u hech narsa ko'rsatmasa, sizning arduino yaxshi ulanmagan yoki siz tanlagan IP PI bilan bir xil emas.

Qurilmani ko'rganingizdan so'ng, faqat sozlash tugmasini bosing. O'rnatish menyusida siz vintni o'qlar yordamida siljitishingiz mumkin va slayder yordamida uning boshlang'ich va oxirgi holatlari to'g'riligini tekshirishingiz mumkin.

Tekshirgichingiz ham qalqonga ulanganligiga ishonch hosil qiling va uning IP -si PI va arduino diapazonida.

Bo'ldi shu!

Tavsiya: