# Grove Pca9685 Paket 16-Kanal PWM

**URL:** <https://forum.calliope.cc/t/grove-pca9685-paket-16-kanal-pwm/1428>\
**Category:** Hardware Fragen und Probleme\
**Created:** [27. Dezember 2019 um 19:41 UTC](https://forum.calliope.cc/t/grove-pca9685-paket-16-kanal-pwm/1428 "2019-12-27T19:41:04Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![LisaW](https://avatars.discourse-cdn.com/v4/letter/l/9de053/32.png) [@LisaW](https://forum.calliope.cc/u/LisaW)\
**Post date:** [27. Dezember 2019 um 19:41 UTC](https://forum.calliope.cc/t/grove-pca9685-paket-16-kanal-pwm/1428/1 "2019-12-27T19:41:04Z")

</div>

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](https://github.com/jdarling/pxt-pca9685)

Hier der Grove-Pwm  
[https://www.seeedstudio.com/Grove-16-Channel-PWM-Driver-PCA9685.html](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 ?

---

<div class="post-metadata">

**Author:** ![klmi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/klmi/32/763_2.png) [@klmi](https://forum.calliope.cc/u/klmi)\
**Post date:** [27. Dezember 2019 um 21:18 UTC](https://forum.calliope.cc/t/grove-pca9685-paket-16-kanal-pwm/1428/2 "2019-12-27T21:18:47Z")

</div>

Versuche mal mein Paket:

> **[MKleinSB/pxt-pca9685](https://github.com/MKleinSB/pxt-pca9685)**
>
> Extension for pca9685 servodriver for Calliope Mini and Micro:Bit - MKleinSB/pxt-pca9685

---

<div class="post-metadata">

**Author:** ![LisaW](https://avatars.discourse-cdn.com/v4/letter/l/9de053/32.png) [@LisaW](https://forum.calliope.cc/u/LisaW)\
**Post date:** [31. Dezember 2019 um 11:15 UTC](https://forum.calliope.cc/t/grove-pca9685-paket-16-kanal-pwm/1428/3 "2019-12-31T11:15:43Z")

</div>

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/](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.

---

<div class="post-metadata">

**Author:** ![klmi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/klmi/32/763_2.png) [@klmi](https://forum.calliope.cc/u/klmi)\
**Post date:** [31. Dezember 2019 um 14:49 UTC](https://forum.calliope.cc/t/grove-pca9685-paket-16-kanal-pwm/1428/4 "2019-12-31T14:49:26Z")

</div>

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](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

---

<div class="post-metadata">

**Author:** ![LisaW](https://avatars.discourse-cdn.com/v4/letter/l/9de053/32.png) [@LisaW](https://forum.calliope.cc/u/LisaW)\
**Post date:** [5. Januar 2020 um 10:33 UTC](https://forum.calliope.cc/t/grove-pca9685-paket-16-kanal-pwm/1428/5 "2020-01-05T10:33:19Z")

</div>

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