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.
- Arduino
- MicroPython
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.
| Steuerung | Gelötetes PWM- und Servotreiber-Breakout mit 16 Kanälen und 12 Bit (PCA9685) |
|---|---|
| Qwiic-Anschluss | Beliebiger Qwiic-Anschluss |

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.
#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.
1. Schließen Sie das Breakout-Board an
Stecken Sie ein Qwiic-Kabel in einen der beiden Qwiic-Anschlüsse auf dem Board 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.
| Controller | Gelötetes PWM- & Servotreiber-Breakout-Board mit 16 Kanälen und 12 Bit (PCA9685) |
|---|---|
| Qwiic-Anschluss | Beliebiger Qwiic-Anschluss |

Das Modul erkennt die I2C-Pins (SCL 22, SDA 21) auf ESP32, ESP8266 und
gelöteten Dasduino CONNECTPLUS-Boards automatisch. Erstellen Sie bei jedem anderen Board Ihr eigenes
machine.I2C-Objekt und übergeben Sie es an den Konstruktor.
2. Installieren Sie das Modul
Installieren Sie die Soldered PCA9685 MicroPython-Bibliothek mit mpremote unter Verwendung des
Befehls aus der README-Datei des Moduls:
mpremote mip install github:SolderedElectronics/Soldered-PCA9685-MicroPython-Library
Unter Windows:
python -m mpremote mip install github:SolderedElectronics/Soldered-PCA9685-MicroPython-Library
🔗Gelötete PCA9685-MicroPython-Bibliothek
Verifiziertes MicroPython-Modul beim Commit 611d14a
Tipp: Herunterladen von GitHub. Ohne mpremote öffnest du die .py-Datei
Datei des Moduls auf GitHub und klicken Sie auf „Rohdatei herunterladen“. Öffnen Sie sie anschließend in Thonny und verwenden Sie
„Datei → Speichern unter… → MicroPython-Gerät“, um sie auf das Board zu kopieren.
3. Das erste Beispiel ausführen
Dies ist pca9685-basicPWM.py, das modul-eigene Beispiel. Es lässt den rohen PWM-
Tastgrad auf Kanal 0 wiederholt von vollständig aus auf vollständig ein ansteigen.
from pca9685 import PCA9685
from utime import sleep_ms
pwm = PCA9685()
pwm.setPWMFreq(1000) # fast PWM for LEDs/general outputs, not servos
while True:
for duty in range(0, 4096, 32):
pwm.setPWM(0, 0, duty)
sleep_ms(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 die Helligkeit bzw. der Tastgrad steigt wiederholt an, wobei jeder Anstieg 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.