Проблема с библиотекой AM232X.h

Humpa

✩✩✩✩✩✩✩
6 Авг 2023
25
0
Столкнулся с проблемой на устройстве Piranha ESP-32 v2 библиотеки AM232X.h с датчиком AM2322...не обнаруживает она его. Аналогичный код залитый в Arduino UNO датчик видит и прекрасно с ним работает. Помогите разобраться!

C++:
#include "AM232X.h"

AM232X AM2322;


void setup()
{
  Serial.begin(115200);
  Serial.println(__FILE__);
  Serial.print("LIBRARY VERSION: ");
  Serial.println(AM232X_LIB_VERSION);
  Serial.println();

  Wire.begin();
  if (! AM2322.begin() )
  {
    Serial.println("Sensor not found");
    while (1);
  }
  AM2322.wakeUp();
  delay(2000);

  Serial.println("Type,\tStatus,\tHumidity (%),\tTemperature (C)");
}


void loop()
{
  // READ DATA
  Serial.print("AM2322, \t");
  int status = AM2322.read();
  switch (status)
  {
  case AM232X_OK:
    Serial.print("OK,\t");
    break;
  default:
    Serial.print(status);
    Serial.print("\t");
    break;
  }
  // DISPLAY DATA, sensor only returns one decimal.
  Serial.print(AM2322.getHumidity(), 1);
  Serial.print(",\t");
  Serial.println(AM2322.getTemperature(), 1);

  delay(2000);
}
 
Изменено:

Humpa

✩✩✩✩✩✩✩
6 Авг 2023
25
0
@Сотнег,
#define pd_scl_dht 14
#define pd_sda_dht 27
Эти номера пинов изменить на что-то, или оставить? Я просто не совсем понял, откуда взялись значения 14 на sdl и 27 на sda.
 

Сотнег

★★★★★★★
15 Янв 2020
4,193
1,460
@Humpa,
ну, это, очевидно, пины D14 и D27.
А вы куда припаяли, раз уже пытались проверять работоспособность?

И ещё в скетче пишут:
do not forget pull up resistors between SDA, SCL and VDD..
 
  • Лойс +1
Реакции: Humpa

Humpa

✩✩✩✩✩✩✩
6 Авг 2023
25
0
@Сотнег,у меня плата piranha esp32...там вывод уже пинов на i2C. А датчик у меня на платке в футляре AM2322B, там по моему есть уже резисторы. Тут вопрос какие пины указать! =)
 

Humpa

✩✩✩✩✩✩✩
6 Авг 2023
25
0
@Сотнег,я AM2320 -> AM2322 везде менял...подключал и на колодку i2C и напрямую на 21 22 пины...не пашет. На WeMos D1 тоже работает, с кодом который в самом начале был...вот код:

C++:
//
//    FILE: AM2320_ESP32.ino
//  AUTHOR: Rob Tillaart
// PURPOSE: AM2320 demo sketch for AM2320 I2C humidity & temperature sensor
//          with second I2C port of ESP32
//
//  AM232X PIN layout             AM2315 COLOR
//  ============================================
//   bottom view  DESCRIPTION     COLOR
//       +---+
//       |o  |       VDD          RED
//       |o  |       SDA          YELLOW
//       |o  |       GND          BLACK
//       |o  |       SCL          GREY
//       +---+
//
//  do not forget pull up resistors between SDA, SCL and VDD..


#include "AM232X.h"

#define pd_scl_dht 22
#define pd_sda_dht 21

TwoWire I2C_IMU = TwoWire(0);   //  I2C1 bus
TwoWire I2C_DHT = TwoWire(1);   //  I2C2 bus


AM232X AM2320(&I2C_DHT);


void setup()
{
  Serial.begin(115200);
  Serial.println(__FILE__);
  Serial.print("LIBRARY VERSION: ");
  Serial.println(AM232X_LIB_VERSION);
  Serial.println();

  I2C_IMU.begin();
  I2C_DHT.begin(pd_sda_dht, pd_scl_dht, 100000ul);
 
  if (! AM2320.begin() )
  {
    Serial.println("Sensor not found");
    while (1);
  }
  AM2320.wakeUp();
  delay(2000);

  Serial.println("Type,\tStatus,\tHumidity (%),\tTemperature (C)");
}


void loop()
{
  //  READ DATA
  Serial.print("AM2320, \t");
  int status = AM2320.read();
  switch (status)
  {
    case AM232X_OK:
      Serial.print("OK,\t");
      break;
    default:
      Serial.print(status);
      Serial.print("\t");
      break;
  }
  //  DISPLAY DATA, sensor only returns one decimal.
  Serial.print(AM2320.getHumidity(), 1);
  Serial.print(",\t");
  Serial.println(AM2320.getTemperature(), 1);

  delay(2000);
}


//  -- END OF FILE --
 

Сотнег

★★★★★★★
15 Янв 2020
4,193
1,460
@Humpa,
откуда уходят провода - видно, а куда приходят - не видно.
Эти колодки задом наперёд не вставляются?
 

Humpa

✩✩✩✩✩✩✩
6 Авг 2023
25
0
@Сотнег, ну вот на WeMos D1 работает. И на Arduino Uno тоже...а вот с ESP32 дружить не хочет...

@Сотнег, просто с Wemos D1 на ESp8266 я не могу найти нужное количество пинов для проекта, они там дублируются по номерам и работают, как-то непонятно. На ESP-32 хотел сделать контроллер, вроде новее железка мощнее и блютуз...но не работает основной датчик AM2322...печаль.
 

Вложения

Старик Похабыч

★★★★★★★
14 Авг 2019
4,220
1,291
Москва
На есп32 надо подключить SDA к 21=му пину, SCL к 22=му. Открыть сканер I2C и посмотреть результат поиска. Не забыть общую землю. Неплохо было бы подключить еще какое другое устройство I2C для проверки.
 

Humpa

✩✩✩✩✩✩✩
6 Авг 2023
25
0
@Старик Похабыч, когда я подключаю колодку i2c то всё на ней работает...не работает только датчик am2322. Причём на Arduino Uno и на WeMos d1 через такие колодки работает.

@PiratFox, не видно просто один... :)
 

Вложения