#include <Wire.h>
void setup()
{
pinMode(13, OUTPUT);
Wire.begin();
digitalWrite(13, HIGH);
Wire.beginTransmission(B1101111);
Wire.send(0x80); //ctrl reg.
Wire.send(0x10); //mode1 reg.
Wire.send(0x00); //mode2 reg.
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00);
Wire.send(0x00); //GRPPWM reg.
Wire.send(0x00); //GRPFREQ reg.
Wire.send(0xAA); //ledout0 reg.
Wire.send(0xAA); //ledout1 reg.
Wire.send(0xAA); //ledout2 reg.
Wire.send(0xAA); //ledout3 reg.
Wire.send(0xD2); //SUBADR1 reg.
Wire.send(0xD4); //SUBADR2 reg.
Wire.send(0xD8); //SUBADR3 reg.
Wire.send(0xD0); //ALLCALLADR reg.
Wire.endTransmission();
digitalWrite(13, LOW);
}
void setLedRegPWM(int address, int ledReg, int PWMVal) {
Wire.beginTransmission(address);
Wire.send(ledReg);
Wire.endTransmission();
Wire.beginTransmission(address);
Wire.send(PWMVal);
Wire.endTransmission();
}
void loop()
{
digitalWrite(13, HIGH);
setLedRegPWM(0x60, 0x02, 0xFF);
setLedRegPWM(0x60, 0x03, 0xFF);
setLedRegPWM(0x60, 0x04, 0xFF);
setLedRegPWM(0x60, 0x05, 0xFF);
setLedRegPWM(0x60, 0x06, 0xFF);
setLedRegPWM(0x60, 0x07, 0xFF);
setLedRegPWM(0x60, 0x08, 0xFF);
setLedRegPWM(0x60, 0x09, 0xFF);
setLedRegPWM(0x60, 0x0A, 0xFF);
setLedRegPWM(0x60, 0x0B, 0xFF);
setLedRegPWM(0x60, 0x0C, 0xFF);
setLedRegPWM(0x60, 0x0D, 0xFF);
setLedRegPWM(0x60, 0x0E, 0xFF);
setLedRegPWM(0x60, 0x0F, 0xFF);
setLedRegPWM(0x60, 0x10, 0xFF);
setLedRegPWM(0x60, 0x11, 0xFF);
delay(1000);
digitalWrite(13, LOW);
setLedRegPWM(0x60, 0x02, 0x00);
setLedRegPWM(0x60, 0x03, 0x00);
setLedRegPWM(0x60, 0x04, 0x00);
setLedRegPWM(0x60, 0x05, 0x00);
setLedRegPWM(0x60, 0x06, 0x00);
setLedRegPWM(0x60, 0x07, 0x00);
setLedRegPWM(0x60, 0x08, 0x00);
setLedRegPWM(0x60, 0x09, 0x00);
setLedRegPWM(0x60, 0x0A, 0x00);
setLedRegPWM(0x60, 0x0B, 0x00);
setLedRegPWM(0x60, 0x0C, 0x00);
setLedRegPWM(0x60, 0x0D, 0x00);
setLedRegPWM(0x60, 0x0E, 0x00);
setLedRegPWM(0x60, 0x0F, 0x00);
setLedRegPWM(0x60, 0x10, 0x00);
setLedRegPWM(0x60, 0x11, 0x00);
}
When arduino runs it, it just hangs. (led 13 does not turn off...)
I think its not sending the i2c commands.
Thanks in advance.