Reset problem with I2c backpack- HT16K33

by Jay Hamlin on Wed Nov 14, 2012 9:36 am

I have 4 of the 4 digit 7-Segment displays on an Arduino and was having trouble with the Adafruit I2c library frequently hanging inside begin(). I noticed in the HT16K33 datasheet that you should allow at least 1MS after enabling the clock so I added 2 delays in begin... problem solved! My begin now looks like this:

void Adafruit_LEDBackpack::begin(uint8_t _addr = 0x70) {
i2c_addr = _addr;

Wire.begin();
Wire.beginTransmission(i2c_addr);
Wire.write(0x21); // turn on oscillator
Wire.endTransmission();
delay(5); // <- My addition
blinkRate(HT16K33_BLINK_OFF);
delay(5); // <-- My addition
setBrightness(15); // max brightness
}

Reset is now 100% reliable. Best of luck. Jay.
Jay Hamlin
 
Posts: 1
Joined: Wed Nov 14, 2012 9:20 am

Re: Reset problem with I2c backpack- HT16K33

by adafruit on Thu Nov 15, 2012 7:27 pm

thanks for the note!
User avatar
adafruit
 
Posts: 11666
Joined: Thu Apr 06, 2006 3:21 pm
Location: nyc



cron