06-26-2025, 08:01 AM
Hi. There are of the my IDE code:
include <PCF8574.h>
#include <Wire.h>
#define SDA_PIN 4 // GPIO номер SDA
#define SCL_PIN 15 // GPIO номер SCL
void setup() {
Wire.begin(SDA_PIN, SCL_PIN); // Задали новые контакты для I²C
// Инициализируем I²C
Serial.begin(115200); // Инициализируем последовательный порт
while (!Serial); // Ждем открытия порта
Serial.println("\n\n--- I²C Scanner ---");
}
void loop() {
byte error, address;
int nDevicesFound = 0;
Serial.println("Scaning...");
for (address = 1; address < 127; address++ ) {
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial.print("Device found at address: 0x");
if (address < 16) {
Serial.print("0");
}
Serial.println(address, HEX);
nDevicesFound++;
}
else if (error == 4) {
Serial.print("Unknown error at address: 0x");
if (address < 16) {
Serial.print("0");
}
Serial.println(address, HEX);
}
}
if (nDevicesFound == 0) {
Serial.println("No I²C devices found.\n");
} else {
Serial.println("Scan complete.\n");
}
delay(5000); // Повторяем проверку каждые 5 секунд
}
Where it any mistake?
include <PCF8574.h>
#include <Wire.h>
#define SDA_PIN 4 // GPIO номер SDA
#define SCL_PIN 15 // GPIO номер SCL
void setup() {
Wire.begin(SDA_PIN, SCL_PIN); // Задали новые контакты для I²C
// Инициализируем I²C
Serial.begin(115200); // Инициализируем последовательный порт
while (!Serial); // Ждем открытия порта
Serial.println("\n\n--- I²C Scanner ---");
}
void loop() {
byte error, address;
int nDevicesFound = 0;
Serial.println("Scaning...");
for (address = 1; address < 127; address++ ) {
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial.print("Device found at address: 0x");
if (address < 16) {
Serial.print("0");
}
Serial.println(address, HEX);
nDevicesFound++;
}
else if (error == 4) {
Serial.print("Unknown error at address: 0x");
if (address < 16) {
Serial.print("0");
}
Serial.println(address, HEX);
}
}
if (nDevicesFound == 0) {
Serial.println("No I²C devices found.\n");
} else {
Serial.println("Scan complete.\n");
}
delay(5000); // Повторяем проверку каждые 5 секунд
}
Where it any mistake?

