Obsah:

Timův ovladač PCA9685: 5 kroků (s obrázky)
Timův ovladač PCA9685: 5 kroků (s obrázky)

Video: Timův ovladač PCA9685: 5 kroků (s obrázky)

Video: Timův ovladač PCA9685: 5 kroků (s obrázky)
Video: Ovládání 32 servomotorů pomocí PCA9685 a Arduino: V3 2024, Červenec
Anonim
Timův ovladač PCA9685
Timův ovladač PCA9685

Mnoho projektů provedených s Arduinem zahrnuje použití serva.

Pokud používáte pouze jedno nebo dvě serva, lze je ovládat přímo z Arduina pomocí knihovny a přidělování pinů.

Ale pro projekty, které vyžadují ovládání mnoha serv, může být lepší volbou (řekněme si to celým názvem) PCA9685 16kanálový, 12bitový PWM Fm+ I2C-bus LED ovladač.

Ovladač LED PCA9685, i když je určen k ovládání LED, lze nakonfigurovat tak, aby ovládal servo. (Datový list)

PCA9685 komunikuje přes I2C a má 64 možných adres, což znamená, že 64 z těchto zařízení lze řetězit jeden za druhým, každé s 16 servy nebo LED připojenými ke každému. To je celkem 1024 čísel, které lze ovládat z jednoho Arduina.

Nyní máme projekt, který má mnoho servo k ovládání, řekněme čtyřnohého robota. Každá noha má dvě servo k ovládání. (začínáme jednoduše, teoreticky moje aplikace může ovládat 1024)

Nastavení osmi serv, hledání nastavení trimů pro každé, určení max. a min. pozice, může být časově velmi náročné.

Psaní a přepisování kódu, abyste zjistili, co se stane, může být docela bolest.

Rozhodl jsem se tedy vytvořit aplikaci, která vše zjednoduší, a pomoci najít všechna požadovaná nastavení serv a být schopen spouštět sekvence (skripty) pro testování příkazů odeslaných na servo.

Krok 1: Připojení

"loading =" líný"

Sekce Script je zábavná část, kde můžete vytvářet sekvence pozic Servo.

Nechte svůj projekt dělat to, co chcete.

  • Tlačítko Přidat hodnotu přidá aktuální nastavení posuvníku.
  • Tlačítko Přidat zpoždění přidá zpoždění v milisekundách nastavené v poli vedle tlačítka.
  • Tlačítko Přidat adresu přidá příkazový přepínač do jiného PCA9685 (změna adresy vlevo nahoře), který také používal ke změně režimu, režimu Servo nebo režimu LED.
  • Tlačítko Spustit skript F spustí aktuální skript vpřed.
  • Tlačítko Spustit skript R spustí aktuální skript obráceně.
  • Zaškrtávací políčko Smyčka spouští aktuální skript znovu a znovu, když je stisknuto jedno z tlačítek Spustit skript. Chcete-li smyčku zastavit, zrušte zaškrtnutí políčka.
  • Tlačítko Vymazat skript slouží pouze k vymazání všech příkazů skriptu.
  • Tlačítko Načíst načte dříve uložený skript.
  • Tlačítko Uložit uloží aktuální skript.

Poznámka!

Do aplikace jsem nenapsal žádnou kontrolu skriptů, skript musí dodržovat následující pravidla:

Jeden řádek na příkaz, hodnoty oddělené mezerou.

  • Servo příkaz začíná „S“, za nímž následuje šestnáct hodnot, každá hodnota mezi 0 a 600
  • Příkaz LED začíná „L“, za nímž následuje šestnáct hodnot, každá hodnota mezi 0 a 4095
  • Příkaz Dely začíná písmenem „D“následovaným jednou hodnotou v rozmezí 0 až 10 000
  • Příkaz Address začíná písmenem „A“, za nímž následuje jedna hodnota a slovo. Hodnota mezi 0 a 64. Slovo „Servo“nebo „LED“.

Aplikace může ovládat Servo nebo LED, Nedávejte LED a Servo na stejnou Breakout Board, Servo a LED potřebují pro správnou funkci jinou frekvenci.

Pokud se pokusíte ovládat servo pomocí nastavení LED, mohou se zbláznit, neublíží jim to, ale pokud jsou nainstalovány v projektu, možná nebudete chtít, aby se přesunuly do nějaké pozice.

Udělal jsem video nějakého jednoduchého skriptu.

Krok 5: Epilog

Jak se pokyny týkají pokynů, většina lidí očekává, že na konci instrukce skončí s fyzickou položkou.

Zjistil jsem, že neexistuje žádná realistická kategorie pro software.

Předpokládám, že byste to mohli klasifikovat jako nástroj, i tak instrukce není, jak nástroj vyrobit, ale jak ho použít.

Naštěstí díky tomuto nástroji budou lidé schopni vytvářet lepší projekty s Arduino pomocí serv nebo LED polí.

Omluvte prosím in video projektu v akci, používal jsem ESP32-CAM breakout board s jinou aplikací, kterou jsem vytvořil pro prohlížení obrázků z ESP32-CAM.

UPRAVIT

Vylepšil jsem to.

Aktualizace naleznete zde: Tims_PCA_9685_Controller

Doporučuje: