Adafruit Servo Libary

Hallo Leute!

Ich baue gerade an meinem Projekt in welchen ich 3 Servos verwende. Dazu habe ich mir das Motorino Shield von Joy-It gekauf.
Link: https://www.conrad.at/de/joy-it-erweiterungsmodul-motorino-1527412.html
#NoAffiliateLink
Dazu kann man die von Adafruit zur Verfügung gestellte Libary zur Programmierung verwenden:

#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver ();
int servoStart = 150;
int servoEnd = 600;
void setup() { Serial.begin(9600); pwm.begin(); pwm.setPWMFreq(50);
for(int i ; i < 16 ; i++) {
pwm.setPWM(i, 0, servoStart); }
delay(1);
for(int i ; i < 16 ; i++) {
pwm.setPWM(i, 0, servoEnd); }
}
void loop() { }

Hier meine Fragen zu folgenden Code Ausschnitten:

  1. Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver ();
    Erstellt man hier ein Objekt für jedes Board?
    Heißt man kann mehrere Boards verwenden wenn man mit I2C arbeitet?

  2. pwm.setPWM(i, x, y);
    Was genau bedeutet x und y? PWM? Bitte um Erklärung - finde einfach keine ausführliche einfach verstehende Erklärung

Lg Charly

Hi

Laut Adafruit-PWM-Servo-Driver-Library/Adafruit_PWMServoDriver.cpp at master · adafruit/Adafruit-PWM-Servo-Driver-Library · GitHub
ist der erste Wert der Kanal (0-15), der 2.te Wert die ON-Zeit, der 3.te Wert die OFF-Zeit.
Der Chip zählt intern immer von 0...4095.
Das sind auch die Werte, Die Du als ON und OFF Zeit eintragen kannst.
Bei ON schaltet Er den Ausgang ein, bei OFF eben wieder aus.
Du kannst auch bei 4000 ON schalten und bei 30 OFF, dann ist der Ausgang von 4000 bis 4095, dann von 0 bis 29 auf ON und von 30 bis 3999 auf OFF.
Durch die eingestellte Frequenz (pwm.setPWMFreq(50):wink: wird der Counter so schnell, daß Er im 50Hz-Rythmus 4096 Schritte zählt, also der Ausgang in einer Sekunde 50x 'durchlaufen' wird.

Zu Diener #1: Jupp, nur musst Du dann die I²C-Adresse angeben, die Standard-Adresse (wohl 0x40) wird benutzt, wenn Keine angegeben wird.

Mit den drei SUB-Addressen kann man diesen 16-fach-PWM-Treiber zusätzlich auf weiteren Adressen horchen lassen, hatte Das 'die Woche' Mal gelesen, müsste mich jetzt irren (bitte selber nachlesen!), die Kanäle können statt nur von der I²C-Adresse auch noch über die SUB-Addressen angesprochen werden.

MfG

@TO: Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
Das kannst Du auch noch nachträglich ändern.

Gruß Tommy