Obsah:

Art-Net ovládaný naviják: 6 kroků
Art-Net ovládaný naviják: 6 kroků

Video: Art-Net ovládaný naviják: 6 kroků

Video: Art-Net ovládaný naviják: 6 kroků
Video: Гидроизоляция санузла, уклон поддона. ПЕРЕДЕЛКА ХРУЩЕВКИ от А до Я. #23 2024, Září
Anonim
Art-Net ovládaný naviják
Art-Net ovládaný naviják

Ahoj všichni, v tomto návodu vysvětlím, jak jsem vytvořil svůj naviják ovládaný pomocí Art-Net. "Tvé co?" slyšel jsem, že se ptáte, dovolte mi to velmi rychle vysvětlit. Před několika lety jsme uspořádali večírek s místním domem mládeže a jako scénografii nás napadlo vytvořit pohyblivou střechu.

S 9 navijáky (takels) jsme zvedli obří bílou látku a pomocí protokolu dmx jsme je ovládali. Ale v té době jsme používali navijáky, kde řídila 3fáze. Aby to šlo nahoru a dolů, museli jsme vytvořit systém relé ovládaných centrálním mega Arduino, které bylo ovládáno pomocí dmx. Relé spíná napětí 230 V a 12 ampérů.

Abychom to řekli srozumitelněji, museli jsme vytvořit obrovský nepořádek drátů a relé, který byl ve skutečnosti velmi nestabilní, nespolehlivý a docela nebezpečný.

Proto jsme si řekli, že k tomu musí existovat lepší způsob. Začali jsme přemýšlet a dospěli jsme k závěru, že nejlepší způsob, jak toho dosáhnout, bude prostřednictvím modulárního systému navijáků ovládaných protokolem Art-Net, takže budeme potřebovat pouze zdroj napětí a ethernetový kabel.

Přesně to jsem vytvořil a pokusím se vám vysvětlit, jak jsem to udělal. Celé nastavení spoléhá na malinový pi, který řídí proces instalace. Při jeho nastavení se ovládání předává světelnému počítači (Chamsys atd.), Který odtamtud bude ovládat navijáky.

Předpokládám, že máte základní znalosti o Pythonu, Arduinu a Raspberry Pi Aswel, abyste porozuměli něčemu o protokolu a ovladačích art-net.

Zásoby

Co budete potřebovat:

  • Malina pi
  • Arduino
  • Ethernetový štít Arduino
  • Štít motoru Arduino
  • Jakákoli obrazovka OLED
  • ethernetový kabel
  • ethernetový přepínač
  • Stejnosměrný motor se zabudovaným kodérem

Krok 1: Nastavení Raspberry Pi

Dobře, takže to bude fungovat tak, že na malinovém pi poběží server Apache a MariaDB. Server apache má hostovat webové stránky, MariaDB uchovává databázi, kam budeme ukládat data navijáků.

Nebudu vás provádět celým procesem nastavení pí pomocí ssh, pokud nejste obeznámeni, je zde dobrý návod.

Nejprve se tedy ujistěte, že je ve vašem terminálu spuštěno Raspberry Pi:

Chcete -li nainstalovat apache

sudo apt install apache2 -y

Chcete -li nainstalovat mariaDB

sudo apt-get install mariadb-server

Toto jsou všechna rozšíření pythonu, která budeme potřebovat

pip3 nainstalujte mysql-connector-python

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

Pro oled displej potřebujeme trochu obtížnější proces nastavení, který najdete zde.

Dobře, to je všechno hotovo!

Krok 2: Pochopení toho, jak bude instalace fungovat

Chcete tedy naviják nastavit tak, že mu dáte počáteční a koncovou pozici. Bude mu přiřazen určitý kanál a tímto kanálem se budete moci pohybovat pouze mezi zvolenou statistikou a koncovou pozicí.

Abyste vybrali tyto pozice, budete k nim muset přesunout naviják, jakmile tam budete, otočíte určitý kanál na hodnotu 56. Když tento přesný kanál dosáhne této hodnoty, bude vědět, že toto je jeho koncová počáteční / koncová pozice, pokud se potřebuje pohybovat nahoru nebo dolů nebo pokud potřebuje změnit své hodnoty artnetu. Přesun navijáku se provádí také nastavením určitého kanálu na 56. "A proč 56" slyším, že se divíte, tak jsem si musel něco vybrat:).

Poloha se vypočítá pomocí kodéru, který je na stejnosměrném motoru.

Krok 3: Backend of the Pi

Backend of the Pi
Backend of the Pi

Backend systému najdete na mém githubu. Napsal jsem vlastní knihovnu pro protokol art-net, takže ji můžete použít. Nebudu vás provázet vším po řádcích, ale poskytnu vám představu o tom všem.

Kód spouští bankový server, který komunikuje se serverem apache spuštěným na pí. Používá modul flask-socketio k odesílání a přijímání dat do frontendu. Art-net lib používá zásuvný modul z pythonu k odesílání UDP paketů do az Arduina.

Každá metoda, která začíná @socketio.on ('F2B _ ***'), čeká na volání F2B z frontendu. Jakmile je přijat, provede příslušnou akci. Ať už jde o odeslání komanda artnet nebo získání dat z DB a jejich odeslání zpět na frontu.

Metoda oled_show_info () se používá k zobrazení IP adresy IP (na rozhraní wlan i ethernet).

stačí tedy spustit kód pomocí

python3 app.py

Krok 4: Frontend of the Pi

Frontend of the Pi
Frontend of the Pi

Abyste mohli upravovat frontend pí, musíte nejprve získat přístup do adresáře/var/www/html/. Zde apache získává své soubory k zobrazení na svých webových stránkách. Chcete -li získat přístup ke spuštění:

sudo chmod 777/var/www/html/

Nyní je vše hotovo, získejte kód pro frontend mého githubu a vložte jej do adresáře/var/www/html/.

Frontend používá stejný princip jako backend, ale nyní odesílá příkazy F2B _ *** při stisknutí tlačítka nebo přesunutí posuvníku.

A to je frontend hotový!

Krok 5: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

K používání arduina budete potřebovat ethernetový štít a štít motoru. Stačí je jemně zatlačit na arduino. Ujistěte se, že stínění motoru netlačíte příliš daleko na ethernetový štít, nebo že zkratujete 2 kolíky motoru na ethernetovém připojení!

Kód pro arduino najdete také na mém githubu. Nahrajte soubor artnet_winch.ino a vše by mělo být dobré.

Ujistěte se, že definujete správné kolíky ke správným kolíkům vašeho motoru. Kolíky motorového štítu se vybírají s kolíky záhlaví v horní části štítu. Tyto piny jsou vybrány v // --- konfiguraci motoru. Aswel jako kolíky kodéru, které je třeba připojit k pravým kolíkům arduina.

Také se ujistěte, že je vaše MAC adresa štítu správná. To lze nalézt na štítku pod štítem a upravit v proměnné MAC. IP, kterou používáte pro pi, musí být ve stejném rozsahu jako PI, toto lze normálně najít na obrazovce oled.

Kód vypadá trochu hodně, ale není tak těžké ho pochopit. V zásadě ethernetový štít neustále čte přicházející pakety udp. Pokud je tento paket paketem Artnet, dekóduje jej a získá z něj potřebné informace. Různé pakety artnet jsou pěkně popsány na webových stránkách Art-Net, takže pokud vás to zajímá, můžete si přečíst, co všechno dělají.

Pokud přijme ArtPoll paket, odpoví ArtPollReply. toto se používá ve funkci popisku v backendu k nalezení zařízení, která jsou v síti.

Pokud přijme a paket ArtDMX, paket dekóduje a použije daná data k provedení určitých příkazů nastavení nebo přesunutí navijáku na místo.

Funkce move_takel transformuje danou hodnotu DMX (mezi 0-255) do polohy mezi počáteční a koncovou polohou (0 je konec a 255 začátek). Pokud se poloha kodéru nerovná transformované hodnotě, naviják se bude pohybovat nahoru/dolů v závislosti na tom, kde se nacházíte.

Pracoval jsem na smyčce zpětné vazby mezi PI a arduino, aby mohl držet krok se svou polohou, ale mému arduinu došla paměť pro uložení programu:).

Namontovat to všechno

Při montáži jsem připevnil motor na kovový držák a na něj položil jakousi trubku. Pak už jen na trubku připevnili šňůru a jako závaží použili roli pásky. To je velmi základní a ve způsobu, jakým ho chcete připojit, můžete být velmi kreativní.

Krok 6: Propojení všeho

Jakmile jsou arduino a pi nastaveny, jednoduše zapojte oba ethernetové kabely do přepínače a mělo by to být!

Můžete to vyzkoušet procházením IP adresy wlan uvedené na oled obrazovce a měli byste vidět web. Stisknutím tlačítka Najít zařízení zjistíte, zda můžete zařízení najít. Pokud nic nezobrazuje, vaše arduino není dobře připojeno nebo vámi zvolená IP není ve stejném rozsahu jako PI.

Jakmile uvidíte zařízení, stiskněte tlačítko Nastavení. V nabídce nastavení můžete pomocí šipek přesouvat naviják a pomocí posuvníku vyzkoušet, zda je jeho počáteční a koncová poloha správná.

Ujistěte se, že je váš ovladač také zapojen do štítu a jeho IP je v rozsahu PI a arduina.

A je to!

Doporučuje: