Satura rādītājs:

Art-Net kontrolēta vinča: 6 soļi
Art-Net kontrolēta vinča: 6 soļi

Video: Art-Net kontrolēta vinča: 6 soļi

Video: Art-Net kontrolēta vinča: 6 soļi
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Jūnijs
Anonim
Vinča ar Art-Net vadību
Vinča ar Art-Net vadību

Sveiki visiem, šajā pamācībā es paskaidrošu, kā es izveidoju savu ar mākslīgo tīklu vadāmo vinču. "Tavs kas?" es dzirdu, kā jūs jautājat, tad ļaujiet man ļoti ātri paskaidrot. Pirms dažiem gadiem mēs sarīkojām ballīti ar vietējo jauniešu māju, un kā skatuves dizains mums radās ideja izveidot kustīgu jumtu.

Ar 9 vinčām (takeliem) pacēlām milzu baltu drānu un caur protokolu dmx mēs tās kontrolējām. Bet tajā laikā vinčas, kuras mēs izmantojām, kontrolēja 3 fāzes. Tātad, lai tas virzītos uz augšu un uz leju, mums bija jāizveido releju sistēma, ko kontrolē centrālais Arduino mega, kas tika kontrolēts, izmantojot dmx. Relais, kur pārslēgšanās spriegums ir 230 V un 12 ampēri.

Lai izteiktos saprotamāk, mums bija jāizveido milzīgs vadu un releju haoss, kas bija ļoti nestabils, neuzticams un patiesībā diezgan bīstams.

Tāpēc mēs domājām, ka ir jābūt labākam veidam, kā to izdarīt. Mēs sākām domāt un nonācām pie secinājuma, ka labākais veids, kā to izdarīt, būtu modulāra vinču sistēma, ko kontrolē Art-Net protokols, tāpēc mums būs nepieciešams tikai sprieguma avots un Ethernet kabelis.

Tātad tieši to es izveidoju, un es centīšos jums paskaidrot, kā es to izdarīju. Visa iestatīšana balstās uz aveņu pi, kas kontrolē iestatīšanas procesu. Vienīgi pēc uzstādīšanas vadība nodod vieglam datoram (Chamsys utt.), Kas no turienes vadīs vinčas.

Es pieņemu, ka jums ir pamatzināšanas par python, arduino un aveņu pi aswel, jo jūs saprotat kaut ko par art-net protokolu un kontrolieriem.

Piegādes

Kas jums būs nepieciešams:

  • Aveņu pi
  • Arduino
  • Arduino Ethernet vairogs
  • Arduino motora vairogs
  • Jebkurš OLED ekrāns
  • Ethernet kabelis
  • Ethernet slēdzis
  • Līdzstrāvas motors ar kodētāju

1. darbība: Raspberry Pi iestatīšana

Labi, tāpēc veids, kā tas darbosies, ir aveņu pi, kurā darbosies Apache un MariaDB serveris. Apache serveris ir vietnes mitinātājs, MariaDB - datubāze, kurā mēs glabāsim vinču datus.

Es jums neizstāstīšu visus pi iestatīšanas procesus ar ssh, ja jūs neesat pazīstams, šeit ir laba apmācība.

Tātad vispirms mēs pārliecināsimies, ka aveņu pi ir iestatīts jūsu termināla darbībā:

Lai instalētu apache

sudo apt instalēt apache2 -y

Lai instalētu mariaDB

sudo apt-get install mariadb-server

Šie ir visi mums nepieciešamie pitona paplašinājumi

pip3 instalējiet mysql-connector-python

pip3 instalēt kolbu-socketio pip3 instalēt kolbas-korsetes pip3 instalēt gevent pip3 instalēt gevent-websocket pip3 instalēt netifaces

OLED displejam ir nepieciešams nedaudz grūtāks iestatīšanas process, kas atrodams šeit.

Labi, ka viss ir paveikts!

2. darbība. Izpratne par iestatīšanas darbību

Tātad, kā vēlaties iestatīt vinču, piešķirot tai sākuma un beigu pozīciju. Tam tiks piešķirts noteikts kanāls, un ar šo kanālu jūs varēsit pārvietoties tikai starp izvēlēto statistiku un beigu pozīciju.

Lai izvēlētos šo pozīciju, jums jāpārvieto vinča uz tām, kad esat tur, jūs pārvērtīsit noteiktu kanālu uz vērtību 56. Kad šis precīzais kanāls sasniegs šo vērtību, tas zinās, ka šī ir viņa beigu sākuma / beigu pozīcija, ja tai jāpārvietojas uz augšu vai uz leju vai ja ir jāmaina artnet vērtības. Arī vinčas pārvietošana tiek veikta, iestatot noteiktu kanālu uz 56. "Un kāpēc 56" es dzirdu, ka jūs brīnāties, nu man bija kaut kas jāizvēlas:).

Pozīcija tiek aprēķināta, izmantojot kodētāju, kas atrodas uz līdzstrāvas motora.

3. solis: Pi aizmugure

Pi aizmugure
Pi aizmugure

Sistēmas aizmuguri var atrast manā github. Es esmu uzrakstījis savu bibliotēku art-net protokolam, tāpēc jūtieties brīvi to izmantot. Es jums nerunāšu pa rindām pa rindām, bet es jums sniegšu visu ideju kopumā.

Kods vada kolbas serveri, kas sazinās ar apache serveri, kas darbojas uz pi. Tas izmanto kolbas ligzdas moduli, lai nosūtītu un saņemtu datus uz priekšpusi. Art-net lib izmanto ligzdas moduli no python, lai nosūtītu UDP paketes uz un no arduino.

Katra metode, kas sākas ar @socketio.on ('F2B _ ***'), gaida F2B zvanu no priekšpuses. Kad tas ir saņemts, tas veiks atbilstošo darbību. Sūtiet artnet komandu vai iegūstiet datus no DB un nosūtiet tos atpakaļ uz priekšu.

Metode oled_show_info () tiek izmantota, lai parādītu ip ip (gan wlan, gan Ethernet saskarnēs).

tāpēc vienkārši palaidiet kodu ar

python3 app.py

4. solis: Pi priekšpuse

Pi priekšpuse
Pi priekšpuse

Lai varētu rediģēt pi priekšpusi, jums vispirms ir jāpiekļūst direktorijam/var/www/html/. Šeit apache saņem savus failus, lai tos parādītu savā vietnē. Lai panāktu piekļuvi izpildei:

sudo chmod 777/var/www/html/

Tagad viss ir paveikts, iegūstiet mana github priekšpuses kodu un ievietojiet to direktorijā/var/www/html/.

Priekšpuse izmanto to pašu principu kā aizmugure, bet tagad tā nosūta komandas F2B _ ***, nospiežot pogu vai pārvietojot slīdni.

Un tas ir frontend darīts!

5. solis: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Lai izmantotu arduino, jums jāizmanto Ethernet vairogs un motora vairogs. Vienkārši viegli piespiediet tos uz arduino. Pārliecinieties, ka nenospiežat motora vairogu tālu uz Ethernet vairoga, pretējā gadījumā jūs saīsināsit 2 motora tapas Ethernet savienojumā!

Arduino kodu var atrast arī manā github. Augšupielādējiet failu artnet_winch.ino, un viss ir kārtībā.

Noteikti definējiet pareizās tapas pareizajām motora tapām. Dzinēja vairoga tapas tiek izvēlētas ar sadales tapām vairoga augšpusē. Šīs tapas ir izvēlētas zem // --- motora konfigurācijas. Aswel kā kodētāja tapas, kas jāpievieno arduino labajām tapām.

Pārliecinieties arī, vai jūsu vairoga MAC adrese ir pareiza. To var atrast uz uzlīmes zem vairoga un rediģēt mainīgajā MAC. IP, ko izmantojat pi, ir jābūt tādā pašā diapazonā kā PI, parasti to var atrast ekrānā.

Kods izskatās mazliet daudz, bet nav tik grūti saprotams. Būtībā Ethernet vairogs pastāvīgi nolasa ienākošās udp paketes. Ja šī pakete ir Artnet pakete, tā to atšifrē un saņem no tās nepieciešamo informāciju. Dažādas artnetu paketes ir labi aprakstītas Art-Net vietnē, tādēļ, ja jūs interesē, varat izlasīt, ko tās visas dara.

Ja tā saņem ArtPoll paketi, tā atbildēs ar ArtPollReply. to izmanto aizmugurējās sistēmas norāžu funkcijā, lai atrastu tīklā esošās ierīces.

Ja tā saņem un ArtDMX paketi, tā dekodē paketi un izmanto dotos datus, lai izpildītu noteiktas iestatīšanas komandas vai pārvietotu vinču pozīcijā.

Funkcija move_takel pārveido doto DMX vērtību (starp 0–255) pozīcijā starp sākuma un beigu pozīciju (0 ir beigas un 255-sākums). Ja kodētāja stāvoklis nav vienāds ar pārveidoto vērtību, vinča virzīsies uz augšu/uz leju atkarībā no jūsu atrašanās vietas.

Es strādāju pie atgriezeniskās saites starp PI un arduino, lai tā varētu neatpalikt no savas pozīcijas, bet manam arduino pietrūka atmiņas, lai saglabātu programmu:).

Uzstādot to visu

Lai to uzstādītu, es piestiprināju motoru pie metāla turētāja un uzliku tam pāri cauruli. Pēc tam uz caurules vienkārši piestiprināja vadu un kā svaru izmantoja lentes ruļļu. Tas ir ļoti vienkārši, un jūs varat kļūt ļoti radošs tā, kā vēlaties to uzstādīt.

6. darbība: visu savienojiet

Kad arduino un pi ir iestatīti, vienkārši pievienojiet slēdžā abus Ethernet kabeļus, un tam tā vajadzētu būt!

Varat to pārbaudīt, sērfojot uz wlan ip, kas norādīts ekrānā OLED, un jums vajadzētu redzēt vietni. Nospiediet Atrast ierīces, lai redzētu, vai varat atrast ierīci. Ja tas neko nerāda, jūsu arduino nav labi savienots vai jūsu izvēlētais IP nav tajā pašā diapazonā kā PI.

Kad esat redzējis ierīci, vienkārši nospiediet iestatīšanas pogu. Iestatīšanas izvēlnē jūs varat pārvietot vinču, izmantojot bultiņas, un ar slīdni pārbaudīt, vai tā sākuma un beigu pozīcija ir pareiza.

Pārliecinieties, vai arī jūsu kontrolieris ir pievienots vairogam un tā IP ir PI un arduino diapazona diapazonā.

Tieši tā!

Ieteicams: