Daftar Isi:

Winch Terkendali Art-Net: 6 Langkah
Winch Terkendali Art-Net: 6 Langkah

Video: Winch Terkendali Art-Net: 6 Langkah

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

Halo semuanya, dalam instruksi ini saya akan menjelaskan bagaimana saya membuat winch terkontrol art-net saya. "Kamu apa?" saya mendengar Anda bertanya, baik saya jelaskan dengan sangat cepat. Beberapa tahun yang lalu kami mengadakan pesta dengan rumah pemuda setempat, dan sebagai desain panggung kami memiliki ide untuk membuat atap bergerak.

Dengan 9 derek (takel) kami mengangkat kain putih raksasa dan melalui protokol dmx kami mengendalikannya. Tetapi pada saat itu derek yang kami gunakan di mana 3phase dikendalikan. Jadi untuk membuatnya naik turun kita harus membuat sistem relais yang dikendalikan oleh mega Arduino pusat yang dikendalikan menggunakan dmx. Relai tempat switching tegangan 230V dan 12 amp.

Untuk membuatnya lebih mudah dipahami, kami harus membuat kekacauan kabel dan relai raksasa yang sangat tidak stabil, tidak dapat diandalkan, dan sebenarnya cukup berbahaya.

Jadi kami berpikir bahwa harus ada cara yang lebih baik untuk melakukan ini. Kami mulai berpikir dan sampai pada kesimpulan bahwa cara terbaik untuk melakukan ini adalah melalui sistem modular derek, dikendalikan melalui protokol Art-Net sehingga kami hanya memerlukan sumber tegangan dan kabel ethernet.

Jadi itulah tepatnya yang saya buat dan saya akan mencoba menjelaskan kepada Anda bagaimana saya melakukannya. Seluruh pengaturan bergantung pada raspberry pi yang mengontrol proses pengaturan. Satu pengaturannya, kontrol diberikan ke komputer ringan (Chamsys, dll.) yang akan mengontrol derek dari sana.

Saya berasumsi bahwa Anda memiliki pengetahuan dasar tentang python, arduino, dan raspberry pi serta memahami sesuatu tentang protokol dan pengontrol art-net.

Perlengkapan

Yang Anda perlukan:

  • Raspberry pi
  • Arduino
  • Perisai Ethernet Arduino
  • Pelindung motor Arduino
  • Layar OLED apa pun
  • kabel Ethernet
  • saklar ethernet
  • Motor DC dengan encoder dibangun

Langkah 1: Menyiapkan Raspberry Pi

Ok jadi cara ini akan bekerja adalah raspberry pi akan menjalankan server Apache dan MariaDB. Server apache adalah untuk meng-host situs web, MariaDB adalah untuk menyimpan database tempat kami akan menyimpan data derek.

Saya tidak akan memandu Anda melalui seluruh proses pengaturan pi dengan ssh, jika Anda tidak terbiasa, inilah tutorial yang bagus.

Jadi pertama-tama kami akan memastikan raspberry pi sudah siap, di terminal Anda jalankan:

Untuk menginstal apache

sudo apt install apache2 -y

Untuk menginstal mariaDB

sudo apt-get install mariadb-server

Ini semua ekstensi python yang kita perlukan

pip3 instal mysql-connector-python

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

Untuk tampilan oled kita membutuhkan proses setup yang sedikit lebih sulit yang dapat ditemukan di sini.

Ok itu pi semuanya selesai!

Langkah 2: Memahami Bagaimana Pengaturan Akan Bekerja

Jadi cara mengatur winch adalah dengan memberinya posisi awal dan posisi akhir. Ini akan diberikan saluran tertentu dan dengan saluran ini Anda hanya dapat berpindah antara status yang dipilih dan posisi akhir.

Untuk memilih posisi ini, Anda perlu memindahkan winch ke mereka, begitu Anda berada di sana, Anda akan mengubah saluran tertentu ke nilai 56. Ketika saluran yang tepat ini mencapai nilai itu, ia akan tahu bahwa ini adalah posisi awal / akhir akhirnya., jika perlu naik atau turun atau jika perlu mengubah nilai artnetnya. Memindahkan winch juga dilakukan dengan mengatur saluran tertentu ke 56. "Dan mengapa 56" saya mendengar Anda bertanya-tanya, saya harus memilih sesuatu:).

Posisi dihitung melalui encoder yang ada pada motor DC.

Langkah 3: Backend dari Pi

Bagian belakang Pi
Bagian belakang Pi

Backend untuk sistem dapat ditemukan di github saya. Saya telah menulis perpustakaan saya sendiri untuk protokol art-net jadi jangan ragu untuk menggunakannya. Saya tidak akan memandu Anda melalui semuanya baris demi baris, tetapi saya akan memberi Anda gambaran besar dari semuanya.

Kode menjalankan server labu yang berkomunikasi dengan server apache yang berjalan di pi. Ia menggunakan modul flask-socketio untuk mengirim & menerima data ke frontend. Lib art-net menggunakan modul socket dari python untuk mengirim paket UDP ke dan dari arduino.

Setiap metode yang dimulai dengan @socketio.on('F2B_***') sedang menunggu panggilan F2B dari frontend. Setelah diterima, ia akan menjalankan tindakan yang sesuai. Baik itu mengirim komando artnet atau mendapatkan data dari DB dan mengirimkannya kembali ke depan.

Metode oled_show_info() digunakan untuk menampilkan ip dari ip (Baik pada antarmuka wlan dan ethernet).

jadi jalankan saja kodenya dengan

python3 app.py

Langkah 4: Frontend Pi

Bagian depan Pi
Bagian depan Pi

Untuk dapat mengedit frontend pi, Anda harus terlebih dahulu memberi diri Anda akses ke direktori /var/www/html/. Di sinilah Apache mendapatkan file untuk ditampilkan di situs webnya. Untuk mendapatkan akses, jalankan:

sudo chmod 777 /var/www/html/

Sekarang semuanya selesai, dapatkan kode untuk frontend github saya dan letakkan di direktori /var/www/html/.

Frontend menggunakan prinsip yang sama dengan backend tetapi sekarang ia mengirimkan perintah F2B_*** ketika sebuah tombol ditekan atau slider dipindahkan.

Dan itu frontend selesai!

Langkah 5: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Untuk menggunakan arduino Anda harus menggunakan pelindung ethernet dan pelindung motor. Cukup dorong mereka dengan lembut ke arduino. Pastikan Anda tidak mendorong pelindung motor terlalu jauh ke pelindung ethernet atau Anda akan memperpendek 2 pin motor pada koneksi ethernet!

Kode untuk arduino juga dapat ditemukan di github saya. Unggah file artnet_winch.ino dan semuanya akan baik-baik saja.

Pastikan Anda menentukan pin yang tepat ke pin motor Anda yang benar. Pin motorshield dipilih dengan pin header di atas pelindung. Pin ini dipilih di bawah //--- motor config. Juga sebagai pin encoder yang perlu dihubungkan ke pin kanan arduino.

Pastikan juga alamat MAC perisai Anda sudah benar. Ini dapat ditemukan pada stiker di bawah perisai dan diedit dalam variabel MAC. IP yang Anda gunakan untuk pi harus berada dalam kisaran yang sama dengan PI, ini biasanya dapat ditemukan di layar lama.

Kode terlihat sedikit banyak tetapi tidak terlalu sulit untuk dipahami. Pada dasarnya ethernet shield terus-menerus membaca paket udp yang masuk. Jika paket itu adalah paket Artnet, ia mendekodekannya dan mendapatkan info yang dibutuhkan darinya. Paket artnet yang berbeda dijelaskan dengan baik di situs web Art-Net, jadi jika Anda tertarik, Anda dapat membaca apa yang mereka lakukan.

Jika menerima paket ArtPoll, ia akan merespons dengan ArtPollReply. ini digunakan dalam fungsi info di backend untuk menemukan perangkat mana yang ada di jaringan.

Jika menerima dan paket ArtDMX, ia akan mendekode paket dan menggunakan data yang diberikan untuk menjalankan perintah pengaturan tertentu atau memindahkan winch pada posisinya.

Fungsi move_takel mengubah nilai DMX yang diberikan (antara 0-255) ke posisi antara posisi awal dan akhir (0 menjadi akhir dan 255 awal). Jika posisi encoder tidak sama dengan nilai yang diubah, winch akan bergerak naik/turun tergantung di mana Anda berada.

Saya sedang mengerjakan loop umpan balik antara PI dan arduino sehingga bisa mengikuti posisinya tetapi arduino saya kehabisan memori untuk menyimpan program:).

Memasang semuanya

Untuk pemasangannya saya memasang motor ke dudukan logam dan meletakkan semacam tabung di atasnya. Kemudian hanya menempelkan tali pada tabung dan menggunakan gulungan pita sebagai pemberat. Ini sangat mendasar dan Anda bisa menjadi sangat kreatif dalam cara memasangnya.

Langkah 6: Menghubungkan Semuanya

Setelah arduino dan pi siap, cukup colokkan kedua kabel ethernet di sakelar Anda dan itu saja!

Anda dapat mengujinya dengan berselancar ke wlan ip yang diberikan di layar oled dan Anda akan melihat situsnya. Tekan temukan perangkat untuk melihat apakah Anda dapat menemukan perangkat tersebut. Jika tidak menunjukkan apa-apa maka arduino Anda tidak terhubung dengan baik atau IP yang Anda pilih tidak berada dalam kisaran yang sama dengan PI.

Setelah Anda melihat perangkat, cukup tekan setup. Di menu pengaturan Anda dapat memindahkan winch dengan menggunakan panah dan menguji apakah posisi awal dan akhir sudah benar dengan slider.

Pastikan pengontrol Anda juga dicolokkan ke pelindung dan IP-nya berada dalam jangkauan PI dan arduino.

Itu dia!

Direkomendasikan: