Sadržaj:

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

Video: Art-Net kontrolirano vitlo: 6 koraka

Video: Art-Net kontrolirano vitlo: 6 koraka
Video: Кварцевый ламинат на пол. Все этапы. ПЕРЕДЕЛКА ХРУЩЕВКИ от А до Я #34 2024, Lipanj
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. "Tvoje što?" čujem da pitate, pa dopustite mi da vrlo brzo objasnim. Prije nekoliko godina priredili smo zabavu s lokalnom kućom mladih, a kao scenografiju imali smo ideju napraviti pokretni krov.

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

Da bismo to rekli razumljivijim izrazima, morali smo stvoriti golemi nered žica i releja koji je bio super nestabilan, nepouzdan i zapravo prilično opasan.

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 sustav vitla, kontroliran preko protokola Art-Net, 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 malinovo pi koje kontrolira postupak postavljanja. Jednu postavku koju kontrola daje laganom računalu (Chamsys itd.) Koje će od tada nadalje kontrolirati vitla.

Pretpostavljam da imate osnovno znanje o pythonu, arduinu i malini pi aswellu kao da razumijete nešto o protokolu art-net i kontrolerima.

Pribor

Što će vam trebati:

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

Korak 1: Postavljanje Raspberry Pi

U redu, način na koji će ovo funkcionirati je da će malina pi izvoditi Apache i MariaDB poslužitelj. Apache poslužitelj ć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:

Za instaliranje apachea

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-konektor-python

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

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

Ok, pi je sve gotovo!

Korak 2: Razumijevanje načina postavljanja

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 tim kanalom moći ćete se kretati samo između odabranog stanja i krajnje pozicije.

Da biste odabrali ovaj položaj, 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 pomoću davača koji se nalazi na istosmjernom motoru.

Korak 3: Pozadina Pi -a

Pozadina Pi -a
Pozadina Pi -a

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

Kod pokreće poslužitelj flask koji komunicira s apache poslužiteljem 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 s arduina.

Svaka metoda koja počinje s @socketio.on ('F2B _ ***') čeka na poziv F2B s 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 sučelju).

pa samo pokrenite kod sa

python3 app.py

Korak 4: Prednji dio Pi -a

Frontend Pi
Frontend Pi

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

sudo chmod 777/var/www/html/

Sada je sve gotovo, nabavite kôd za sučelje mog githuba i postavite ga u/var/www/html/direktorij.

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

I to je sučelje učinjeno!

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 motorni štitnik daleko na ethernet štit ili ćete skratiti 2 pina motora na ethernet priključku!

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

Provjerite jeste li definirali prave pinove na ispravne pinove vašeg motora. Igle motornog štita biraju se s iglama zaglavlja na vrhu štita. Ove pinove odabiremo u // --- konfiguraciji motora. Jednako kao i pinove kodera koje je potrebno spojiti na desne pinove arduina.

Također provjerite je li vaša MAC adresa štita točna. 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 naći na oled zaslonu.

Kôd izgleda malo, ali nije tako teško razumljiv. 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 upotrijebiti navedene podatke za izvršavanje određenih naredbi za postavljanje ili pomicanje vitla u položaj.

Funkcija move_takel pretvara zadanu vrijednost DMX (između 0-255) u položaj između početnog i krajnjeg položaja (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 mjesto. 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 je njegov IP u rasponu od onog PI i arduina.

To je to!

Preporučeni: