Innehållsförteckning:

Tims PCA9685 -kontroller: 5 steg (med bilder)
Tims PCA9685 -kontroller: 5 steg (med bilder)

Video: Tims PCA9685 -kontroller: 5 steg (med bilder)

Video: Tims PCA9685 -kontroller: 5 steg (med bilder)
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, November
Anonim
Tims PCA9685 -kontroller
Tims PCA9685 -kontroller

Många projekt som gjorts med Arduino innebär att du använder en servo.

Om du bara använder en eller två servo kan dessa styras direkt från en Arduino med hjälp av ett bibliotek och tilldela stift för att göra detta.

Men för projekt som kräver att många servo ska styras kan (kan ge det dess fullständiga namn) PCA9685 16-kanals, 12-bitars PWM Fm+ I2C-bus LED-styrenhet vara det bättre valet.

PCA9685 LED -styrenheten är utformad för att styra lysdioder, men kan konfigureras för att styra Servo. (Datablad)

PCA9685 kommunicerar via I2C och har 64 möjliga adresser, det betyder att 64 av dessa enheter kan kopplas ihop med varandra, var och en med 16 servo eller LED ansluten till var och en. Det är totalt 1024 nummer som kan styras från en Arduino.

Nu har vi ett projekt som har många Servo att kontrollera, låt oss säga en fyrbent robot. Varje ben har två servo för att styra det. (vi börjar enkelt, i teorin kan min app styra 1024)

Ställer in åtta servo, hittar triminställningen för varje, bestämmer där max. och min. positioner, kan vara mycket tidskrävande.

Att skriva och skriva om kod för att se vad som händer kan vara ganska jobbigt.

Så jag bestämmer mig för att göra en applikation för att göra saker enkla och hjälpa till att hitta varje Servo -inställning som krävs och kunna köra sekvenser (script) för att testa kommandon som skickas till servon.

Steg 1: Anslutningar

"laddar =" lat"

Scriptavsnittet är den roliga delen, det är här du kan skapa sekvenser av Servopositioner.

Få ditt projekt att göra det du vill att det ska göra.

  • Knappen Lägg till värde lägger till de aktuella reglageinställningarna.
  • Knappen Lägg till fördröjning lägger till en fördröjning i millisekunder som anges i rutan bredvid knappen.
  • Knappen Lägg till adress, lägger till en kommandobrytare till en annan PCA9685, (ändra adress längst upp till vänster) den användes också för att ändra läge, servoläge eller LED -läge.
  • Knappen Skript F kör det aktuella skriptet framåt.
  • Knappen Kör skript R kör det aktuella skriptet i omvänd ordning.
  • Kryssrutan Loop gör att det aktuella skriptet körs om och om igen när en av knapparna Kör skript trycks in. Avmarkera kryssrutan för att stoppa slingan.
  • Knappen Rensa skript, gör just det, det rensar alla skriptkommandon.
  • Knappen Ladda, läser in ett tidigare sparat skript.
  • Spara -knappen sparar det aktuella skriptet.

Notera!

Jag har inte skrivit något manus som checkar in i programmet, skriptet måste följa följande regler:

En rad per kommando, värden separerade med ett mellanslag.

  • Servokommando börjar med "S" följt av sexton värden, varje värde mellan 0 och 600
  • LED -kommando börjar med "L" följt av sexton värden, varje värde mellan 0 och 4095
  • Dely -kommandot börjar med "D" följt av ett värde, mellan 0 och 10 000
  • Adresskommandot börjar med "A" följt av ett värde och ett ord. Värdet mellan 0 och 64. Ordet är "Servo" eller "LED".

Applikationen kan styra Servo eller LED, sätt inte LED och Servo på samma Breakout Board, Servo och LED behöver olika frekvens för att fungera korrekt.

Om du försöker styra servo med LED -inställningarna kan de skrämma ut, det skadar dem inte, men om de är installerade i ett projekt kanske du inte vill att de ska flytta till någon möjlighet.

Jag har gjort video med ett enkelt skript.

Steg 5: Epilog

När instruktionerna går på Instructables, förväntar de flesta att sluta med ett fysiskt föremål i slutet av en instruktion.

Jag tycker att det inte finns någon realistisk kategori för programvara.

Jag antar att du kan klassa det som ett verktyg, men instruktionen är inte hur man gör verktyget, det är hur man använder det.

Förhoppningsvis genom att ha ett verktyg som detta kommer människor att kunna göra bättre projekt med Arduino med Servos eller LED -matriser.

Ursäkta videon av projektet i aktion, jag använde ett ESP32-CAM-utbrottskort med ett annat program som jag gjorde för att se bilder från ESP32-CAM.

REDIGERA

Jag har förbättrat det.

Uppdateringar hittar du här: Tims_PCA_9685_Controller

Rekommenderad: