Kazalo:

Vitel s krmiljenjem Art-Net: 6 korakov
Vitel s krmiljenjem Art-Net: 6 korakov

Video: Vitel s krmiljenjem Art-Net: 6 korakov

Video: Vitel s krmiljenjem Art-Net: 6 korakov
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Junij
Anonim
Vitel s krmiljenjem Art-Net
Vitel s krmiljenjem Art-Net

Pozdravljeni vsi, v tem navodilu bom razložil, kako sem ustvaril svoj vitl, ki ga upravlja umetniška mreža. "Ti kaj?" slišim, da sprašujete, pa naj hitro razložim. Pred nekaj leti smo pripravili zabavo z lokalno mladinsko hišo in kot scenografijo smo imeli idejo, da bi naredili premično streho.

Z 9 vitli smo vzeli ogromno belo krpo in jih po protokolu dmx nadzorovali. Toda takrat smo uporabljali vitle, kjer je bilo krmiljeno trifazno. Da bi lahko šli gor in dol, smo morali ustvariti sistem relejev, ki ga nadzoruje osrednji Arduino mega, ki je bil nadzorovan z uporabo dmx. Releji, kjer so preklopne napetosti 230V in 12 amperov.

Če povemo bolj razumljivo, smo morali ustvariti ogromno neredov žic in relejev, ki so bili zelo nestabilni, nezanesljivi in pravzaprav precej nevarni.

Zato smo si mislili, da mora biti to boljši način. Začeli smo razmišljati in prišli do zaključka, da bi bil to najboljši način z modularnim sistemom vitlov, nadzorovanim po protokolu Art-Net, zato potrebujemo le vir napetosti in ethernetni kabel.

Točno to sem ustvaril in poskušal vam bom razložiti, kako sem to naredil. Celotna nastavitev temelji na maline pi, ki nadzoruje postopek namestitve. V primeru svoje nastavitve nadzor predaja lahkemu računalniku (Chamsys itd.), Ki bo od takrat naprej upravljal vitle.

Predvidevam, da imate osnovno znanje o pythonu, arduinu in malini pi aswel, kot da razumete nekaj o protokolu art-net in krmilnikih.

Zaloge

Kaj potrebujete:

  • Malina pi
  • Arduino
  • Arduino Ethernet ščit
  • Arduino motorni ščit
  • Vsak OLED zaslon
  • ethernetni kabel
  • ethernet stikalo
  • DC motor z nadgradnjo dajalnika

1. korak: Nastavitev Raspberry Pi

Ok, tako bo to delovalo tako, da bo malina pi izvajala strežnik Apache in MariaDB. Strežnik apache bo gostil spletno mesto, MariaDB pa bo hranil bazo podatkov, kjer bomo shranili podatke vitlov.

Ne bom vas popeljal skozi celotne postopke nastavitve pi s ssh, če niste seznanjeni, je tukaj dobra vadnica.

Najprej se bomo prepričali, da je malina pi v vašem terminalnem zagonu nastavljena:

Če želite namestiti apache

sudo apt namestite apache2 -y

Za namestitev mariaDB

sudo apt-get install mariadb-server

To so vse razširitve pythona, ki jih potrebujemo

pip3 namestite mysql-connector-python

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

Za oled zaslon potrebujemo nekoliko težji postopek nastavitve, ki ga najdete tukaj.

Ok, pi je vse narejeno!

2. korak: Razumevanje delovanja nastavitve

Torej želite nastaviti vitlo tako, da mu določite začetni in končni položaj. Dodeljen mu bo določen kanal in s tem kanalom se boste lahko premikali le med izbranim stanjem in končnim položajem.

Če želite izbrati ta položaj, morate premakniti vitlo do njih, ko boste tam, boste določen kanal obrnili na vrednost 56. Ko ta kanal doseže to vrednost, bo vedel, da je to njegov končni začetni / končni položaj., če se mora premakniti navzgor ali navzdol ali če mora spremeniti vrednosti artneta. Premikanje vitla se izvede tudi tako, da določen kanal nastavite na 56. "In zakaj 56" slišim, da se sprašujete, pa sem moral nekaj izbrati:).

Položaj se izračuna preko dajalnika, ki je na enosmernem motorju.

Korak: Zadnji del Pi

Zaledje Pi
Zaledje Pi

Zaledje sistema lahko najdete na mojem githubu. Za protokol art-net sem napisal svojo knjižnico, zato jo lahko uporabite. Ne bom vas popeljal skozi vse po vrsti, vendar vam bom predstavil celotno sliko o vsem tem.

Koda zažene strežniški strežnik, ki komunicira s strežnikom apache, ki deluje na pi. Za pošiljanje in sprejemanje podatkov na prednjo stran uporablja modul bučke-vtičnice. Lib art-net uporablja vtični modul iz pythona za pošiljanje paketov UDP v in iz arduina.

Vsaka metoda, ki se začne z @socketio.on ('F2B _ ***'), čaka na klic F2B s prednje strani. Ko ga prejme, izvede ustrezno dejanje. Pa naj bo to pošiljanje komandosa artnet ali pridobivanje podatkov iz zbirke podatkov in njihovo pošiljanje nazaj.

Metoda oled_show_info () se uporablja za prikaz ip ip (tako na vmesnikih wlan kot ethernet).

zato samo zaženite kodo z

python3 app.py

4. korak: Frontend Pi

Frontend Pi
Frontend Pi

Če želite urediti sprednjo stran pi, morate najprej omogočiti dostop do imenika/var/www/html/. Tu apache dobi svoje datoteke za prikaz na svojem spletnem mestu. Za dostop do dostopa izvedite:

sudo chmod 777/var/www/html/

Zdaj je vse končano, dobite kodo za prednjo stran mojega githuba in jo postavite v imenik/var/www/html/.

Frontend uporablja isto načelo kot zaledje, zdaj pa pošlje ukaze F2B _ ***, ko pritisnete gumb ali premaknete drsnik.

In to je prednja stran narejena!

5. korak: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Za uporabo arduina morate uporabiti ethernetni ščit in motorni ščit. Samo nežno jih potisnite na arduino. Pazite, da ščitnika motorja ne potisnete daleč na ethernetni ščit, sicer boste kratki 2 motorna zatiča na ethernetni povezavi!

Kodo za arduino lahko najdete tudi na mojem githubu. Naložite datoteko artnet_winch.ino in vse bi moralo biti dobro.

Prepričajte se, da ste pravilno določili ustrezne zatiče motorja. Zatiči motornega ščita so izbrani z zatiči za glavo na vrhu ščita. Ti zatiči so izbrani v // --- konfiguraciji motorja. Prav tako kot zatirji dajalnika, ki jih je treba povezati z desnimi zatiči arduina.

Prepričajte se tudi, da je vaš MAC naslov ščita pravilen. To lahko najdete na nalepki pod ščitom in jo uredite v spremenljivki MAC. IP, ki ga uporabljate za pi, mora biti v istem obsegu kot PI, običajno ga lahko najdete na oljenem zaslonu.

Koda je nekoliko videti, vendar je ni tako težko razumeti. V bistvu ethernetni ščit nenehno bere prihajajoče udp pakete. Če je ta paket Artnet paket, ga dekodira in od njega dobi potrebne podatke. Različni paketi artnet so lepo opisani na spletnem mestu Art-Net, zato, če vas zanima, lahko preberete, kaj vse počnejo.

Če prejme paket ArtPoll, bo odgovoril z ArtPollReply. to se uporablja v funkciji oblačka v zaledju za iskanje, katere naprave so v omrežju.

Če prejme in paket ArtDMX, bo paket dekodiral in uporabil podane podatke za izvajanje določenih nastavitvenih ukazov ali premikanje vitla na mestu.

Funkcija move_takel pretvori dano vrednost DMX (med 0-255) v položaj med začetnim in končnim položajem (0 je konec in 255 začetek). Če položaj dajalnika ni enak spremenjeni vrednosti, se bo vitlo premaknilo navzgor/navzdol, odvisno od tega, kje se nahajate.

Delal sem na povratni zanki med PI in arduinom, da bi lahko sledil svojemu položaju, vendar je mojemu arduinu zmanjkalo pomnilnika za shranjevanje programa:).

Namestitev vsega

Za namestitev sem motor pritrdil na kovinsko držalo in nanj položil nekakšno cev. Nato sem na cev pritrdil vrvico in kot utež uporabil zvitek traku. To je zelo osnovno in lahko postanete zelo ustvarjalni na način, na katerega ga želite namestiti.

6. korak: Povežite vse

Ko sta arduino in pi nastavljena, preprosto priključite oba ethernetna kabla v stikalo in to bi moralo biti to!

Lahko ga preizkusite tako, da brskate po IP -ju wlan, prikazanem na olednem zaslonu, in morali bi videti spletno mesto. Pritisnite Najdi naprave, da preverite, ali lahko najdete napravo. Če ne prikazuje ničesar, potem vaš arduino ni dobro povezan ali IP, ki ste ga izbrali, ni v istem območju kot IP.

Ko vidite napravo, samo pritisnite setup. V nastavitvenem meniju lahko s puščicami premaknete vitlo in z drsnikom preizkusite, ali sta začetni in končni položaj pravilna.

Prepričajte se, da je tudi vaš krmilnik priključen na ščit in da je njegov IP v dosegu PI in arduino.

To je to!

Priporočena: