Taula de continguts:

Treu controlat Art-Net: 6 passos
Treu controlat Art-Net: 6 passos

Vídeo: Treu controlat Art-Net: 6 passos

Vídeo: Treu controlat Art-Net: 6 passos
Vídeo: Пожелание JR на премии TED: вывернуть этот мир наизнанку при помощи искусства. 2024, Desembre
Anonim
Treu controlat per Art-Net
Treu controlat per Art-Net

Hola a tothom, en aquest instructiu us explicaré com he creat el meu cabrestant controlat per art-net. "El teu què?" T'escolto preguntar, doncs deixa'm explicar-ho molt ràpidament. Fa uns anys vam celebrar una festa amb la casa juvenil local i, com a escenografia, vam tenir la idea de fer un sostre en moviment.

Amb 9 cabrestants (takels) vam aixecar un drap blanc gegant i mitjançant el protocol dmx els vam controlar. Però en aquella època, els torns utilitzàvem quan es controlava la fase 3. Per fer-lo pujar i baixar, vam haver de crear un sistema de relais controlat per un mega central Arduino que es controlava mitjançant dmx. Els relés on tensions de commutació de 230V i 12 amperes.

Per dir-ho en termes més entenedors, vam haver de crear un gegant embolic de cables i relés que era súper inestable, poc fiable i bastant perillós.

Per tant, vam pensar que hi havia d’haver una manera millor de fer-ho. Vam començar a pensar i vam arribar a la conclusió que la millor manera de fer-ho seria mitjançant un sistema modular de cabrestants, controlat mitjançant el protocol Art-Net, de manera que només necessitaríem una font de tensió i un cable ethernet.

Per tant, això és exactament el que vaig crear i intentaré explicar-vos com ho vaig fer. Tota la configuració es basa en un raspberry pi que controla el procés de configuració. Una vegada configurada, el control està cedint a un ordinador lleuger (Chamsys, etc.) que controlarà els cabrestants a partir d'aquí.

Suposo que teniu coneixements bàsics sobre python, arduino i raspberry pi aswel com a entendre alguna cosa sobre el protocol art-net i els controladors.

Subministraments

Què necessiteu:

  • Raspberry pi
  • Arduino
  • Escut Ethernet Arduino
  • Escut del motor Arduino
  • Qualsevol pantalla OLED
  • cable ethernet
  • commutador ethernet
  • Motor de corrent continu amb codificador integrat

Pas 1: Configuració del Raspberry Pi

D'acord, doncs, la manera com funcionarà és que el raspberry pi executarà un servidor Apache i MariaDB. El servidor apache ha d’allotjar el lloc web, el MariaDB ha de guardar una base de dades on guardarem les dades dels cabrestants.

No us guiaré per tot el procés de configuració del pi amb ssh, si no esteu familiaritzats, aquí teniu un bon tutorial.

Per tant, primer ens assegurarem que el raspberry pi estigui configurat a la vostra terminal:

Per instal·lar apache

sudo apt install apache2 -y

Per instal·lar mariaDB

sudo apt-get install mariadb-server

Aquestes són totes les extensions Python que necessitarem

pip3 instal·la mysql-connector-python

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

Per a la pantalla oled necessitem un procés de configuració una mica més difícil que es pot trobar aquí.

D'acord, aquest és el pi tot fet!

Pas 2: entendre com funcionarà la configuració

Per tant, com voleu configurar el cabrestant és donant-li una posició inicial i una posició final. Se li assignarà un canal determinat i amb aquest canal només podreu moure’s entre l’estat i la posició final seleccionats.

Per seleccionar aquesta posició, haureu de desplaçar-hi el torn, un cop hi sigueu, girareu un canal determinat al valor de 56. Quan aquest canal exacte assoleixi aquest valor, sabrà que aquesta és la seva posició inicial / final final., si ha de moure cap amunt o cap avall o si ha de canviar els seus valors artnet. Moure el cabrestant també es fa establint un canal determinat a 56. "I per què 56" et sento preguntar-te, doncs he hagut de triar alguna cosa:).

La posició es calcula a través del codificador que es troba al motor de corrent continu.

Pas 3: Backend del Pi

Backend del Pi
Backend del Pi

El fons del sistema es troba al meu github. He escrit la meva pròpia biblioteca per al protocol art-net, així que no dubteu a utilitzar-lo. No et guiaré per tot línia per línia, però et donaré una idea general de tot plegat.

El codi executa un servidor de flask que es comunica amb el servidor apache que s’executa al pi. Utilitza el mòdul flask-socketio per enviar i rebre dades al frontend. El lib art-net utilitza el mòdul de sòcol de python per enviar paquets UDP des de i cap a l’arduino.

Tots els mètodes que comencen amb un @ socketio.on ('F2B _ ***') esperen una trucada F2B des del frontend. Un cop rebuda, executarà l'acció corresponent. Ja sigui l'enviament d'un comando artnet o l'obtenció de dades de la base de dades i l'enviament de nou al frontal.

El mètode oled_show_info () s’utilitza per mostrar la IP de la IP (tant a les interfícies wlan com a ethernet).

així que només cal executar el codi amb

python3 app.py

Pas 4: Frontend del Pi

Frontend del Pi
Frontend del Pi

Per poder editar el frontend del pi, primer heu de donar-vos accés al directori / var / www / html /. Aquí és on Apache obté els seus fitxers per mostrar al seu lloc web. Per obtenir accés executeu:

sudo chmod 777 / var / www / html /

Ara tot això està fet, obteniu el codi per al frontend del meu github i col·loqueu-lo al directori / var / www / html /.

El frontend utilitza el mateix principi que el backend, però ara envia les ordres F2B _ *** quan es prem un botó o es mou el control lliscant.

I aquest és el frontend!

Pas 5: l'Arduino

L'Arduino
L'Arduino
L'Arduino
L'Arduino
L'Arduino
L'Arduino

Per utilitzar l’arduino, haureu d’utilitzar el blindatge Ethernet i el blindatge del motor. Simplement empenyeu-los suaument a l’arduino. Assegureu-vos que no empenyeu la pantalla del motor fins a la pantalla Ethernet o que quedareu curts als 2 pins del motor de la connexió Ethernet.

El codi de l'arduino també es pot trobar al meu github. Pengeu el fitxer artnet_winch.ino i tot hauria de ser bo.

Assegureu-vos de definir els pins correctes als pins correctes del vostre motor. Els passadors del paravent es trien amb els passadors de capçalera a la part superior de l’escut. Aquests pins es trien a la configuració del motor // ---. Aswel com els pins del codificador que cal connectar als pins de l’arduino.

Assegureu-vos també que la vostra adreça MAC de l’escut sigui correcta. Es pot trobar en un adhesiu sota l'escut i editar-lo a la variable MAC. La IP que utilitzeu per al pi ha d'estar en el mateix rang que el PI, normalment es pot trobar a la pantalla oled.

El codi es veu una mica molt, però no és tan difícil d’entendre. Bàsicament, el blindatge ethernet llegeix constantment els paquets udp que entren. Si aquest paquet és un paquet Artnet, el descodifica i en obté la informació que necessita. Els diferents paquets artnet es descriuen molt bé al lloc web Art-Net, de manera que si esteu interessats podeu llegir què fan tots.

Si rep un paquet ArtPoll, respondrà amb un ArtPollReply. s'utilitza a la funció de text destacat del dorsal per trobar quins dispositius es troben a la xarxa.

Si rep i el paquet ArtDMX descodificarà el paquet i utilitzarà les dades donades per executar certes ordres de configuració o moure el cabrestant en posició.

La funció move_takel transforma el valor DMX donat (entre 0-255) a una posició entre la posició inicial i final (0 és el final i 255 l’inici). Si la posició del codificador no és igual al valor transformat, el cabrestant es mourà cap amunt / cap avall segons el lloc on es trobi.

Estava treballant en un bucle de retroalimentació entre el PI i l'arduino perquè pogués mantenir-se al dia amb la seva posició, però bé, el meu arduino es va quedar sense memòria per emmagatzemar el programa:).

Muntant-ho tot

Per al seu muntatge he connectat el motor a un suport metàl·lic i hi he posat una mena de tub a sobre. A continuació, només heu fixat un cable al tub i heu utilitzat un rotlle de cinta com a pes. Això és molt bàsic i podeu ser molt creatiu en la manera de muntar-lo.

Pas 6: connectar-ho tot

Quan l'arduino i el pi estiguin configurats, simplement connecteu els dos cables Ethernet al vostre commutador i això hauria de ser.

Podeu provar-lo navegant a la ip wlan que apareix a la pantalla oled i hauríeu de veure el lloc. Premeu Cerca dispositius per veure si el podeu trobar. Si no mostra res, el vostre arduino no està ben connectat o la IP que heu triat no es troba en el mateix rang que el PI.

Quan vegeu el dispositiu, només cal que premeu Configuració. Al menú de configuració, podeu moure el cabre mitjançant les fletxes i comprovar si les posicions inicial i final són correctes amb el control lliscant.

Assegureu-vos que el controlador també estigui endollat a l’escut i que la seva IP estigui a l’abast de la del PI i l’arduino.

Això és!

Recomanat: