Sadržaj:

Art-Net kontrolirano vitlo: 6 koraka
Art-Net kontrolirano vitlo: 6 koraka
Anonim
Art-Net kontrolirano vitlo
Art-Net kontrolirano vitlo

Pozdrav svima, u ovom uputstvu ću vam objasniti kako sam stvorio svoje vitlo s umjetničkom mrežom. "Šta si ti?" čujem da pitate, pa dozvolite mi da objasnim vrlo brzo. Prije nekoliko godina priredili smo zabavu s lokalnom kućom mladih, a kao scenografiju imali smo ideju da napravimo pokretni krov.

Sa 9 vitla (takels) podigli smo ogromnu bijelu tkaninu i kroz protokol dmx smo ih kontrolirali. Ali u to vrijeme vitla smo koristili tamo gdje je kontrolirano 3 faze. Dakle, da bismo išli gore -dolje morali smo stvoriti sistem releja koji kontrolira centralni Arduino mega koji je kontroliran pomoću dmx -a. Releji sa preklopnim naponima 230V i 12 ampera.

Da bismo to rekli razumljivijim riječima, morali smo stvoriti ogromnu zbrku žica i releja koja je bila super nestabilna, nepouzdana i zapravo prilično opasna.

Pa smo pomislili da mora postojati bolji način za to. Počeli smo razmišljati i došli smo do zaključka da bi najbolji način za to bio modularni sistem vitla, kontroliran preko Art-Net protokola, pa će nam trebati samo izvor napona i Ethernet kabel.

Dakle, upravo sam to stvorio i pokušat ću vam objasniti kako sam to učinio. Cijelo postavljanje oslanja se na maline pi koji kontrolira proces postavljanja. Jednu postavku koju kontrola daje laganom računaru (Chamsys, itd.) Koji će od tada nadalje kontrolirati vitla.

Pretpostavljam da imate osnovno znanje o pythonu, arduinu i maline pi aswellu kao i razumijevanje o protokolu art-net i kontrolerima.

Supplies

Šta će vam trebati:

  • Malina pi
  • Arduino
  • Arduino Ethernet štit
  • Arduino motorni štit
  • Bilo koji OLED ekran
  • ethernet kabel
  • ethernet prekidač
  • DC motor sa ugrađenim enkoderom

Korak 1: Postavljanje Raspberry Pi

U redu, način na koji će ovo funkcionirati je da će malina pi imati Apache i MariaDB server. Apache server će ugostiti web stranicu, MariaDB će čuvati bazu podataka u koju ćemo pohraniti podatke vitla.

Neću vas voditi kroz cijeli postupak postavljanja pi s ssh -om, ako niste upoznati, evo dobrog vodiča.

Dakle, prvo ćemo provjeriti je li malina pi sve postavljena, u vašem terminalu:

Da instalirate apache

sudo apt install apache2 -y

Za instaliranje mariaDB

sudo apt-get install mariadb-server

Ovo su sve python ekstenzije koje će nam trebati

pip3 instalirajte mysql-connector-python

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

Za oled ekran potreban nam je malo teži postupak postavljanja koji se može pronaći ovdje.

Ok, pi je sve gotovo!

Korak 2: Razumijevanje kako će instalacija funkcionirati

Dakle, način na koji želite postaviti vitlo je dajući mu početni i krajnji položaj. Bit će mu dodijeljen određeni kanal, a s ovim kanalom moći ćete se kretati samo između odabrane statističke i krajnje pozicije.

Da biste odabrali ovu poziciju, morat ćete pomaknuti vitlo do njih, nakon što dođete tamo, okrenuti ćete određeni kanal na vrijednost 56. Kad ovaj kanal dosegne tu vrijednost, znat će da je to njegov krajnji početni / krajnji položaj, ako se treba pomaknuti gore ili dolje ili ako treba promijeniti vrijednosti artneta. Pomicanje vitla također se vrši postavljanjem određenog kanala na 56. "A zašto 56" čujem da se pitate, pa morao sam nešto izabrati:).

Položaj se izračunava preko davača koji se nalazi na istosmjernom motoru.

Korak 3: Pozadina Pi -a

Pozadina Pi -a
Pozadina Pi -a

Pozadinu sistema možete pronaći na mom githubu. Napisao sam svoju biblioteku za protokol art-net, pa je slobodno koristite. Neću vas voditi sve po red, ali daću vam širu sliku svega toga.

Kod pokreće flask server koji komunicira sa apache serverom koji radi na pi. Koristi modul utičnice-utičnice za slanje i primanje podataka na sučelje. Art-net lib koristi socket modul iz pythona za slanje UDP paketa na i sa arduina.

Svaka metoda koja počinje s @socketio.on ('F2B _ ***') čeka na poziv F2B sa sučelja. Nakon što ga primi, izvršit će odgovarajuću radnju. Bilo da šaljete artnet komandos ili uzimate podatke iz baze podataka i šaljete ih naprijed.

Metoda oled_show_info () koristi se za prikaz IP -a ip -a (i na wlan i na ethernet interfejsu).

pa pokrenite kod pomoću

python3 app.py

Korak 4: Prednji dio Pi -a

Frontend of the Pi
Frontend of the Pi

Da biste mogli urediti prednji dio pi, prvo morate sebi omogućiti pristup direktoriju/var/www/html/. Ovdje apache preuzima datoteke za prikaz na svojoj web stranici. Da biste dobili pristup, izvršite:

sudo chmod 777/var/www/html/

Sada je sve gotovo, nabavite kod za sučelje mog github -a i postavite ga u/var/www/html/direktorij.

Frontend koristi isti princip kao i pozadina, ali sada šalje naredbe F2B _ *** kada se pritisne dugme ili se pomjeri klizač.

I to je prednja strana gotova!

Korak 5: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Za korištenje arduina morat ćete koristiti ethernet štit i štitnik motora. Samo ih lagano gurnite na arduino. Pazite da ne gurnete štitnik motora toliko daleko do Ethernet štita ili ćete skratiti 2 pina motora na ethernet priključku!

Kod za arduino se takođe može naći na mom githubu. Otpremite datoteku artnet_winch.ino i sve bi trebalo biti dobro.

Provjerite jeste li definirali prave pinove na ispravne pinove vašeg motora. Igle za motorni štit se biraju s klinovima zaglavlja na vrhu štita. Ovi pinovi su odabrani u // --- konfiguraciji motora. Jednako kao i pinovi kodera koji moraju biti povezani s desnim pinovima arduina.

Također provjerite je li vaša MAC adresa štita ispravna. To se može pronaći na naljepnici ispod štita i urediti u MAC varijabli. IP koji koristite za pi mora biti u istom rasponu kao i PI, to se obično može pronaći na oleniranom ekranu.

Kod izgleda malo, ali nije tako teško za razumjeti. U osnovi, ethernet štit stalno čita udp pakete koji dolaze. Ako je taj paket Artnet paket, dekodira ga i od njega dobiva potrebne podatke. Različiti artnet paketi lijepo su opisani na web stranici Art-Net, pa ako vas zanima možete pročitati čime se sve oni bave.

Ako primi ArtPoll paket, odgovorit će s ArtPollReply. ovo se koristi u funkciji dodatnog opisa u pozadini za pronalaženje uređaja koji su na mreži.

Ako primi i ArtDMX paket, dekodirat će paket i koristiti date podatke za izvršavanje određenih naredbi za postavljanje ili pomicanje vitla u položaj.

Funkcija move_takel pretvara datu DMX vrijednost (između 0-255) u položaj između početne i krajnje pozicije (0 je kraj, a 255 početak). Ako položaj kodera nije jednak transformiranoj vrijednosti, vitlo će se pomicati gore/dolje ovisno o tome gdje se nalazite.

Radio sam na povratnoj petlji između PI -a i arduina kako bi mogao držati korak sa svojom pozicijom, ali mom arduinu je ponestalo memorije za pohranu programa:).

Montira sve

Za njegovu montažu motor sam pričvrstio na metalni držač i na njega stavio neku vrstu cijevi. Zatim sam samo pričvrstio kabel na cijev i upotrijebio smotuljak trake kao uteg. Ovo je vrlo osnovno i možete postati vrlo kreativni na način na koji ga želite montirati.

Korak 6: Povežite sve

Nakon što se sve arduino i pi postave, jednostavno priključite oba Ethernet kabela u prekidač i to bi trebalo biti to!

Možete ga testirati surfanjem do wlan ip -a danog na oled ekranu i trebali biste vidjeti web lokaciju. Pritisnite Pronađi uređaje da vidite možete li pronaći uređaj. Ako ne pokazuje ništa, vaš arduino nije dobro povezan ili IP koji ste odabrali nije u istom rasponu kao onaj PI -ja.

Kada vidite uređaj, samo pritisnite setup. U izborniku za postavljanje možete pomaknuti vitlo pomoću strelica i provjeriti jesu li početni i krajnji položaj ispravni pomoću klizača.

Uvjerite se da je vaš kontroler također priključen na štit i da li je njegov IP u rasponu od onog koji imaju PI i arduino.

To je to!

Preporučuje se: