Help With LED Driver
i have been working ti's tlc59116f led driver chips. here datasheet... http://www.ti.com/lit/ds/symlink/tlc59116f.pdf. have been trying interface arduino mega (i2c) no luck far. using code found here driving chip... http://www.arduino.cc/cgi-bin/yabb2/yabb.pl?num=1295346037. have chip hooked +5v.
my main issue have no way know if chip receiving i2c communication. have read through code , datasheet , seems line up. have suggestions?
thanks,
patrick
(i have attached code)
my main issue have no way know if chip receiving i2c communication. have read through code , datasheet , seems line up. have suggestions?
thanks,
patrick
(i have attached code)
code reproduced below:
have got right i2c address? please run i2c scanner on page:
http://www.gammon.com.au/i2c
just confirm responding expected address (or @ all).
code: [select]
#include <wire.h>
char allmoduleaddress = 104;
char module1address = 96;
void setup()
{
serial.begin(9600);
serial.println("serial initialized");
wire.begin();
serial.println("wire initialized master");
initmodule(allmoduleaddress);
serial.println("initmodules completed");
}
void loop()
{
setglobalbrightness(module1address,5);
// serial.println("brightness set");
}
// initialise outputs pwm , global dimming, switch off sleep mode
void initmodule(char address)
{
wire.begintransmission(address);
wire.write(0x80);
wire.write(0x01);
(char i=0; i<17; i++) {
wire.write(byte(0x00));
}
(char i=0; i<6; i++) {
wire.write(0xff);
}
wire.endtransmission();
}
// set global brightness dim lit leds
void setglobalbrightness(char address, char brightness) {
wire.begintransmission(address);
wire.write(0x12);
wire.write(brightness);
wire.endtransmission();
}
// set brightness of 1 output
void setledbrightness(char address, char lednum, char brightness) {
wire.begintransmission(address);
wire.write(0x02 + lednum);
wire.write(brightness);
wire.endtransmission();
}
// set brightness 3 outputs @ once (for rgb leds)
void setgroupbrightness(char address, char groupnum, char brightness_r, char brightness_g, char brightness_b) {
wire.begintransmission(address);
wire.write(0xa2 + (3*groupnum));
wire.write(brightness_r);
wire.write(brightness_g);
wire.write(brightness_b);
wire.endtransmission();
}have got right i2c address? please run i2c scanner on page:
http://www.gammon.com.au/i2c
just confirm responding expected address (or @ all).
Arduino Forum > Using Arduino > Networking, Protocols, and Devices (Moderator: fabioc84) > Help With LED Driver
arduino
Comments
Post a Comment