Агуулгын хүснэгт:

Art-Net хяналттай винч: 6 алхам
Art-Net хяналттай винч: 6 алхам

Видео: Art-Net хяналттай винч: 6 алхам

Видео: Art-Net хяналттай винч: 6 алхам
Видео: Камера-ЛАМПА со слежением и определением человека. 2024, Есдүгээр
Anonim
Art-Net хяналттай винч
Art-Net хяналттай винч

Бүгдээрээ сайн байцгаана уу, энэ зааварчилгаанд би өөрийн урлагийн сүлжээгээр удирддаг эргүүлэг хэрхэн бүтээсэнээ тайлбарлах болно. "Чи юу?" Таны асууж байгааг би сонсож байна, маш хурдан тайлбарлаж өгөөч. Хэдэн жилийн өмнө бид орон нутгийн залуучуудын байшинтай үдэшлэг зохион байгуулж, тайзны дизайны хувьд хөдлөх дээвэр хийх санаа төрсөн.

9 винчээр бид аварга том цагаан даавууг дээш өргөж, dmx протоколоор дамжуулан тэдгээрийг хянаж байв. Гэхдээ тэр үед лифтийг бид 3 фазын хяналтанд ашигладаг байсан. Дээш, доошоо дээшлэхийн тулд бид dmx ашиглан хянадаг төв Arduino мегагаар удирддаг реле системийг бий болгох ёстой байв. 230 В ба 12 ампер хүчдэлийг солих реле.

Үүнийг илүү ойлгомжтой байдлаар тайлбарлахын тулд бид супер тогтворгүй, найдваргүй, үнэхээр аюултай маш том утас, реле үүсгэх шаардлагатай болсон.

Үүнийг хийх илүү сайн арга зам байх ёстой гэж бид дотроо бодсон. Бид үүнийг бодож эхэлсэн бөгөөд үүнийг хийх хамгийн сайн арга бол Art-Net протоколоор удирддаг модульчлагдсан систем юм. Тиймээс бидэнд зөвхөн хүчдэлийн эх үүсвэр ба Ethernet кабель хэрэгтэй болно.

Энэ бол миний бүтээсэн зүйл бөгөөд би үүнийг хэрхэн хийснээ тайлбарлахыг хичээх болно. Бүх тохиргоо нь тохируулах процессыг хянадаг бөөрөлзгөнө pi дээр суурилдаг. Тохиргоог нь тохируулж байгаа хүмүүс хяналтыг хөнгөн компьютерт (Chamsys гэх мэт) шилжүүлж өгдөг.

Та урлагийн сүлжээний протокол болон хянагчдын талаар ямар нэгэн зүйл ойлгосноор python, arduino, raspberry pi aswel-ийн талаар анхан шатны мэдлэгтэй болсон гэж бодож байна.

Хангамж

Танд хэрэгтэй зүйл:

  • Raspberry pi
  • Ардуино
  • Arduino Ethernet бамбай
  • Arduino хөдөлгүүрийн бамбай
  • Аливаа OLED дэлгэц
  • Ethernet кабель
  • ethernet унтраалга
  • Кодлогчтой DC мотор

Алхам 1: Raspberry Pi -ийг тохируулах

За, энэ нь бөөрөлзгөнө pi нь Apache болон MariaDB сервер ажиллуулах болно. Apache сервер нь вэбсайтыг байрлуулах бөгөөд MariaDB нь лифтийн өгөгдлийг хадгалах мэдээллийн санг хадгалах ёстой.

Би танд ssh ашиглан pi -ийг тохируулах бүх үйл явцыг танилцуулахгүй, хэрэв та мэдэхгүй бол энд сайн заавар байна.

Тиймээс эхлээд бөөрөлзгөнө pi нь таны терминал дээр тохируулагдсан эсэхийг шалгах болно.

Apache суулгахын тулд

sudo apt install apache2 -y

MariaDB суулгахын тулд

sudo apt-get суулгах mariadb-сервер

Эдгээр нь бидэнд хэрэгтэй бүх питон өргөтгөлүүд юм

pip3 mysql-connector-python суулгана уу

pip3 колбо-сокетио pip3 колбо-корс суулгах

Өнгөт дэлгэцийн хувьд эндээс олж болох арай илүү төвөгтэй тохируулгын процесс хэрэгтэй.

За ингээд бүх зүйл дууслаа!

Алхам 2: Тохиргоо хэрхэн ажиллахыг ойлгох

Тиймээс эргүүлэгийг хэрхэн тохируулахыг хүсч байгаа нь түүнд эхлэх болон төгсгөлийн байрлалыг өгөх явдал юм. Энэ нь тодорхой суваг хуваарилагдах бөгөөд энэ сувгийн тусламжтайгаар та зөвхөн сонгосон статус ба төгсгөлийн байрлалын хооронд шилжих боломжтой болно.

Эдгээр байрлалыг сонгохын тулд та эргүүлэгийг тэдэн рүү зөөх хэрэгтэй болно, тэнд очсоны дараа та тодорхой сувгийг 56 болгож өөрчлөх болно. Энэ суваг энэ утгад хүрэхэд энэ нь түүний эцсийн эхлэл / төгсгөлийн байрлал гэдгийг мэдэх болно., хэрэв энэ нь дээш эсвэл доошоо шилжих эсвэл artnet -ийн утгыг өөрчлөх шаардлагатай бол. Линжерийг хөдөлгөх нь тодорхой сувгийг 56 болгож тохируулах замаар хийгддэг. "Тэгээд яагаад 56" гэж би гайхаж байна гэж сонссон, би ямар нэг зүйлийг сонгох ёстой байсан:).

Байрлалыг DC мотор дээрх кодлогчоор тооцоолно.

Алхам 3: Pi -ийн арын хэсэг

Pi -ийн арын хэсэг
Pi -ийн арын хэсэг

Системийн арын хэсгийг миний github дээрээс олж болно. Би art-net протоколд зориулж өөрийн номын санг бичсэн тул үүнийг чөлөөтэй ашиглаж болно. Би чамайг бүх зүйлээр нэг мөрөөр нь хөтлөхгүй, гэхдээ би энэ бүхний том зургийг танд өгөх болно.

Энэ код нь pi дээр ажилладаг apache сервертэй харилцдаг колбаны сервер ажиллуулдаг. Энэ нь колбо-сокетио модулийг ашиглан фронт руу өгөгдөл илгээх, хүлээн авахад ашигладаг. Art-net lib нь python-ийн сокет модулийг ашиглан arduino руу UDP пакет илгээх боломжтой.

@Socketio.on ('F2B _ ***') -ээр эхэлсэн бүх арга нь урд талаас F2B дуудлага хүлээж байна. Хүлээн авсны дараа энэ нь зохих үйлдлийг гүйцэтгэх болно. Энэ бол artnet команд илгээж эсвэл DB -ээс өгөгдөл аваад урд тал руу буцааж илгээх явдал юм.

Oled_show_info () аргыг ip -ийн ip -ийг харуулахад ашигладаг (хоёулаа wlan болон ethernet интерфэйс дээр).

Тиймээс кодыг ажиллуулна уу

python3 апп.py

Алхам 4: Pi -ийн урд хэсэг

Pi -ийн урд хэсэг
Pi -ийн урд хэсэг

Pi -ийн урд хэсгийг засах боломжтой байхын тулд та эхлээд/var/www/html/директорт хандах эрхийг өгөх хэрэгтэй. Энэ бол apache вэбсайт дээрээ харуулах файлуудаа эндээс авдаг. Нэвтрэх ажлыг гүйцэтгэхийн тулд:

sudo chmod 777/var/www/html/

Бүх зүйл дууссан бол миний github -ийн урд талын кодыг аваад/var/www/html/директорт байрлуул.

Урд хэсэг нь арын арын адил зарчмыг ашигладаг боловч одоо товчлуур дарах эсвэл гулсагчийг хөдөлгөх үед F2B _ *** командыг илгээдэг.

Энэ бол урд талын төгсгөл юм!

Алхам 5: Arduino

Ардуино
Ардуино
Ардуино
Ардуино
Ардуино
Ардуино

Arduino ашиглахын тулд та ethernet бамбай болон моторын бамбайг ашиглах хэрэгтэй болно. Зүгээр л тэднийг arduino дээр зөөлөн дараарай. Хөдөлгүүрийн бамбайг ethernet бамбай руу түлхэхгүй байгаа эсэхийг шалгаарай, эс тэгвэл Ethernet холболт дээр 2 хөдөлгүүрийн зүүг богиносгох болно.

Arduino кодыг мөн миний github дээрээс олж болно. Artnet_winch.ino файлыг байршуул, бүгд сайн байх ёстой.

Моторынхоо зөв зүүг зөв зүүгээр тодорхойлсон эсэхээ шалгаарай. Мотор хамгаалалтын голыг толгойн зүү нь бамбайны дээд талд байрлуулна. Эдгээр тээглүүрийг // --- моторын тохиргооны дагуу сонгоно. Arduino -ийн баруун тээглүүртэй холбогдох шаардлагатай кодлогч тээглүүрийн хувьд.

Мөн бамбайны MAC хаяг зөв эсэхийг шалгаарай. Үүнийг бамбай доорх наалт дээрээс олж MAC хувьсагчаар засварлаж болно. Таны pi -д ашигладаг IP нь PI -тай ижил хэмжээтэй байх ёстой бөгөөд үүнийг ихэвчлэн дэлгэцэн дээрээс олж болно.

Код нь жаахан харагддаг боловч ойлгоход тийм ч хэцүү биш юм. Үндсэндээ ethernet бамбай нь орж ирж буй udp пакетуудыг байнга уншдаг. Хэрэв энэ пакет нь Artnet пакет бол түүнийг тайлж, шаардлагатай мэдээллээ авдаг. Өөр өөр artnet пакетуудыг Art-Net вэбсайт дээр маш сайн дүрсэлсэн байдаг тул хэрэв та сонирхож байвал тэдний юу хийж байгааг уншиж болно.

Хэрэв энэ нь ArtPoll пакет хүлээн авбал ArtPollReply -тай хариу өгөх болно. Энэ нь арын хэсэгт байрлах дуудлагын функцэд сүлжээнд ямар төхөөрөмж байгааг олж тогтооход ашиглагддаг.

Хэрэв энэ нь ArtDMX пакетыг хүлээн авбал пакетын кодыг тайлж өгөгдсөн өгөгдлийг ашиглан тохируулгын тодорхой командуудыг гүйцэтгэх эсвэл эргүүлэгчийн байрлалыг хөдөлгөнө.

Move_takel функц нь өгөгдсөн DMX утгыг (0-255 хооронд) эхлэл ба төгсгөлийн хоорондох байрлалд (0 нь төгсгөл, 255 эхлэл) шилжүүлнэ. Хэрэв кодлогчийн байрлал нь өөрчлөгдсөн утгатай тэнцэхгүй бол эргүүлгийг хаана байгаагаас хамааран дээш/доош хөдөлгөнө.

Би байр сууриа хадгалахын тулд PI болон arduino -ийн хоорондох санал хүсэлтийн цикл дээр ажиллаж байсан боловч миний arduino програмыг хадгалахын тулд санах ойгүй болсон:).

Бүгдийг нь холбож байна

Үүнийг суурилуулахын тулд би моторыг металл бэхэлгээнд холбож, дээр нь нэг төрлийн хоолой тавив. Дараа нь зүгээр л хоолойд утсыг холбож, туузыг жин болгон ашиглав. Энэ бол маш энгийн зүйл бөгөөд та үүнийг хэрхэн холбохыг хүсч байгаагаараа маш бүтээлч байж чадна.

Алхам 6: Бүгдийг холбох

Arduino болон pi -ийг бүгдийг нь тохируулсны дараа зүгээр л сэлгэн залгууртаа Ethernet кабелийг залгаарай.

Та үүнийг дэлгэцэн дээр өгсөн wlan ip -ээр аялах замаар туршиж үзэх боломжтой бөгөөд та сайтыг үзэх ёстой. Төхөөрөмж олох боломжтой эсэхийг шалгахын тулд төхөөрөмж хайх товчийг дарна уу. Хэрэв энэ нь юу ч харуулахгүй бол таны arduino сайн холбогдоогүй эсвэл таны сонгосон IP нь PI -ийнхтэй ижил биш байна.

Төхөөрөмжийг харсны дараа тохиргоог дарна уу. Тохиргооны цэсэнд та эргүүлэгчийг сум ашиглан хөдөлгөж, гулсагчаар эхлэл ба төгсгөлийн байрлал зөв эсэхийг шалгаж болно.

Таны хянагч бамбайд холбогдсон бөгөөд түүний IP нь PI ба arduino -ийнхтэй ижил байгаа эсэхийг шалгаарай.

Ингээд л боллоо!

Зөвлөмж болгож буй: