Memorial day is 05/25/2015 – Orders will ship out on May 26th. There will not be any deliveries or shipping on Monday. Any order placed after 11am ET on Friday May 22nd will not start to ship out until Tuesday May 26th.

Reset problem with I2c backpack- HT16K33
Moderators: adafruit_support_bill, adafruit

Reset problem with I2c backpack- HT16K33

by Jay Hamlin on Wed Nov 14, 2012 10: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 10:20 am

Re: Reset problem with I2c backpack- HT16K33

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

thanks for the note!

adafruit
 
Posts: 11904
Joined: Thu Apr 06, 2006 4:21 pm
Location: nyc