İçindekiler:
- Gereçler
- Adım 1: Raspberry Pi'yi Ayarlama
- Adım 2: Kurulumun Nasıl Çalışacağını Anlama
- Adım 3: Pi'nin Arka Ucu
- Adım 4: Pi'nin Ön Yüzü
- Adım 5: Arduino
- Adım 6: Hepsini Bağlama
Video: Art-Net Kontrollü Vinç: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Herkese merhaba, bu derste art-net kontrollü vincimi nasıl oluşturduğumu açıklayacağım. "Senin neyin?" diye sorduğunuzu duydum, çok hızlı bir şekilde açıklamama izin verin. Birkaç yıl önce yerel gençlik evi ile bir parti verdik ve sahne tasarımı olarak hareketli bir çatı yapma fikrimiz vardı.
9 vinçle (tekler) dev beyaz bir örtü kaldırdık ve protokol dmx ile kontrol ettik. Ama o zamanlar kullandığımız vinçler 3 faz kontrollüydü. Bu yüzden, yukarı ve aşağı gitmesini sağlamak için, dmx kullanılarak kontrol edilen merkezi bir Arduino mega tarafından kontrol edilen bir röle sistemi oluşturmamız gerekiyordu. 230V ve 12 amperlik anahtarlama voltajlarının olduğu röle.
Daha anlaşılır terimlerle ifade etmek gerekirse, süper kararsız, güvenilmez ve aslında oldukça tehlikeli olan dev bir kablo ve röle karmaşası yaratmamız gerekiyordu.
Bu yüzden kendi kendimize, bunu yapmanın daha iyi bir yolu olması gerektiğini düşündük. Düşünmeye başladık ve bunu yapmanın en iyi yolunun Art-Net protokolü üzerinden kontrol edilen modüler bir vinç sistemi aracılığıyla olacağı sonucuna vardık, bu yüzden sadece bir voltaj kaynağına ve bir ethernet kablosuna ihtiyacımız olacaktı.
İşte tam olarak bunu yarattım ve size nasıl yaptığımı açıklamaya çalışacağım. Tüm kurulum, kurulum sürecini kontrol eden bir ahududu pi'ye dayanır. Kurulumu, kontrolü oradan vinçleri kontrol edecek hafif bir bilgisayara (Chamsys, vb.) veriyor.
Art-net protokolü ve denetleyiciler hakkında bir şeyler anladığınız gibi temel python, arduino ve ahududu pi bilgisine sahip olduğunuzu varsayıyorum.
Gereçler
Neye ihtiyacınız olacak:
- ahududu pi
- Arduino
- Arduino Ethernet kalkanı
- Arduino motor kalkanı
- Herhangi bir OLED ekran
- Ethernet kablosu
- ethernet anahtarı
- Enkoder yapılı DC Motor
Adım 1: Raspberry Pi'yi Ayarlama
Tamam, bunun çalışma şekli, ahududu pi'nin bir Apache ve bir MariaDB sunucusu çalıştırmasıdır. Apache sunucusu web sitesini barındırmak, MariaDB ise vinçlerin verilerini depolayacağımız bir veritabanı tutmaktır.
Pi'yi ssh ile kurmanın tüm süreçlerinde size rehberlik etmeyeceğim, eğer aşina değilseniz, işte iyi bir eğitim.
Öncelikle, terminal çalıştırmanızda ahududu pi'nin tamamen kurulduğundan emin olacağız:
apache'yi yüklemek için
sudo apt apache2'yi yükleyin -y
mariaDB'yi yüklemek için
sudo apt-get install mariadb-server
İhtiyacımız olan tüm python uzantıları bunlar
pip3 mysql-connector-python'u kurun
pip3 flask-socketio kurulumu pip3 flask-cors kurulumu pip3 kurulumu gevent pip3 kurulumu gevent-websocket kurulumu pip3 netifaces kurulumu
Oled ekran için burada bulunabilecek biraz daha zor kurulum sürecine ihtiyacımız var.
Tamam pi bu kadar!
Adım 2: Kurulumun Nasıl Çalışacağını Anlama
Yani vinci nasıl kurmak istersiniz, ona bir başlangıç konumu ve bir bitiş konumu vererek. Belirli bir kanala atanacak ve bu kanal ile sadece seçilen stat ve bitiş pozisyonu arasında hareket edebileceksiniz.
Bu konumu seçmek için vinci onlara hareket ettirmeniz gerekecek, oraya vardığınızda belirli bir kanalı 56 değerine çevireceksiniz. Bu tam kanal bu değere ulaştığında bunun onun son başlangıç / bitiş konumu olduğunu bilecektir., yukarı veya aşağı hareket etmesi gerekiyorsa veya artnet değerlerini değiştirmesi gerekiyorsa. Vinci hareket ettirmek de belirli bir kanalı 56'ya ayarlayarak yapılır. "Peki neden 56" diye merak ettiğinizi duydum, bir şey seçmem gerekiyordu:).
Konum, DC motor üzerinde bulunan enkoder üzerinden hesaplanır.
Adım 3: Pi'nin Arka Ucu
Sistemin arka ucu benim github'ımda bulunabilir. Art-net protokolü için kendi kütüphanemi yazdım, bu yüzden onu kullanmaktan çekinmeyin. Size her şeyi satır satır anlatmayacağım ama size her şeyin büyük resmini vereceğim.
Kod, pi üzerinde çalışan apache sunucusuyla iletişim kuran bir şişe sunucusunu çalıştırır. Ön uca veri göndermek ve almak için flask-socketio modülünü kullanır. art-net lib, arduino'ya ve arduino'dan UDP paketleri göndermek için python'dan soket modülünü kullanır.
@socketio.on('F2B_***') ile başlayan her yöntem, ön uçtan bir F2B çağrısı beklemektedir. Alındıktan sonra buna göre eylemi gerçekleştirecektir. İster bir artnet komando gönderin, ister DB'den veri alın ve onu öne geri gönderin.
oled_show_info() yöntemi ipin ipini görüntülemek için kullanılır (hem wlan hem de ethernet arayüzlerinde).
bu yüzden sadece kodu çalıştırın
python3 uygulaması.py
Adım 4: Pi'nin Ön Yüzü
Pi'nin ön ucunu düzenleyebilmek için önce kendinize /var/www/html/ dizinine erişim vermeniz gerekir. Burası apache'nin dosyalarını web sitesinde görüntülemek için aldığı yerdir. Erişimi almak için şunu çalıştırın:
sudo chmod 777 /var/www/html/
Şimdi hepsi bitti, github'ımın ön ucunun kodunu alın ve /var/www/html/ dizinine yerleştirin.
Ön uç, arka uç ile aynı prensibi kullanır, ancak şimdi bir düğmeye basıldığında veya kaydırıcı hareket ettirildiğinde F2B_*** komutlarını gönderir.
Ve işte önyüz yapıldı!
Adım 5: Arduino
Arduino'yu kullanmak için ethernet kalkanını ve motor kalkanını kullanmanız gerekecek. Onları nazikçe arduinoya itin. Motor blendajını ethernet blendajına fazla itmediğinizden emin olun, aksi takdirde ethernet bağlantısındaki 2 motor pinini kısa devre yapacaksınız!
Arduino'nun kodu benim github'ımda da bulunabilir. artnet_winch.ino dosyasını yükleyin ve her şey yolunda olsun.
Doğru pinleri motorunuzun doğru pinlerine tanımladığınızdan emin olun. Motor kalkanı pimleri, kalkanın üstündeki başlık pimleri ile seçilir. Bu pinler //--- motor konfigürasyonu altında seçilir. Arduino'nun sağ pinlerine bağlanması gereken enkoder pinleri gibi.
Ayrıca kalkanın MAC adresinin doğru olduğundan emin olun. Bu, kalkanın altındaki bir çıkartmada bulunabilir ve MAC değişkeninde düzenlenebilir. Pi için kullandığınız IP'nin PI ile aynı aralıkta olması gerekir, bu normalde oled ekranında bulunabilir.
Kod biraz fazla görünüyor ama anlaşılması o kadar da zor değil. Temel olarak ethernet kalkanı sürekli gelen udp paketlerini okur. Bu paket bir Artnet paketiyse, kodunu çözer ve ihtiyaç duyduğu bilgiyi ondan alır. Farklı artnet paketleri, Art-Net web sitesinde güzel bir şekilde açıklanmıştır, bu yüzden eğer ilgileniyorsanız, hepsinin ne yaptığını okuyabilirsiniz.
Bir ArtPoll paketi alırsa, bir ArtPollReply ile yanıt verecektir. bu, ağda hangi cihazların olduğunu bulmak için arka uçtaki belirtme işlevinde kullanılır.
ArtDMX paketi alırsa, paketin kodunu çözer ve verilen verileri belirli kurulum komutlarını yürütmek veya vinci yerine hareket ettirmek için kullanır.
move_takel işlevi, verilen DMX değerini (0-255 arasında) başlangıç ve bitiş konumu (0 bitiş ve 255 başlangıç) arasındaki bir konuma dönüştürür. Enkoderin konumu dönüştürülen değere eşit değilse, vinç bulunduğunuz yere bağlı olarak yukarı/aşağı hareket edecektir.
Konumuna ayak uydurabilmesi için PI ve arduino arasında bir geri bildirim döngüsü üzerinde çalışıyordum ama arduinomun programı depolamak için belleği tükendi:).
hepsini monte etmek
Montajı için motoru metal bir tutucuya bağladım ve üstüne bir tür boru koydum. Daha sonra tüpe bir kordon bağlayıp ağırlık olarak bir rulo bant kullandık. Bu çok basit ve onu monte etmek istediğiniz şekilde çok yaratıcı olabilirsiniz.
Adım 6: Hepsini Bağlama
Arduino ve pi kurulumu tamamlandıktan sonra, anahtarınıza her iki ethernet kablosunu da takmanız yeterlidir, hepsi bu kadar!
Oled ekranında verilen wlan ip'e girerek test edebilir ve siteyi görmelisiniz. Aygıtı bulup bulamayacağınızı görmek için aygıt bul'a basın. Hiçbir şey göstermiyorsa, arduino'nuz iyi bağlanmamıştır veya seçtiğiniz IP, PI ile aynı aralıkta değildir.
Cihazı gördüğünüzde sadece kuruluma basın. Kurulum menüsünde vinci okları kullanarak hareket ettirebilir ve kaydırıcı ile başlangıç ve bitiş konumlarının doğru olup olmadığını test edebilirsiniz.
Denetleyicinizin kalkana da takılı olduğundan ve IP'sinin PI ve arduino aralığında olduğundan emin olun.
Bu kadar!
Önerilen:
DIY Arduino Bluetooth Kontrollü Araba: 6 Adım (Resimli)
DIY Arduino Bluetooth Kontrollü Araba: Merhaba arkadaşlar! Benim adım Nikolas, 15 yaşındayım ve Atina, Yunanistan'da yaşıyorum. Bugün size Arduino Nano, 3D yazıcı ve bazı basit elektronik bileşenler kullanarak 2 Tekerlekli Bluetooth Kontrollü Araba yapmayı göstereceğim! Benimkini mutlaka izleyin
Hız Kontrollü ve Mesafe Ölçümlü Bluetooth Kontrollü RC Araba: 8 Adım
Hız Kontrollü ve Mesafe Ölçümlü Bluetooth Kontrollü RC Araba: Çocukken RC arabalara her zaman hayrandım. Günümüzde Arduino yardımıyla ucuz Bluetooth kontrollü RC arabaları kendiniz yapmak için birçok öğretici bulabilirsiniz. Hadi bir adım daha ileri gidelim ve pratik kinematik bilgimizi hesaplamak için kullanalım
Ağ Üzerinden (wifi veya Hotspot) Casusluk Kameralı Kablosuz Vinç Modeli (SMART BOT): 8 Adım
Ağ Üzerinden (wifi veya Hotspot) Casus Kameralı Kablosuz Vinç Modeli (SMART BOT): Herhangi bir projeyi yapmak için bazı adımlardan geçiyoruz: - projelerle ilgili fikirlerin aranması, proje için gerekli malzemelerin faturalandırılması PCB ve breadboard üzerinde deneme
Bluetooth Uygulama Kontrollü Pixel Art LED Çerçeve: 9 Adım
Bluetooth Uygulama Kontrollü Pixel Art LED Çerçeve: Materials32x16 LED Matrix- Adafruit 24,99$PIXEL Maker's Kit- Seeedstudio 59$ (PIXEL Maker Kit'in yaratıcısı olduğumu unutmayın)iOS Bluetooth uygulaması veya Android Bluetooth Uygulaması - Ücretsiz1/8"; lazer kesim için akrilik malzeme 12x20 - 153$/16"; akrilik
El Krank Knex Vinç: 8 Adım
El Krank Knex Vinç: Bunu yapmaya karar verdim çünkü bir şeyleri kaldırmak için düz bir şekilde yukarı çekmenin bir yolunu bulmaya çalışıyordum ve diz motorlarının yeterli torku yok