Cuprins:

Troliu controlat Art-Net: 6 pași
Troliu controlat Art-Net: 6 pași

Video: Troliu controlat Art-Net: 6 pași

Video: Troliu controlat Art-Net: 6 pași
Video: Valeriu Coadă te învață cum să scapi într-o SITUAȚIE EXTREMĂ!! 😱😅 #tiktokromania #valeriucoada 2024, Iunie
Anonim
Troliu controlat Art-Net
Troliu controlat Art-Net

Bună ziua tuturor, în acest instructiv voi explica cum mi-am creat troliul controlat de art-net. "Al tau ce?" Te aud, întreabă-mă, lasă-mă să explic foarte repede. Acum câțiva ani am organizat o petrecere cu casa locală de tineret și, ca scenografie, am avut ideea de a face un acoperiș în mișcare.

Cu 9 trolii (takeli) am ridicat o cârpă albă uriașă și prin protocolul dmx le-am controlat. Dar la vremea respectivă, troliurile pe care le foloseam erau controlate în 3 faze. Deci, pentru a face să urce și să coboare, a trebuit să creăm un sistem de relee controlat de un mega central Arduino care a fost controlat folosind dmx. Releele au tensiuni de comutare de 230V și 12 amperi.

Pentru a spune acest lucru în termeni mai ușor de înțeles, a trebuit să creăm o mizerie gigantică de fire și relee care a fost super instabilă, nesigură și destul de periculoasă.

Așa că ne-am gândit că trebuie să existe o modalitate mai bună de a face acest lucru. Am început să ne gândim și am ajuns la concluzia că cel mai bun mod de a face acest lucru ar fi printr-un sistem modular de trolii, controlat prin protocolul Art-Net, astfel încât să avem nevoie doar de o sursă de tensiune și un cablu Ethernet.

Deci, exact asta am creat și voi încerca să vă explic cum am făcut-o. Întreaga configurare se bazează pe un pi zmeură care controlează procesul de configurare. La configurarea sa, controlul cedează unui computer ușor (Chamsys, etc.) care va controla troliile de acolo.

Presupun că aveți cunoștințe de bază despre python, arduino și raspberry pi aswel ca înțelegând ceva despre protocolul și controlerele art-net.

Provizii

De ce veți avea nevoie:

  • Raspberry pi
  • Arduino
  • Scut Ethernet Arduino
  • Scut motor Arduino
  • Orice ecran OLED
  • cablu Ethernet
  • comutator Ethernet
  • Motor DC cu codificator construit

Pasul 1: Configurarea Raspberry Pi

Ok, așa că modul în care va funcționa este că raspberry pi va rula un server Apache și MariaDB. Serverul apache va găzdui site-ul web, MariaDB va păstra o bază de date în care vom stoca datele troliilor.

Nu vă voi plimba prin toate procesele de configurare a pi cu ssh, dacă nu sunteți familiarizați, iată un tutorial bun.

Deci, mai întâi, ne vom asigura că raspberry pi este configurat în terminalul dvs.:

Pentru a instala apache

sudo apt instalează apache2 -y

Pentru a instala mariaDB

sudo apt-get install mariadb-server

Acestea sunt toate extensiile python de care vom avea nevoie

pip3 instalează mysql-connector-python

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

Pentru afișajul oled avem nevoie de un proces de configurare puțin mai dificil, care poate fi găsit aici.

Ok, asta e tot gata!

Pasul 2: Înțelegerea modului în care va funcționa configurarea

Deci, modul în care doriți să configurați troliul este oferindu-i o poziție de început și o poziție finală. I se va atribui un anumit canal și cu acest canal veți putea să vă deplasați doar între statul ales și poziția finală.

Pentru a selecta aceste poziții, va trebui să mutați troliul către ele, odată ce sunteți acolo, veți întoarce un anumit canal la valoarea 56. Când acest canal exact atinge acea valoare, va ști că aceasta este poziția sa de început / sfârșit, dacă trebuie să se deplaseze în sus sau în jos sau dacă trebuie să-și schimbe valorile artnet. De asemenea, mutarea troliului se face prin setarea unui anumit canal la 56. „Și de ce 56” te-am auzit întrebându-te, ei bine, a trebuit să aleg ceva:).

Poziția este calculată prin intermediul codificatorului care este pe motorul de curent continuu.

Pasul 3: Backend-ul Pi

Backend-ul Pi
Backend-ul Pi

Backend-ul sistemului poate fi găsit pe github-ul meu. Mi-am scris propria bibliotecă pentru protocolul art-net, așa că nu ezitați să-l folosiți. Nu te voi plimba prin tot linie cu linie, dar îți voi oferi o imagine de ansamblu a tuturor ideilor.

Codul rulează un server balon care comunică cu serverul apache care rulează pe pi. Folosește modulul flask-socketio pentru a trimite și primi date pe frontend. Art-net lib folosește modulul socket de la python pentru a trimite pachete UDP către și de la arduino.

Fiecare metodă care începe cu un @ socketio.on („F2B _ ***”) așteaptă un apel F2B de pe frontend. Odată ce a fost primit, va executa acțiunea corespunzătoare. Fie că trimiteți un comando artnet sau obțineți date din DB și le trimiteți înapoi în față.

Metoda oled_show_info () este utilizată pentru a afișa ip-ul ip (atât pe interfețele wlan, cât și pe cele Ethernet).

deci rulați codul cu

python3 app.py

Pasul 4: Frontend-ul Pi

Frontend-ul Pi
Frontend-ul Pi

Pentru a putea edita frontend-ul pi va trebui mai întâi să vă acordați acces la directorul / var / www / html /. Aici Apache primește fișierele pe care le afișează pe site-ul său web. Pentru a obține acces, executați:

sudo chmod 777 / var / www / html /

Acum totul este finalizat, obțineți codul pentru frontend-ul github-ului meu și plasați-l în directorul / var / www / html /.

Frontend-ul folosește același principiu ca și backend-ul, dar acum trimite comenzile F2B _ *** când se apasă un buton sau se deplasează glisorul.

Și asta este frontendul făcut!

Pasul 5: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Pentru utilizarea arduino va trebui să utilizați scutul ethernet și scutul motorului. Pur și simplu împingeți-le ușor pe arduino. Asigurați-vă că nu împingeți scutul motorului până departe pe ecranul Ethernet sau că veți scurtcirca cei 2 pini ai motorului de pe conexiunea Ethernet!

Codul pentru arduino poate fi găsit și pe github-ul meu. Încărcați fișierul artnet_winch.ino și toate ar trebui să fie bune.

Asigurați-vă că definiți pinii corecți la pinii corecți ai motorului. Știfturile ecranului motorului sunt alese cu știfturile antetului deasupra scutului. Acești pini sunt aleși în configurația // --- motor. Aswel ca pinii codificatorului care trebuie conectați la pinii din dreapta ai arduino-ului.

De asemenea, asigurați-vă că adresa MAC a scutului este corectă. Acest lucru poate fi găsit pe un autocolant sub scut și editat în variabila MAC. IP-ul pe care îl utilizați pentru pi trebuie să fie în același interval cu PI, acest lucru poate fi găsit în mod normal pe ecranul oled.

Codul arată puțin, dar nu este atât de greu de înțeles. Practic scutul ethernet citește în mod constant pachetele UDP care intră. Dacă acel pachet este un pachet Artnet, acesta îl decodifică și primește informațiile de care are nevoie. Diferitele pachete artnet sunt descrise frumos pe site-ul Art-Net, deci, dacă sunteți interesat, puteți citi ce fac toate.

Dacă primește un pachet ArtPoll, acesta va răspunde cu un ArtPollReply. aceasta este utilizată în funcția de înștiințare din backend pentru a găsi ce dispozitive sunt în rețea.

Dacă primește și pachetul ArtDMX, acesta va decoda pachetul și va utiliza datele date pentru a executa anumite comenzi de configurare sau pentru a muta troliul în poziție.

Funcția move_takel transformă valoarea DMX dată (între 0-255) într-o poziție între poziția de început și sfârșit (0 fiind sfârșitul și 255 începutul). Dacă poziția codificatorului nu este egală cu valoarea transformată, troliul se va deplasa în sus / în jos în funcție de locul în care vă aflați.

Lucram la o buclă de feedback între PI și arduino, astfel încât să poată ține pasul cu poziția sa, dar arduino-ul meu a rămas fără memorie pentru a stoca programul:).

Montând totul

Pentru montare, am atașat motorul la un suport metalic și am pus un fel de tub deasupra acestuia. Apoi, atașați un cablu pe tub și folosiți o rolă de bandă ca greutate. Acest lucru este foarte simplu și puteți deveni foarte creativ în modul în care doriți să îl montați.

Pasul 6: conectarea la toate

Odată ce arduino și pi sunt configurate, pur și simplu conectați ambele cabluri Ethernet la comutatorul dvs. și asta ar trebui să fie!

Puteți să-l testați navigând pe ip-ul wlan dat pe ecranul oled și ar trebui să vedeți site-ul. Apăsați Găsiți dispozitive pentru a vedea dacă puteți găsi dispozitivul. Dacă nu arată nimic, arduino-ul dvs. nu este bine conectat sau IP-ul pe care l-ați ales nu se află în același interval cu cel al PI.

Odată ce vedeți dispozitivul, apăsați doar configurare. În meniul de configurare puteți muta troliul folosind săgețile și testați dacă pozițiile de început și de sfârșit sunt corecte cu glisorul.

Asigurați-vă că controlerul dvs. este, de asemenea, conectat la scut și că IP-ul este în raza de acțiune a PI și arduino.

Asta e!

Recomandat: