Hallo, ich bin völlig neu in der Arduino Entwicklungsumgebung und kenne mich leider auch nicht mit C aus.
ich will zwei TLC59116 über I2C zum Ansteuern von LEDs an meinem Arduino UNo betreiben, doch irgendwas läuft bei der Initialisierung schief, den die loop-Sequenz wird gar nicht erst gestartet (Nur wenn beide über SCL und SDA mit Arduino verbunden sind). ein TLC funktioniert tadellos mit dem Code. Ich hoffe jemand kann mir helfen. Danke!!
mfg mdeisen
TLC59116 Datasheet: Bauteil: TLC59116 - Mikrocontroller.net
und hier mein Code:
#include <Wire.h>
// Setup wird zu Begin aufgerufen und initialisiert den TLC59166 mit Defaultwerten
// Die Werte können beliebig geändert werden
void setup()
{
init_tlc(B1100001);
init_tlc(B1100000);
}
void init_tlc(int adress)
{
Wire.begin(); //I2C-Start
Wire.beginTransmission(adress); // TLC59116 Slave Adresse ->C0 hex
Wire.write(0x80); // autoincrement ab Register 0h
Wire.write(0x00); // Register 00 / Mode1
Wire.write(0x00); // Register 01 / Mode2
Wire.write(0x00); // Register 02 / PWM LED 1 // Default alle PWM auf 0
Wire.write(0x00); // Register 03 / PWM LED 2
Wire.write(0x00); // Register 04 / PWM LED 3
Wire.write(0x00); // Register 05 / PWM LED 4
Wire.write(0x00); // Register 06 / PWM LED 5
Wire.write(0x00); // Register 07 / PWM LED 6
Wire.write(0x00); // Register 08 / PWM LED 7
Wire.write(0x00); // Register 09 / PWM LED 8
Wire.write(0x00); // Register 0A / PWM LED 9
Wire.write(0x00); // Register 0B / PWM LED 10
Wire.write(0x00); // Register 0C / PWM LED 11
Wire.write(0x00); // Register 0D / PWM LED 12
Wire.write(0x00); // Register 0E / PWM LED 13
Wire.write(0x00); // Register 0F / PWM LED 14
Wire.write(0x00); // Register 10 / PWM LED 15
Wire.write(0x00); // Register 11 / PWM LED 16 // Default alle PWM auf 0
Wire.write(0xFF); // Register 12 / Group duty cycle control
Wire.write(0x00); // Register 13 / Group frequency
Wire.write(0xAA); // Register 14 / LED output state 0 // Default alle LEDs auf PWM
Wire.write(0xAA); // Register 15 / LED output state 1 // Default alle LEDs auf PWM
Wire.write(0xAA); // Register 16 / LED output state 2 // Default alle LEDs auf PWM
Wire.write(0xAA); // Register 17 / LED output state 3 // Default alle LEDs auf PWM
Wire.write(0x00); // Register 18 / I2C bus subaddress 1
Wire.write(0x00); // Register 19 / I2C bus subaddress 2
Wire.write(0x00); // Register 1A / I2C bus subaddress 3
Wire.write(0x00); // Register 1B / All Call I2C bus address
Wire.write(0xFF); // Register 1C / IREF configuration
Wire.endTransmission(); // I2C-Stop
}