Smart Home Automation Forum

Full Version: KC868-A16 V1.5 I2C PCF8574 address updated
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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: 3B, instead of 3A.
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]