Hi,
I bought a IC2 driver and a 16x2 digit display from you Adafruit (MPC23008) , put them together as explained in their website.
Now I am trying to connect this to to one of the arduino/flora devices I have.
Unfortunately none of them is working:
Arduino micro, Arduino nano (repro) and Flora v2.
I also tried to add 2 pull-up resistors of 4k7 Ohm connected to the between the V5 and the busses of the I2C.
For the Micro I have used the D2 and D3 pin respectively for Data and clock, while for the Nano I have used the D4 and D5 as shown in pictures. The display connected directly to the arduino works properly (but it needs 16+ wires).
The Lat pin is not used, and the SPI enable is not welded together.
Why is the I2C not detected at all?
They all are not even able to detect the address of the I2C. Tested with this code:
I have checked if the SDA and SCLOCK are shortcuirted, and no.
whether SDA or SCLOCK are shortcuirted to 5V, and no (unless I connect the pull-up resistors.)
I have double checked again which pin to connect to both the MICRO and the NANO, and they were correct.
I have tried different pull-up resistors and nothing.
I have to conclude that the I2C drivers is damaged somehow.
I bought a IC2 driver and a 16x2 digit display from you Adafruit (MPC23008) , put them together as explained in their website.
Now I am trying to connect this to to one of the arduino/flora devices I have.
Unfortunately none of them is working:
Arduino micro, Arduino nano (repro) and Flora v2.
I also tried to add 2 pull-up resistors of 4k7 Ohm connected to the between the V5 and the busses of the I2C.
For the Micro I have used the D2 and D3 pin respectively for Data and clock, while for the Nano I have used the D4 and D5 as shown in pictures. The display connected directly to the arduino works properly (but it needs 16+ wires).
The Lat pin is not used, and the SPI enable is not welded together.
Why is the I2C not detected at all?
They all are not even able to detect the address of the I2C. Tested with this code:
Code:
#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
while (!Serial); // Leonardo: wait for serial monitor
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Unknown error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000); // wait 5 seconds for next scan
}




I have checked if the SDA and SCLOCK are shortcuirted, and no.
whether SDA or SCLOCK are shortcuirted to 5V, and no (unless I connect the pull-up resistors.)
I have double checked again which pin to connect to both the MICRO and the NANO, and they were correct.
I have tried different pull-up resistors and nothing.
I have to conclude that the I2C drivers is damaged somehow.