Grove Pca9685 Paket 16-Kanal PWM

Hallo zusammen,
ich bin noch neu bei Calliope und möchte mehrere Servos über die Grove Platine ansteuern,
aber ich bekomme die Pca9685 Library von hier nicht zum Laufen
https://github.com/jdarling/pxt-pca9685

Hier der Grove-Pwm
https://www.seeedstudio.com/Grove-16-Channel-PWM-Driver-PCA9685.html

Der Grove Pwm ist angesteckt auf der linken Seite,

Ich mache das so
let KeyNr_Last = 0
let KeyNr = 0
function PcaSetting() {
if (KeyNr == 1) {
basic.showNumber(2)
PCA9685.setServoPosition(PCA9685.ServoNum.Servo1, 0, 64)
}
if (KeyNr == 2) {
basic.showNumber(1)
PCA9685.setServoPosition(PCA9685.ServoNum.Servo1, 180, 64)
}
}
KeyNr = 0
KeyNr_Last = 0
basic.showNumber(0)
PCA9685.setServoLimits(
PCA9685.ServoNum.Servo1,
5,
25,
15,
64
)
basic.forever(() => {
if (input.buttonIsPressed(Button.A)) {
KeyNr = 1
}
if (input.buttonIsPressed(Button.B)) {
KeyNr = 2
}
if (KeyNr != KeyNr_Last) {
PcaSetting()
KeyNr_Last = KeyNr
}
})

Was mache ich falsch ?

Versuche mal mein Paket:

Dankesehr, habe ich getestet.
Leider funktioniert es immer noch nicht.
Ich habe die Vermutung das es an der Adresse liegen könnte, die Standardadresse ist 0x40.

//% weight=5 color=#0fbc11 icon="\uf1b6"
namespace Servo {
const PCA9685_ADDRESS = 0x40
const MODE1 = 0x00

Aus der Seed-Dokumentations scheint es aber auf 0x7F zu liegen.
http://wiki.seeedstudio.com/Grove-16-Channel_PWM_Driver-PCA9685/

Oder verstehe ich da was falsch ?
Das ist leider sehr unglücklich beschrieben.
Ich habe es mit MakeCode und mit PXT probiert, ich weiss auch nicht ob es für beide Versionen kompatibel ist.

Ich würde dein Paket auf 0x7F ändern, aber ich weiss nicht wie ich das am Besten machen sollte.
Das importieren scheint ja nur von GitHub zu funktionieren, oder kann ich da lokal etwas von der Festplatte importieren ?
Ich kenne mich mit dem ganzen MakeCode/PXT noch nicht gut aus, und verstehe nicht ganz wie ich die Projekte und Pakete überhaupt speichern kann, so dass sie wieder geladen werden können.

So, ich habe das Paket geändert Es enthält einen neuen Block den du beim Start aufrufen musst. Klicke mal hier: https://makecode.com/_bg5Ut1M4LddT
Das Paket befindet sich im Javascriptmodus in der Datei custom.ts und du kannst es nun einfach abändern.
Viel Erfolg und guten Rutsch!

Michael

PS: Ach so, das Paket selbst habe ich jetzt auch geändert

Ich bin erst jetzt zum Testen gekommen.
Dankesehr, damit funktioniert es super.
Ich habe auch ein bischen mehr „Calliope“ verstanden :slight_smile:

1 Like