Sommario:

Controller PCA9685 di Tim: 5 passaggi (con immagini)
Controller PCA9685 di Tim: 5 passaggi (con immagini)

Video: Controller PCA9685 di Tim: 5 passaggi (con immagini)

Video: Controller PCA9685 di Tim: 5 passaggi (con immagini)
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, Dicembre
Anonim
Controller PCA9685 di Tim
Controller PCA9685 di Tim

Molti progetti realizzati con Arduino prevedono l'utilizzo di un Servo.

Se si utilizzano solo uno o due servo, questi possono essere controllati direttamente da un Arduino utilizzando una libreria e allocando i pin per farlo.

Ma per i progetti che richiedono il controllo di molti servo, il controller LED (dagli il nome completo) PCA9685 a 16 canali e 12 bit PWM Fm + I2C-bus LED, potrebbe essere la scelta migliore.

Il controller LED PCA9685, sebbene progettato per controllare i LED, può essere configurato per controllare Servo. (Scheda dati)

Il PCA9685 comunica tramite I2C e ha 64 indirizzi possibili, ciò significa che 64 di questi dispositivi possono essere collegati in cascata uno dopo l'altro, ciascuno con 16 servo o LED collegati a ciascuno. Questo ammonta a 1024 numeri che possono essere controllati da un Arduino.

Ora che abbiamo un progetto che ha molti Servo da controllare, diciamo un robot a quattro zampe. Ogni gamba ha due servo per controllarla. (iniziamo in modo semplice, in teoria la mia app può controllare 1024)

Impostare otto servo, trovare l'impostazione del trim per ciascuno, determinando lì max. e min. posizioni, può richiedere molto tempo.

Scrivere e riscrivere il codice per vedere cosa succede può essere una vera seccatura.

Quindi decido di creare un'applicazione per semplificare le cose e aiutare a trovare ogni impostazione Servo richiesta ed essere in grado di eseguire sequenze (script) per testare i comandi inviati al servo.

Passaggio 1: connessioni

"caricamento = "pigro"

La sezione Script è la parte divertente, è qui che puoi creare sequenze di posizioni Servo.

Fai in modo che il tuo progetto faccia ciò che vuoi.

  • Il pulsante Aggiungi valore, aggiunge le impostazioni correnti del dispositivo di scorrimento.
  • Il pulsante Aggiungi ritardo, aggiunge un ritardo in millisecondi impostato nella casella accanto al pulsante.
  • Il pulsante Aggiungi indirizzo, aggiunge un interruttore di comando a un diverso PCA9685, (cambia indirizzo in alto a sinistra) è utilizzato anche per cambiare modalità, modalità servo o modalità LED.
  • Il pulsante Esegui script F, esegue lo script corrente in avanti.
  • Il pulsante Esegui script R, esegue lo script corrente al contrario.
  • La casella di controllo Ciclo fa eseguire ripetutamente lo script corrente, quando viene premuto uno dei pulsanti Esegui script. Per interrompere il ciclo deselezionare la casella di controllo.
  • Il pulsante Cancella script fa proprio questo, cancella tutti i comandi di script.
  • Il pulsante Carica, carica uno script precedentemente salvato.
  • Il pulsante Salva, salva lo script corrente.

Nota!

Non ho scritto alcun controllo di script nell'applicazione, lo script deve seguire le seguenti regole:

Una riga per comando, valori separati da uno spazio.

  • Il comando servo inizia con "S" seguito da sedici valori, ogni valore compreso tra 0 e 600
  • Il comando LED inizia con "L" seguito da sedici valori, ogni valore compreso tra 0 e 4095
  • Il comando Dely inizia con "D" seguito da un valore, compreso tra 0 e 10.000
  • Il comando di indirizzo inizia con "A" seguito da un valore e da una parola. Il valore compreso tra 0 e 64. La parola è "Servo" o "LED".

L'applicazione può controllare Servo o LED, non mettere LED e Servo sulla stessa Breakout Board, Servo e LED necessitano di frequenze diverse per funzionare correttamente.

Se provi a controllare il servo con le impostazioni del LED, potrebbero dare di matto, non li danneggerà, ma se sono installati in un progetto, potresti non volere che si spostino in qualche posizione.

Ho fatto il video di un semplice script.

Passaggio 5: epilogo

Man mano che le istruzioni vanno su Instructables, la maggior parte delle persone si aspetta di ritrovarsi con un oggetto fisico alla fine di un'istruzione.

Trovo che non ci sia una categoria realistica per il software.

Suppongo che potresti classificarlo come uno strumento, anche così, l'istruzione non è come creare lo strumento, ma come usarlo.

Si spera che avendo uno strumento come questo, le persone saranno in grado di realizzare progetti migliori con Arduino utilizzando servi o array di LED.

Si prega di scusare il video del progetto in azione, stavo usando una scheda breakout ESP32-CAM con un'altra applicazione che ho creato per visualizzare le immagini da ESP32-CAM.

MODIFICARE

L'ho migliorato.

Gli aggiornamenti possono essere trovati qui: Tims_PCA_9685_Controller

Consigliato: