Hi,
kennt jemand eine halbwegs brauchbare Lib für den PCA9685 (16 Kanal 12bit I2C PWM Controller?
Bin für jeden Tip dankbar!
Grüße,
Jens
Hi,
kennt jemand eine halbwegs brauchbare Lib für den PCA9685 (16 Kanal 12bit I2C PWM Controller?
Bin für jeden Tip dankbar!
Grüße,
Jens
Mir scheint Googl.de wird immer schwieriger zu benutzen
PCA9685 arduino - Google Search
Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C interface [PCA9685] : ID 815 : $14.95 : Adafruit Industries, Unique & fun DIY electronics and kits und da verlinkt GitHub - adafruit/Adafruit-PWM-Servo-Driver-Library: Adafruit PWM Servo Driver Library
Arduino Playground - LibraryList und da verlinkt http://sharebothmavencamps.com/electronics_web_website/PCA9685.html
http://skaarhoj.com/wiki/index.php/PCA9685_Arduino_Library
Grüße Uwe
uwefed:
Mir scheint Googl.de wird immer schwieriger zu benutzen
Ich kann Dich beruhigen, die habe ich auch schon gefunden!
Leider bin ich wahrscheinlich zu doof damit klarzukommen, ich habe da leider nichts zum "Laufen" bekommen!
Deshalb auch die Frage nach einer "halbwegs brauchbaren Lib"!
Es wäre also schön wenn sich jemand meldet der eventuell auch schon mit der,den Libs erfolgreich gearbeitet hat!
Und bitte Uwe, ich weiß wie Google funktioniert, habe da definitiv keinen Schulungsbedarf!
Darf ich nicht mal ironisch sein und mit 3 smylies das ausdrücken?
Mit dieser Prezisierung, daß Du Hilfe bei der Benutzung der Biblithek brauchst sieht die Sache wieder ander aus.
Was willst Du ansteuern? Servos? Da finde ich die Bibliothek servo.h, die eine Standartbibiothek des IDE ist besser, weil Servos eigentlich nicht mit PWM sondern PPM angesteuert werden.
LEDs? Bitte beschreib kurz die Schaltung und Dein Projekt.
Grüße Uwe
Also ein konkretes Projekt habe ich noch gar nicht!
Generell geht es mir vorrangig um die Ansteuerung( Dimmung) von LED's.
Ich habe hier eine Testplatine da und wollte wenigstens mal eine am Ausgang hängende LED zum laufen bringen, leider bis dato erfolglos!
Die Lib von kasperskaarhoj https://github.com/kasperskaarhoj/PCA9685-Arduino-Library erschien mir eigentlich als recht easy,
habs aber nicht zum laufen bekommen. Muß mir das ganze aber noch mal genauer anschauen, eventuell mache ich ja auch grundsätzlich was falsch!?
Welche Symptome bekommst Du?
das mit der Bibiothek mitgelieferte Beispielprogramm https://github.com/kasperskaarhoj/PCA9685-Arduino-Library/blob/master/examples/BasicLEDTest/BasicLEDTest.ino müßte doch funktioieren.
Hast Du die I2C-Adresse richtig eingestellt?
Grüße Uwe
Also,
Adresse sollte stimmen A0-A5 liegen auf Masse, SDA und SCL jeweils mit Pullup 1,2K angeschlossen.
Kabellänge ca. 30 cm.
Mit folgenden Code sollte doch eigentlich der Reihe nach LED0-15 an und wieder ausgeschalten werden!?
Leider passiert nichts, alles bleibt dunkel!
Da ich hier leider keinen Oszi habe kann ich mir die I2C Signale nicht anschauen.
#include <Wire.h>
#include <PCA9685.h>
PCA9685 ledDriver;
void setup()
{
Serial.begin(9600); // set up serial
Serial.println("Serial Started");
Wire.begin(); // Wire must be started!
ledDriver.begin(B000000); // Address pins A5-A0 gegen Masse
ledDriver.init();
}
void loop()
{
for(int i=0; i<16; i++) {
ledDriver.setLEDOn(i);
Serial.println(i);
delay(100);
}
for(int i=0; i<16; i++) {
ledDriver.setLEDOff(i);
Serial.println(i);
delay(100);
}
}
Ganz spontan:
die Leds falsch (vepolt) angeschlossen?
Grüßle Bernd
BerndJM:
Ganz spontan:
die Leds falsch (vepolt) angeschlossen?Grüßle Bernd
Nee, leider nicht so einfach!
Sind genau wie im Datenblatt unter
"Fig 15. Direct LED connect" auf S.28!
Hast Du geschaut ob Du mit dem Sketch I2CScanner: Arduino as I2C bus scanner – todbot blog ein Gerät an einer Adresse bekommst? Bitte ändere die Zeile
byte end_address = 100;
zu
byte end_address = 127;
um den gesamten Adressbereich abzudecken.
Wie lang sind die Verbindungen zwischen Arduino und dem PCA9685? Welche pullup Widerstände hast Du an SCL bzw SDA angeschlossen?
Grüße Uwe
Kabellänge ca.30 cm, pullup 1,2K
addr: 64 found!
addr: 112 found!
ok, also I2C müßte funktionieren und Adresse ist auch richtig (64).
Kannst Du ein schaltbild oder Fotos geben?
Grüße Uwe
ok, gehen wir mal fix durch
A0 -A5 an Masse
EXTCLK und OE an Masse
VSS an Masse
VDD an +5V
SDA an SDA(mit pullup 1,2k)
SCL an SCL(mit pullup 1,2k)
LED0-15 an LED(K) LED(A) über R(270) an VDD +5V
sollte eigentlich passen!?
Ja, sollte passen.
Versorgst du den PCA9685 vom Arduino aus oder mit einem extra Netzteil?
Hab mal LED gesehen wo der längere Anschluß die Katode war.
Vesuch mal versuchshalber eine LED umzudrehen.
Grüße Uwe
uwefed:
Ja, sollte passen.
Versorgst du den PCA9685 vom Arduino aus oder mit einem extra Netzteil?
Ja!
Hab mal LED gesehen wo der längere Anschluß die Katode war.
Vesuch mal versuchshalber eine LED umzudrehen.
Sind SMD's , habe ich aber als erstes gecheckt!
Werde mir mal einen 2. PCA9685 ordern, eventuell hat der erste ja ne Macke, deutet ja eigentlich alles darauf hin!
Danke Dir für Deine Hilfe! Werde berichten woran es lag!
Bitte
und hier nun die Auflösung!
PCA9685 getauscht und alles läuft wie erwartet!
Lib funktioniert bestens!
Danke noch mal an alle "Helfenden"!
Hallo allerseits,
versuche gerade auch die PCA9685 am Arduino mit dem Scatch
#include <Wire.h>
#include <PCA9685.h>
PCA9685 ledDriver;
void setup()
{
Serial.begin(9600); // set up serial
Serial.println("Serial Started");
Wire.begin(); // Wire must be started!
ledDriver.begin(B000000); // Address pins A5-A0 gegen Masse
ledDriver.init();
}
void loop()
{
for(int i=0; i<16; i++) {
ledDriver.setLEDOn(i);
Serial.println(i);
delay(100);
}
for(int i=0; i<16; i++) {
ledDriver.setLEDOff(i);
Serial.println(i);
delay(100);
}
}
zum Laufen zu bringen.
Mein Problem ist, am PWM Ausgang messe ich, wenn der Port eingeschaltet wird, nur 0,4V.
Muss der PCA9685 noch irgendwie konfiguriert werden damit ich am Ausgang die V+ Spannung habe?