Zum Hauptinhalt springen

Schnellstart

Diese Platine steuert über I2C bis zu 16 Servos oder PWM-Ausgänge an. Schließen Sie sie an, installieren Sie die Bibliothek für Ihre Plattform und führen Sie das kleinste Beispiel aus, um zu sehen, wie sich ein Kanal bewegt.

Sie programmieren den an dieses Breakout-Board angeschlossenen Controller. Das Breakout-Board selbst ist nicht mit Firmware versehen.

1. Schließen Sie das Breakout-Board an​

Stecken Sie ein Qwiic-Kabel in einen der beiden Qwiic-Anschlüsse auf der Platine und in den passenden Anschluss an Ihrem Controller. Es ist kein Löten erforderlich, und der zweite Qwiic-Anschluss steht frei, um ein weiteres Qwiic-Board anzuschließen.

SteuerungGelötetes PWM- und Servotreiber-Breakout mit 16 Kanälen und 12 Bit (PCA9685)
Qwiic-AnschlussBeliebiger Qwiic-Anschluss
Draufsicht auf die Platine, auf der alle Siebdruckbeschriftungen zu sehen sind, einschließlich der beiden Qwiic-Anschlüsse am linken und rechten Rand
Beide Qwiic-Stecker funktionieren

Für dieses Beispiel wird nur die Qwiic-Verbindung benötigt. Die Schraubklemme (oder das V+-Pad des Steckverbinders) benötigt erst dann eine eigene Stromversorgung, wenn Sie einen echten Servomotor oder eine PWM-Last ansteuern – nicht für diesen ersten Test.

2. Bibliothek installieren​

Installieren Sie Soldered PCA9685 PWM Servo Driver über den Bibliotheksmanager der Arduino IDE oder laden Sie sie von der unten angegebenen Quelle herunter.

🔗Gelöteter PCA9685-PWM-Servotreiber

Verifizierte Arduino-Bibliothek im Commit 1f3aa5a

→

Tipp: Herunterladen von GitHub. Klicken Sie auf der GitHub-Seite der Bibliothek auf die grüne Code-Schaltfläche und wählen Sie ZIP herunterladen. Fügen Sie die Bibliothek anschließend in der Arduino IDE über Sketch → Include Library → Add .ZIP Library....

3. Das erste Beispiel ausführen​

Dies ist Basic_PWM.ino, das bibliotheksinterne Beispiel. Es lässt den rohen PWM-Tastgrad auf Kanal 0 wiederholt von vollständig aus auf vollständig ein ansteigen.

Select Board
Basic_PWM.ino
#include "PCA9685-SOLDERED.h"

PCA9685 pwm;

void setup()
{
pwm.begin();
pwm.setPWMFreq(1000); // fast PWM for LEDs/general outputs, not servos
}

void loop()
{
for (uint16_t duty = 0; duty <= 4095; duty += 32)
{
pwm.setPWM(0, 0, duty);
delay(20);
}
}

4. Überprüfen Sie das Ergebnis​

Es gibt keine serielle Ausgabe. Schließen Sie eine LED (mit einem geeigneten Widerstand) oder eine Oszilloskop-Sonde an den OUT-Anschluss von Kanal 0 an, und deren Helligkeit bzw. Tastverhältnis steigt wiederholt an, wobei jede Rampe etwas mehr als 2,5 Sekunden dauert.

5. Falls es nicht funktioniert​

Fahren Sie mit Fehlerbehebung fort und wiederholen Sie dieses kleinste Beispiel nach jeder Änderung.