some of KC868-A16 V1.5 hardware version, PCF8574 address is changed. (if you have seen PCB is V1.5 and have GREEN label, you need to use new address value)
before is :
Relay_IIC_address 0x24
Relay_IIC_address 0x25
Input_IIC_address 0x21
Input_IIC_address 0x22
new is :
Relay_IIC_address 0x3C
Relay_IIC_address 0x3D
Input_IIC_address 0x39
Input_IIC_address 0x3A
[
attachment=1256]
if you don't know your PCF8574 address, you can use this "I2C scan" arduino IDE source code to scan address, it will print value by serial port.
here is source code: [
attachment=1257]
FYI, one address was different for my board (hardware rev 1.5) thus failing to initialize: 3
B, instead of 3
A.
Code:
I2C scanner. Scanning ...
Found address: 57 (0x39)
Found address: 59 (0x3B)
Found address: 60 (0x3C)
Found address: 61 (0x3D)
Found 4 device(s).
it's normal, some times different chip have different I2C address.
I success read address ifof I2C 0x24, 25 0x21 0x22
This is my log:
Found address: 33 (0x21)
Found address: 34 (0x22)
Found address: 36 (0x24)
Found address: 37 (0x25)
but when try to do
pcf8574.begin() -> it is failed? waht can be the problem?
My code :
// Set i2c address
PCF8574 pcf8574_1(0x24,4,5);
PCF8574 pcf8574_2(0x25,4,5);
if (pcf8574_1.begin())
{
Serial.println("PCF8574_1_OK");
}
else
{
Serial.println("PCF8574_1_KO");
}
Serial.print("Init pcf8574_2...");
if (pcf8574_2.begin()){
Serial.println("PCF8574_2_OK");
}else{
Serial.println("PCF8574_2_KO");
}
What cvan be the problem?
PCF8574 pcf8574_1(0x24);PCF8574 pcf8574_1(0x24);Serial.print("Init pcf8574_2...");
if (pcf8574_2.begin()){
Serial.println("PCF8574_2_OK");
rfrrr }else{
w
Serial.println("PCF8574_2_KO");
}
if (pcf8574_1.begin())
{
Serial.println("PCF8574_1_OK");
}
else
{
Serial.println("PCF8574_1_KO");
}
PCF8574 pcf8574_2(0x25);
PCF8574 pcf8574_2(0x25);PCF8574 pcf8574_1(0x24);
PCF8574 pcf8574_2(0x25);
pcf8574_1.begin() pcf8574_1.begin()pcf8574_1.begin()pcf8574_1.begin()
your TEXT is very very small, can't see the words.
i think you have not define the i2c bus SDA and SCL pin in arduino code.
[quote pid="18225" dateline="1733915019"]
`
[/quote]