Innholdsfortegnelse:

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

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

Video: Tims PCA9685 -kontroller: 5 trinn (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

Mange prosjekter som er gjort med Arduino, innebærer bruk av en servo.

Hvis du bare bruker en eller to servoer, kan disse styres direkte fra en Arduino ved å bruke et bibliotek og tildele pins for å gjøre dette.

Men for prosjekter som trenger mange servoer som skal kontrolleres, kan (kan vi gi det hele navnet) PCA9685 16-kanals, 12-biters PWM Fm+ I2C-bus LED-kontroller være det bedre valget.

PCA9685 LED -kontrolleren, selv om den er designet for å kontrollere LED -er, kan konfigureres for å kontrollere Servo. (Dataark)

PCA9685 kommuniserer via I2C og har 64 mulige adresser, dette betyr at 64 av disse enhetene kan være daisy lenket etter hverandre, hver med 16 servo eller LED festet til hver. Det er totalt 1024 tall som kan styres fra en Arduino.

Nå har vi et prosjekt som har mange Servo å kontrollere, la oss si en firbeint robot. Hvert bein har to servoer for å kontrollere det. (vi starter enkelt, i teorien kan appen min kontrollere 1024)

Setter opp åtte servoer, finner triminnstillingen for hver, bestemmer der maks. og min. stillinger, kan være svært tidkrevende.

Å skrive og skrive om kode for å se hva som skjer, kan være ganske vondt.

Så jeg bestemmer meg for å lage et program for å gjøre ting enkelt, og hjelpe til med å finne hver Servo -innstilling som kreves og kunne kjøre sekvenser (script) for å teste kommandoer sendt til servoen.

Trinn 1: Tilkoblinger

"lasting =" lat"

Script -delen er den morsomme delen, det er her du kan lage sekvenser av Servoposisjoner.

Få prosjektet til å gjøre det du vil at det skal gjøre.

  • Legg til verdi -knappen, legger til gjeldende glidebryterinnstillinger.
  • Legg til forsinkelse -knappen, legger til en forsinkelse i millisekunder som er angitt i boksen ved siden av knappen.
  • Legg til adresse -knappen, legger til en kommandobryter til en annen PCA9685, (endre adresse øverst til venstre) den brukte også til å endre modus, Servomodus eller LED -modus.
  • Kjør script F -knappen, kjører det nåværende skriptet fremover.
  • Kjør skript R -knappen, kjører gjeldende skript omvendt.
  • Avmerkingsboksen Loop gjør at det nåværende skriptet kjøres om og om igjen når du trykker på en av Run Script -knappene. Merk av i avmerkingsboksen for å stoppe sløyfen.
  • Slett script -knappen, gjør nettopp det, det sletter alle skriptkommandoer.
  • Last inn -knappen, laster inn et tidligere lagret skript.
  • Lagre -knappen lagrer gjeldende skript.

Merk!

Jeg har ikke skrevet noen skript som sjekker inn i programmet, skriften må følge følgende regler:

Én linje per kommando, verdier atskilt med et mellomrom.

  • Servokommando starter med "S" etterfulgt av seksten verdier, hver verdi mellom 0 og 600
  • LED -kommando starter med "L" etterfulgt av seksten verdier, hver verdi mellom 0 og 4095
  • Dely -kommandoen starter med "D" etterfulgt av en verdi, mellom 0 og 10.000
  • Adressekommando starter med "A" etterfulgt av en verdi og et ord. Verdien mellom 0 og 64. Ordet er "Servo" eller "LED".

Søknaden kan kontrollere Servo eller LED. Ikke sett LED og Servo på samme Breakout Board, Servo og LED trenger forskjellig frekvens for å kjøre riktig.

Hvis du prøver å kontrollere servoen med LED -innstillingene, kan de freak ut, det vil ikke skade dem, men hvis de er installert i et prosjekt, vil du kanskje ikke at de skal flytte til noen mulighet.

Jeg har laget video av et enkelt skript.

Trinn 5: Epilog

Etter hvert som instruksjonene går på Instructables, forventer de fleste å ende opp med et fysisk element på slutten av en instruksjon.

Jeg synes det er ingen realistisk kategori for programvare.

Jeg antar at du kan klassifisere det som et verktøy, men instruksjonen er ikke hvordan du lager verktøyet, det er hvordan du bruker det.

Forhåpentligvis vil folk ved å ha et verktøy som dette kunne lage bedre prosjekter med Arduino ved hjelp av servoer eller LED -matriser.

Unnskyld i videoen av prosjektet i aksjon, jeg brukte et ESP32-CAM breakout-kort med et annet program jeg laget for å se bilder fra ESP32-CAM.

REDIGERE

Jeg har forbedret det.

Oppdateringer finner du her: Tims_PCA_9685_Controller

Anbefalt: