Indholdsfortegnelse:

Tims PCA9685 -controller: 5 trin (med billeder)
Tims PCA9685 -controller: 5 trin (med billeder)

Video: Tims PCA9685 -controller: 5 trin (med billeder)

Video: Tims PCA9685 -controller: 5 trin (med billeder)
Video: How to control Servo Motor using ESP32 with Arduino ESP32 Servo library 2024, November
Anonim
Tims PCA9685 -controller
Tims PCA9685 -controller

Mange projekter udført med Arduino involverer brug af en servo.

Hvis du kun bruger en eller to servoer, kan disse styres direkte fra en Arduino ved hjælp af et bibliotek og tildele stifter til dette.

Men til projekter, der har brug for mange servoer, der skal styres, er (muligvis give det sit fulde navn) PCA9685 16-kanals, 12-bit PWM Fm+ I2C-bus LED-controller muligvis det bedre valg.

PCA9685 LED -controlleren, selvom den er designet til at styre LED'er, kan konfigureres til at styre Servo. (Datablad)

PCA9685 kommunikerer via I2C og har 64 mulige adresser, det betyder, at 64 af disse enheder kan være daisy -lænket efter hinanden, hver med 16 servo eller LED tilsluttet hver. Det er i alt 1024 tal, der kan styres fra en Arduino.

Nu har vi et projekt, der har mange Servo at styre, lad os sige en firbenet robot. Hvert ben har to servoer til at styre det. (vi starter enkelt, i teorien kan min app styre 1024)

Opsætning af otte servo, find trimindstilling for hver, bestemmelse der max. og min. stillinger, kan være meget tidskrævende.

At skrive og omskrive kode for at se, hvad der sker, kan være lidt smertefuldt.

Så jeg beslutter mig for at lave en applikation for at gøre tingene enkle og hjælpe med at finde hver nødvendige Servo -indstilling og kunne køre sekvenser (script) for at teste kommandoer sendt til servoen.

Trin 1: Forbindelser

"loading =" doven"

Scriptafsnittet er den sjove del, det er her du kan oprette sekvenser af Servopositioner.

Få dit projekt til at gøre, hvad du vil have det til at gøre.

  • Knappen Tilføj værdi tilføjer de aktuelle skyderindstillinger.
  • Knappen Tilføj forsinkelse tilføjer en forsinkelse i millisekunder, der er angivet i feltet ud for knappen.
  • Knappen Tilføj adresse tilføjer en kommandokontakt til en anden PCA9685 (skift adresse til øverst til venstre) den bruges også til at skifte tilstand, Servotilstand eller LED -tilstand.
  • Kør script F -knappen, kører det aktuelle script fremad.
  • Kør Script R -knappen, kører det aktuelle script omvendt.
  • Afkrydsningsfeltet Loop får det aktuelle script til at køre igen og igen, når der trykkes på en af Run Script -knapperne. Fjern markeringen i afkrydsningsfeltet for at stoppe sløjfen.
  • Knappen Ryd script, gør netop det, det rydder alle scriptkommandoer.
  • Knappen Load indlæser et tidligere gemt script.
  • Knappen Gem gemmer det aktuelle script.

Bemærk!

Jeg har ikke skrevet noget script, der tjekker ind i applikationen, scripten skal følge følgende regler:

Én linje pr. Kommando, værdier adskilt af et mellemrum.

  • Servokommando starter med "S" efterfulgt af seksten værdier, hver værdi mellem 0 og 600
  • LED -kommando starter med "L" efterfulgt af seksten værdier, hver værdi mellem 0 og 4095
  • Dely -kommandoen starter med "D" efterfulgt af en værdi mellem 0 og 10.000
  • Adressekommando starter med "A" efterfulgt af en værdi og et ord. Værdien mellem 0 og 64. Ordet er "Servo" eller "LED".

Applikationen kan styre Servo eller LED. Sæt ikke LED og Servo på det samme Breakout Board, Servo og LED har brug for forskellige frekvenser for at køre korrekt.

Hvis du forsøger at styre servo med LED -indstillingerne, kan de freak out, det vil ikke skade dem, men hvis de er installeret i et projekt, vil du måske ikke have, at de flytter til noget besiddelse.

Jeg har lavet video af et enkelt script.

Trin 5: Epilog

Efterhånden som instruktionerne går på Instructables, forventer de fleste mennesker at ende med et fysisk element i slutningen af en instruktion.

Jeg finder, at der ikke er nogen realistisk kategori for software.

Jeg formoder, at du kunne klassificere det som et værktøj, men instruktionen er ikke, hvordan du laver værktøjet, det er, hvordan du bruger det.

Forhåbentlig ved at have et værktøj som dette, vil folk være i stand til at lave bedre projekter med Arduino ved hjælp af Servoer eller LED -arrays.

Undskyld venligst videoen af projektet i aktion, jeg brugte et ESP32-CAM breakout board med et andet program, jeg lavede til at se billeder fra ESP32-CAM.

REDIGERE

Jeg har forbedret det.

Opdateringer findes her: Tims_PCA_9685_Controller

Anbefalede: