Top.Mail.Ru
Esp32 + SCD41 ложит...
 
Уведомления
Очистить все

Esp32 + SCD41 ложит шину i2c

(@dimon4ik)
New member

Всем привет, такая проблема при подключении датчика scd41 к esp32 devkit  в мониторе порта  Arduino ide при сканировании ложит шину i2c, т.е к i2c подключен еще датчик CCS811 если он один подключен в мониторе порта выдает адрес 0x5A, как только подключаешь SCD41 Sensirion, все сразу

Waking up SCD41...
Scanning I2C bus...
No I2C devices found

 

Установлена библиотека Sensirion I2C SCD4x Arduino Library

скейтч 

#include<Wire.h>
#include"SensirionI2CScd4x.h"// Убедитесь, что путь к файлу верный


SensirionI2CScd4x scd41;


voidsetup(){
Serial.begin(115200);
Wire.begin(21, 22); // Указываем SDA и SCL для ESP32
Serial.println("\nI2C Scanner with SCD41 Wake-up");
scd41.begin(Wire);  // Инициализируем объект scd41
}


voidloop(){
Serial.println("Waking up SCD41...");
scd41.wakeUp();
delay(20); // Даём время датчику проснуться


  byte error, address;
int nDevices = 0;


Serial.println("Scanning I2C bus...");


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++;
}
elseif(error == 4){
Serial.print("Unknow 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); // Задержка перед следующим сканированием
}
 
Ребят подскажите в какую сторону вообще смотреть
 
Цитата
Создатель темы Размещено : 12.01.2025 19:57
Aveal
(@aveal)
Top level Admin

Привет, надо осцилом посмотреть, что на шине творится.

ОтветитьЦитата
Размещено : 13.01.2025 12:29
Поделиться: