Smart Home Automation Forum
KC868-A16 V1.5 I2C PCF8574 address updated - Printable Version

+- Smart Home Automation Forum (https://www.kincony.com/forum)
+-- Forum: Technical Support (https://www.kincony.com/forum/forumdisplay.php?fid=20)
+--- Forum: KC868-A16 (https://www.kincony.com/forum/forumdisplay.php?fid=25)
+--- Thread: KC868-A16 V1.5 I2C PCF8574 address updated (/showthread.php?tid=2128)



KC868-A16 V1.5 I2C PCF8574 address updated - admin - 08-16-2022

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

   

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: 
.zip   i2c-scan-a16.zip (Size: 645 bytes / Downloads: 498)


RE: KC868-A16 V1.5 I2C PCF8574 address updated - LTDU - 03-31-2023

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).



RE: KC868-A16 V1.5 I2C PCF8574 address updated - admin - 03-31-2023

it's normal, some times different chip have different I2C address.


RE: KC868-A16 V1.5 I2C PCF8574 address updated - TurSolution - 12-11-2024

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()


RE: KC868-A16 V1.5 I2C PCF8574 address updated - admin - 12-11-2024

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.


RE: KC868-A16 V1.5 I2C PCF8574 address updated - TurSolution - 01-08-2025

[quote pid="18225" dateline="1733915019"]
`
[/quote]