İçindekiler:

Tim'in PCA9685 Kontrol Cihazı: 5 Adım (Resimlerle)
Tim'in PCA9685 Kontrol Cihazı: 5 Adım (Resimlerle)

Video: Tim'in PCA9685 Kontrol Cihazı: 5 Adım (Resimlerle)

Video: Tim'in PCA9685 Kontrol Cihazı: 5 Adım (Resimlerle)
Video: Complete guide to PCA9685 16 channel Servo controller for Arduino with code Version of 5 ( V1) 2024, Kasım
Anonim
Tim'in PCA9685 Denetleyicisi
Tim'in PCA9685 Denetleyicisi

Arduino ile yapılan birçok proje bir Servo kullanmayı içerir.

Sadece bir veya iki servo kullanılıyorsa, bunlar bir kütüphane kullanılarak ve bunu yapmak için pinler tahsis edilerek doğrudan bir Arduino'dan kontrol edilebilir.

Ancak kontrol edilmesi için çok sayıda servoya ihtiyaç duyan projeler için (tam adını verelim) PCA9685 16-kanal, 12-bit PWM Fm+ I2C-bus LED Kontrolör daha iyi bir seçim olabilir.

PCA9685 LED kontrolörü, LED'leri kontrol etmek için tasarlanmış olmasına rağmen, Servo'yu kontrol etmek için konfigüre edilebilir. (Veri Sayfası)

PCA9685, I2C üzerinden iletişim kurar ve 64 olası adrese sahiptir, bu, bu cihazlardan 64'ünün birbiri ardına zincirleme bağlanabileceği anlamına gelir, her birine 16 servo veya LED takılıdır. Bu, bir Arduino'dan kontrol edilebilen 1024 sayıdır.

Şimdi kontrol etmesi gereken birçok Servo'ya sahip bir projemiz var, diyelim ki dört ayaklı bir robot. Her bacağın onu kontrol etmek için iki servosu vardır. (basit başlıyoruz, teoride uygulamam 1024'ü kontrol edebilir)

Sekiz servo kurmak, her biri için trim ayarını bulmak, orada maks. ve dk. pozisyonlar, çok zaman alıcı olabilir.

Ne olduğunu görmek için kod yazmak ve yeniden yazmak oldukça acı verici olabilir.

Bu yüzden, işleri basitleştirmek için bir uygulama yapmaya karar verdim ve gereken her Servo ayarını bulmaya ve servoya gönderilen komutları test etmek için dizileri (komut dosyası) çalıştırabilmeye yardımcı oldum.

Adım 1: Bağlantılar

"yükleniyor="tembel"

Script bölümü eğlenceli kısımdır, burası Servo pozisyonlarının dizilerini oluşturabileceğiniz yerdir.

Projenizin yapmasını istediğiniz şeyi yapmasını sağlayın.

  • Değer Ekle düğmesi, geçerli kaydırıcı ayarlarını ekler.
  • Gecikme Ekle düğmesi, düğmenin yanındaki kutuya ayarlanan milisaniye cinsinden bir gecikme ekler.
  • Adres Ekle düğmesi, farklı bir PCA9685'e bir komut anahtarı ekler (adresi sol üstte değiştirin), aynı zamanda modu, Servo modunu veya LED modunu değiştirmek için de kullanılır.
  • Run Script F düğmesi, mevcut betiği ileriye doğru çalıştırır.
  • Run Script R düğmesi, mevcut betiği tersten çalıştırır.
  • Döngü onay kutusu, Komut Dosyasını Çalıştır düğmelerinden birine basıldığında geçerli komut dosyasının tekrar tekrar çalışmasını sağlar. Döngüyü durdurmak için onay kutusunun işaretini kaldırın.
  • Komut Dosyasını Temizle düğmesi tam da bunu yapar, tüm komut dosyası komutlarını temizler.
  • Yükle düğmesi, önceden kaydedilmiş bir komut dosyasını yükler.
  • Kaydet düğmesi, geçerli komut dosyasını kaydeder.

Not!

Uygulamaya herhangi bir komut dosyası denetimi yazmadım, komut dosyası aşağıdaki kurallara uymalıdır:

Komut başına bir satır, bir boşlukla ayrılmış değerler.

  • Servo komutu "S" ile başlar, ardından her biri 0 ile 600 arasında on altı değer gelir
  • LED komutu "L" ile başlar, ardından her biri 0 ile 4095 arasında on altı değer gelir
  • Dely komutu "D" ile başlar ve ardından 0 ile 10.000 arasında bir değer gelir
  • Adres komutu "A" ile başlar, ardından bir değer ve bir kelime gelir. 0 ile 64 arasındaki değer. Kelimenin "Servo" veya "LED" olması.

Uygulama Servo veya LED'i kontrol edebilir, LED ve Servo'yu aynı Breakout Board'a koymayın, Servo ve LED'in doğru çalışması için farklı frekans gerekir.

Servoyu LED ayarları ile kontrol etmeye çalışırsanız çıldırabilirler, onlara zarar vermezler ama bir projeye kurulurlarsa bir pozisyona geçmelerini istemeyebilirsiniz.

Bazı basit komut dosyasının videosunu yaptım.

Adım 5: Son Söz

Talimatlar Instructables'ta devam ederken, çoğu insan bir talimatın sonunda fiziksel bir öğeyle sonuçlanmasını bekler.

Yazılım için gerçekçi bir kategori olmadığını görüyorum.

Sanırım onu bir araç olarak sınıflandırabilirsiniz, öyle olsa bile, talimat aracın nasıl yapılacağı değil, nasıl kullanılacağıdır.

Umarım böyle bir araca sahip olarak, insanlar Arduino ile Servo veya LED dizileri kullanarak daha iyi projeler yapabilecekler.

Lütfen projenin uygulamadaki videosunu mazur görün, ESP32-CAM'den görüntüleri görüntülemek için yaptığım başka bir uygulama ile bir ESP32-CAM devre kartı kullanıyordum.

DÜZENLE

Onu geliştirdim.

Güncellemeler burada bulunabilir: Tims_PCA_9685_Controller

Önerilen: