Isi kandungan:

Winch Terkawal Art-Net: 6 Langkah
Winch Terkawal Art-Net: 6 Langkah

Video: Winch Terkawal Art-Net: 6 Langkah

Video: Winch Terkawal Art-Net: 6 Langkah
Video: 6 Tips to Boost Your Confidence 2024, September
Anonim
Winch Terkawal Art-Net
Winch Terkawal Art-Net

Halo semua, dalam arahan ini saya akan menerangkan bagaimana saya mencipta winch art-net saya. "Awak apa?" saya dengar awak tanya, baik saya terangkan dengan cepat. Beberapa tahun yang lalu kami mengadakan pesta dengan rumah pemuda tempatan, dan sebagai reka bentuk pentas kami mempunyai idea untuk membuat atap yang bergerak.

Dengan 9 winch (takel) kami mengangkat kain putih gergasi dan melalui protokol dmx kami mengawalnya. Tetapi pada masa itu winch kami gunakan di mana 3 fasa dikendalikan. Oleh itu, untuk membuatnya naik dan turun, kita harus membuat sistem relais yang dikendalikan oleh mega Arduino tengah yang dikendalikan menggunakan dmx. Relais di mana menukar voltan 230V dan 12 amp.

Untuk meletakkannya dalam istilah yang lebih mudah difahami, kita harus membuat kekacauan wayar dan rela raksasa yang sebenarnya sangat tidak stabil, tidak boleh dipercayai dan cukup berbahaya.

Oleh itu, kami berfikir bahawa mesti ada cara yang lebih baik untuk melakukan ini. Kami mula berfikir dan sampai pada kesimpulan bahawa cara terbaik untuk melakukan ini adalah melalui sistem winch modular, yang dikendalikan melalui protokol Art-Net, jadi kami hanya memerlukan sumber voltan dan kabel ethernet.

Jadi itulah yang saya buat dan saya akan cuba menerangkan kepada anda bagaimana saya melakukannya. Keseluruhan persediaan bergantung pada raspberry pi yang mengawal proses penyediaan. Pengesahannya diserahkan kepada komputer ringan (Chamsys, dll.) Yang akan mengawal win dari sana.

Saya mengandaikan bahawa anda mempunyai pengetahuan asas mengenai python, arduino dan raspberry pi aswel kerana memahami sesuatu mengenai protokol dan pengawal seni-jaring.

Bekalan

Apa yang anda perlukan:

  • Pai raspberi
  • Arduino
  • Perisai Ethernet Arduino
  • Perisai motor Arduino
  • Sebarang skrin OLED
  • kabel ethernet
  • suis ethernet
  • Motor DC dengan pengekod dibina

Langkah 1: Menyiapkan Raspberry Pi

Baiklah cara ini berfungsi adalah raspberry pi akan menjalankan Apache dan pelayan MariaDB. Pelayan apache adalah untuk menghoskan laman web, MariaDB adalah untuk menyimpan pangkalan data di mana kami akan menyimpan data winch.

Saya tidak akan membimbing anda melalui seluruh proses penyiapan pi dengan ssh, jika anda tidak tahu inilah tutorial yang baik.

Oleh itu, pertama-tama kami akan memastikan raspberry pi sudah siap, dalam terminal anda:

Untuk memasang apache

sudo apt install apache2 -y

Untuk memasang mariaDB

sudo apt-get pasang mariadb-server

Ini semua sambungan python yang kita perlukan

pip3 pasang mysql-connector-python

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

Untuk paparan oled, kita memerlukan proses penyediaan yang lebih sukar yang boleh didapati di sini.

Ok itulah pi semua selesai!

Langkah 2: Memahami Bagaimana Persediaan Akan Berjalan

Jadi bagaimana anda ingin mengatur winch adalah dengan memberikannya kedudukan awal dan kedudukan akhir. Ia akan diberi saluran tertentu dan dengan saluran ini anda hanya dapat bergerak antara kedudukan statistik dan kedudukan akhir yang dipilih.

Untuk memilih kedudukan ini, anda perlu memindahkan winch kepada mereka, setelah anda berada di sana, anda akan mengubah saluran tertentu ke nilai 56. Apabila saluran tepat ini mencapai nilai itu, ia akan mengetahui bahawa ini adalah kedudukan awal / akhir akhirnya, jika perlu bergerak ke atas atau ke bawah atau jika perlu mengubah nilai artnetnya. Memindahkan winch juga dilakukan dengan menetapkan saluran tertentu menjadi 56. "Dan mengapa 56" saya mendengar anda tertanya-tanya, baik saya harus memilih sesuatu:).

Kedudukan dikira melalui encoder yang terdapat pada motor DC.

Langkah 3: Latar Belakang Pi

Bahagian belakang Pi
Bahagian belakang Pi

Bahagian belakang sistem boleh didapati di github saya. Saya telah menulis perpustakaan saya sendiri untuk protokol seni-jaring jadi jangan ragu untuk menggunakannya. Saya tidak akan memandu anda melalui semuanya demi baris tetapi saya akan memberi anda gambaran besar dari semuanya.

Kod ini menjalankan pelayan termos yang berkomunikasi dengan pelayan apache yang berjalan pada pi. Ia menggunakan modul flask-socketio untuk menghantar & menerima data ke frontend. Lib art-net menggunakan modul soket dari python untuk menghantar paket UDP ke dan dari arduino.

Setiap kaedah yang bermula dengan @ socketio.on ('F2B _ ***') sedang menunggu panggilan F2B dari frontend. Setelah diterima, ia akan melaksanakan tindakan yang sesuai. Jadilah yang menghantar komando artnet atau mendapatkan data dari DB dan menghantarnya kembali ke depan.

Kaedah oled_show_info () digunakan untuk memaparkan ip ip (Kedua-duanya pada antara muka wlan dan ethernet).

jadi jalankan kod dengan

python3 app.py

Langkah 4: Bahagian depan Pi

Bahagian depan Pi
Bahagian depan Pi

Untuk dapat mengedit bahagian depan pi, anda harus terlebih dahulu memberikan akses kepada direktori / var / www / html /. Di sinilah apache mendapat fail untuk dipaparkan di laman webnya. Untuk mendapatkan akses, jalankan:

sudo chmod 777 / var / www / html /

Setelah selesai, dapatkan kod untuk frontend github saya dan letakkan di direktori / var / www / html /.

Frontend menggunakan prinsip yang sama dengan backend tetapi sekarang ia menghantar perintah F2B _ *** apabila butang ditekan atau slider digerakkan.

Dan itulah frontend yang dilakukan!

Langkah 5: The Arduino

The Arduino
The Arduino
The Arduino
The Arduino
The Arduino
The Arduino

Untuk menggunakan arduino, anda perlu menggunakan pelindung ethernet dan pelindung motor. Hanya tekan perlahan-lahan ke arduino. Pastikan anda tidak mendorong perisai motor jauh ke pelindung ethernet atau anda akan memendekkan 2 pin motor pada sambungan ethernet!

Kod untuk arduino juga terdapat di github saya. Muat naik fail artnet_winch.ino dan semuanya semestinya baik.

Pastikan anda menentukan pin yang betul ke pin motor anda yang betul. Pin pelindung motor dipilih dengan pin pengepala di atas pelindung. Pin ini dipilih di bawah // --- motor config. Aswel sebagai pin pengekod yang perlu disambungkan ke pin kanan arduino.

Pastikan juga alamat MAC perisai anda betul. Ini boleh didapati pada pelekat di bawah pelindung dan diedit dalam pemboleh ubah MAC. IP yang anda gunakan untuk pi harus berada dalam jarak yang sama dengan PI, ini biasanya terdapat di layar oled.

Kodnya kelihatan sedikit tetapi tidak sukar difahami. Pada dasarnya pelindung ethernet selalu membaca paket udp yang masuk. Sekiranya paket itu adalah paket Artnet, ia akan menyahkodnya dan mendapat maklumat yang diperlukan daripadanya. Paket artnet yang berbeza dijelaskan dengan baik di laman web Art-Net, jadi jika anda berminat, anda dapat membaca apa yang mereka semua lakukan.

Sekiranya menerima paket ArtPoll, ia akan bertindak balas dengan ArtPollReply. ini digunakan dalam fungsi seruan di backend untuk mencari peranti mana yang ada di rangkaian.

Sekiranya ia menerima dan paket ArtDMX, ia akan menyahkod paket dan menggunakan data yang diberikan untuk melaksanakan perintah persediaan tertentu atau menggerakkan winch pada kedudukannya.

Fungsi move_takel mengubah nilai DMX yang diberikan (antara 0-255) ke kedudukan antara posisi awal dan akhir (0 menjadi akhir dan 255 permulaan). Sekiranya kedudukan pengekod tidak sama dengan nilai yang diubah, winch akan bergerak naik / turun bergantung pada tempat anda berada.

Saya sedang mengusahakan gelung maklum balas antara PI dan arduino supaya dapat mengikuti kedudukannya tetapi arduino saya kehabisan memori untuk menyimpan program:).

Memasang semuanya

Untuk pemasangannya, saya memasang motor pada pemegang logam dan meletakkan sejenis tiub di atasnya. Kemudian pasangkan tali di tiub dan gunakan gulungan pita sebagai pemberat. Ini sangat asas dan anda boleh menjadi sangat kreatif dengan cara anda memasangnya.

Langkah 6: Menghubungkan Semuanya

Setelah arduino dan pi semua disiapkan, pasangkan kedua kabel ethernet pada suis anda dan semestinya!

Anda boleh mengujinya dengan melayari ip wlan yang diberikan di skrin oled dan anda mesti melihat laman web ini. Tekan cari peranti untuk melihat sama ada anda dapat mencari peranti tersebut. Sekiranya tidak menunjukkan apa-apa maka arduino anda tidak tersambung dengan baik atau IP yang anda pilih tidak berada dalam julat yang sama dengan PI.

Sebaik sahaja anda melihat peranti, tekan persediaan. Dalam menu persediaan anda boleh menggerakkan winch dengan menggunakan anak panah dan menguji apakah kedudukan awal dan akhir betul dengan gelangsar.

Pastikan alat kawalan anda juga dipasang ke pelindung dan IP berada dalam jarak yang sama dengan PI dan arduino.

Itu sahaja!

Disyorkan: