Përmbajtje:

Çikrik i kontrolluar nga Art-Net: 6 hapa
Çikrik i kontrolluar nga Art-Net: 6 hapa

Video: Çikrik i kontrolluar nga Art-Net: 6 hapa

Video: Çikrik i kontrolluar nga Art-Net: 6 hapa
Video: НОЧЬ В СТРАШНОМ ДОМЕ С ДЕМОНОМ / НЕ СТОИЛО СЮДА ПРИХОДИТЬ 2024, Shtator
Anonim
Çikrik i kontrolluar nga Art-Net
Çikrik i kontrolluar nga Art-Net

Përshëndetje të gjithëve, në këtë udhëzues do të shpjegoj se si e krijova çikrikun tim të kontrolluar nga arti. "Çfarë je?" ju dëgjoj të pyesni, më lejoni të shpjegoj shumë shpejt. Disa vjet më parë ne organizuam një festë me shtëpinë e të rinjve në vend, dhe si dizajn skene kishim idenë për të bërë një çati që lëvizte.

Me 9 çikrikë (takel) ngritëm një leckë gjigante të bardhë dhe përmes protokollit dmx i kontrolluam. Por në atë kohë çikrikët që përdorëm atje ku kontrollohej 3faza. Pra, për ta bërë atë të shkojë lart e poshtë ne duhet të krijonim një sistem relais të kontrolluar nga një mega Arduino qendror që kontrollohej duke përdorur dmx. Relet ku kalojnë tensione prej 230V dhe 12 amper.

Për ta thënë në një kuptim më të kuptueshëm, ne duhej të krijonim një rrëmujë gjigande telash dhe relaisësh që ishte super e paqëndrueshme, jo e besueshme dhe mjaft e rrezikshme në fakt.

Kështu që ne menduam për veten se duhet të ketë një mënyrë më të mirë për ta bërë këtë. Filluam të mendonim dhe arritëm në përfundimin se mënyra më e mirë për ta bërë këtë do të ishte përmes një sistemi modular të çikrikëve, të kontrolluar mbi protokollin Art-Net, kështu që do të na duheshin vetëm një burim tensioni dhe një kabllo ethernet.

Pra, kjo është pikërisht ajo që kam krijuar dhe do të përpiqem t'ju shpjegoj se si e bëra atë. I gjithë konfigurimi mbështetet në një pi mjedër që kontrollon procesin e konfigurimit. Në konfigurimin e tij, kontrolli po i jep një kompjuteri të lehtë (Chamsys, etj.) Që do të kontrollojë çikrikët nga atje e tutje.

Unë po supozoj se ju keni njohuri themelore për python, arduino dhe mjedër pi aswel si kuptim i diçkaje në lidhje me protokollin e artit dhe kontrollorët.

Furnizimet

Çfarë do t'ju duhet:

  • Mjedër pi
  • Arduino
  • Mburoja Arduino Ethernet
  • Mburoja motorike Arduino
  • Çdo ekran OLED
  • kabllo ethernet
  • kaloni ethernet
  • Motori DC me kodues të ndërtuar

Hapi 1: Vendosja e Raspberry Pi

Në rregull, mënyra se si do të funksionojë kjo është se mjedra pi do të funksionojë me një Apache dhe një server MariaDB. Serveri apache duhet të presë uebfaqen, MariaDB duhet të mbajë një bazë të dhënash ku do të ruajmë të dhënat e çikrikëve.

Unë nuk do t'ju tregoj gjatë gjithë proceseve të vendosjes së pi me ssh, nëse nuk jeni të njohur këtu është një mësim i mirë.

Pra, së pari do të sigurohemi që mjedra pi është e gjitha e konfiguruar, në terminalin tuaj:

Për të instaluar apache

sudo apt install apache2 -y

Për të instaluar mariaDB

sudo apt-get install mariadb-server

Këto janë të gjitha shtesat python që do të na duhen

pip3 instaloni mysql-connector-python

pip3 instaloni balonë-socketio pip3 instaloni balonë-cors pip3 instaloni gevent pip3 instaloni gevent-websocket pip3 instaloni rrjeta

Për ekranin me ngjyrë na duhet një proces konfigurimi pak më i vështirë që mund të gjendet këtu.

Ok, kjo është gjithçka e bërë!

Hapi 2: Kuptimi se si do të funksionojë konfigurimi

Pra, si doni të vendosni çikrikun është duke i dhënë atij një pozicion fillestar dhe një pozicion përfundimtar. Do t'i caktohet një kanal i caktuar dhe me këtë kanal do të jeni në gjendje të lëvizni vetëm midis gjendjes së zgjedhur dhe pozicionit përfundimtar.

Për të zgjedhur këto pozicione do t'ju duhet ta zhvendosni çikrikun tek ata, pasi të jeni atje do të ktheni një kanal të caktuar në vlerën 56. Kur ky kanal i saktë të arrijë atë vlerë do të dijë se ky është pozicioni i tij i fillimit / mbarimit përfundimtar, nëse ka nevojë të lëvizë lart ose poshtë ose nëse duhet të ndryshojë vlerat e saj të artnetit. Zhvendosja e çikrikut gjithashtu bëhet duke vendosur një kanal të caktuar në 56. "Dhe pse 56" ju dëgjoj të pyesni, mirë më është dashur të zgjedh diçka:).

Pozicioni llogaritet përmes koduesit që është në motorin DC.

Hapi 3: Pjesa e pasme e Pi

Pjesa e pasme e Pi
Pjesa e pasme e Pi

Pjesa e pasme e sistemit mund të gjendet në github tim. Unë kam shkruar bibliotekën time për protokollin art-net, kështu që mos ngurroni ta përdorni. Unë nuk do t'ju përshkoj çdo gjë rresht pas rreshti, por do t'ju jap idenë e madhe të gjithçkaje.

Kodi drejton një server flask i cili komunikon me serverin apache që funksionon në pi. Ai përdor modulin flask-socketio për të dërguar dhe marrë të dhëna në front. Lib-art-net përdor modulin socket nga python për të dërguar pako UDP në dhe nga arduino.

Çdo metodë që fillon me një @socketio.on ('F2B _ ***') është duke pritur për një telefonatë F2B nga frontend. Pasi të jetë marrë, do të ekzekutojë veprimin sipas. Sido që të jetë dërgimi i një komandoje artnet ose marrja e të dhënave nga DB dhe dërgimi i tyre përsëri në pjesën e përparme.

Metoda oled_show_info () përdoret për të shfaqur ip e ip (Të dyja në ndërfaqet wlan dhe ethernet).

kështu që thjesht ekzekutoni kodin me

aplikacioni python3.py

Hapi 4: Frontend i Pi

Parafjalë e Pi
Parafjalë e Pi

Për të qenë në gjendje të redaktoni pjesën e përparme të pi, së pari duhet t'i jepni vetes qasje në drejtorinë/var/www/html/. Kjo është ajo ku apache merr skedarët e saj për t'u shfaqur në faqen e saj të internetit. Për të pasur qasje ekzekutoni:

sudo chmod 777/var/www/html/

Tani që gjithçka është bërë, merrni kodin për pjesën e përparme të github tim dhe vendoseni në drejtorinë/var/www/html/.

Fronti përdor të njëjtin parim si pjesa e pasme, por tani ai dërgon komandat F2B _ *** kur shtypet një buton ose zhvendoset rrëshqitësi.

Dhe kjo është pjesa e përparme e bërë!

Hapi 5: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Për të përdorur arduino, do t'ju duhet të përdorni mburojën ethernet dhe mburojën e motorit. Thjesht i shtyni butësisht në arduino. Sigurohuni që të mos e shtyni mburojën e motorit shumë larg në mburojën ethernet ose do të shkurtoni 2 kunjat e motorit në lidhjen ethernet!

Kodi për arduino mund të gjendet gjithashtu në github tim. Ngarko skedarin artnet_winch.ino dhe gjithçka duhet të jetë mirë.

Sigurohuni që të përcaktoni kunjat e duhur për kunjat e sakta të motorit tuaj. Kunjat e motorit zgjidhen me kunjat e kokës në pjesën e sipërme të mburojës. Këto kunja zgjidhen nën konfigurimin e motorit // ---. Aswel si kunjat e koduesit që duhet të lidhen me kunjat e djathtë të arduino.

Gjithashtu sigurohuni që adresa juaj MAC e mburojës të jetë e saktë. Kjo mund të gjendet në një afishe nën mburojën dhe të redaktuar në ndryshoren MAC. IP -ja që përdorni për pi duhet të jetë në të njëjtën gamë si PI, kjo normalisht mund të gjendet në ekranin e lyer.

Kodi duket pak, por nuk është aq i vështirë për tu kuptuar. Në thelb mburoja e ethernet lexon vazhdimisht paketat udp që vijnë. Nëse kjo paketë është një paketë Artnet ajo e deshifron atë dhe merr informacionin që i nevojitet prej saj. Paketat e ndryshme të artnet përshkruhen bukur në faqen e internetit të Art-Net, kështu që nëse jeni të interesuar mund të lexoni se çfarë bëjnë të gjithë.

Nëse merr një paketë ArtPoll ajo do të përgjigjet me një ArtPollReply. kjo përdoret në funksionin e thirrjes në pjesën e pasme për të gjetur se cilat pajisje janë në rrjet.

Nëse merr dhe paketën ArtDMX do të deshifrojë paketën dhe do të përdorë të dhënat e dhëna për të ekzekutuar komanda të caktuara të konfigurimit ose për të lëvizur çikrikun në pozicion.

Funksioni move_takel transformon vlerën e dhënë DMX (midis 0-255) në një pozicion midis pozicionit të fillimit dhe përfundimit (0 është fundi dhe 255 fillimi). Nëse pozicioni i koduesit nuk është i barabartë me vlerën e transformuar, çikrik do të lëvizë lart/poshtë në varësi të vendit ku jeni.

Unë po punoja në një lak reagimesh midis PI dhe arduino në mënyrë që të mund të mbante hapin me pozicionin e tij, por arduino -s time i mbaroi kujtesa për të ruajtur programin:).

Duke i montuar të gjitha

Për montimin e tij, unë e bashkova motorin në një mbajtës metalik dhe vendosa një lloj tubi mbi të. Pastaj vetëm ngjitni një kordon në tub dhe përdorni një rrotull kasetë si një peshë. Kjo është shumë themelore dhe mund të bëheni shumë krijues në mënyrën që dëshironi ta montoni.

Hapi 6: Lidhja e të gjithave

Pasi arduino dhe pi të jenë konfiguruar, thjesht lidhni të dy kabllot ethernet në ndërprerësin tuaj dhe kjo duhet të jetë!

Mund ta provoni duke shfletuar në wlan ip të dhënë në ekranin e lyer dhe duhet të shihni sajtin. Shtypni gjeni pajisje për të parë nëse mund ta gjeni pajisjen. Nëse nuk tregon asgjë, atëherë arduino juaj nuk është i lidhur mirë ose IP -ja që keni zgjedhur nuk është në të njëjtën gamë me atë të PI.

Pasi të shihni pajisjen, thjesht shtypni konfigurimin. Në menunë e konfigurimit mund të lëvizni çikrikun duke përdorur shigjetat dhe provoni nëse pozicionet e fillimit dhe mbarimit janë të sakta me rrëshqitësin.

Sigurohuni që kontrolluesi juaj është gjithashtu i kyçur në mburojë dhe IP -ja e tij është në rangun e atij të PI dhe arduino.

Kjo eshte!

Recommended: