WIFI KIT 32 - совместная работа HMC5883L и Точка доступа Wifi

Тема в разделе "ESP8266, ESP32", создана пользователем AndrewSerykh, 9 янв 2019.

  1. AndrewSerykh

    AndrewSerykh Нуб

    Приветствую!
    Есть проблема с одновременным опросом магнитометра HMC5883L по i2c и работой esp32 в качестве точки доступа. До подключения клиентов данные с компаса приходят отлично, но после появления в сети клиентов wifi+web, данные перестают приходить а приходят ошибочные значения.

    Может быть кто сталкивался с одновременной работой 2 устройств по i2c - сеть и магнитометр(например)?

    точка доступа создается стандартно - библиотечно:
    WiFi.softAP(ssid, password);

    функция опроса магнитометра:
    float i2cdev::getHeading(){
    uint8_t buffer[6];
    float fx,fy,fz;
    compass.beginTransmission(HMC5883_ADDR);
    compass.write(0x00);
    compass.endTransmission();
    if(compass.requestFrom(HMC5883_ADDR, 6) == 6){
    buffer[0]=compass.read();
    buffer[1]=compass.read();
    buffer[2]=compass.read();
    buffer[3]=compass.read();
    buffer[4]=compass.read();
    buffer[5]=compass.read();
    }
    compassX = (buffer[1] << 8) | buffer[0];
    compassY = (buffer[3] << 8) | buffer[2];
    compassZ = (buffer[5] << 8) | buffer[4];
    int m_Scale = 4.35; //gauss == 8.1
    fx = compassX * m_Scale;
    fy = compassY * m_Scale;
    fz = compassZ * m_Scale;
    float heading = atan2(fy, fx);
    if(heading < 0) heading += 2*PI;
    if(heading > 2*PI) heading -= 2*PI;
    heading = heading *57.3;
    return heading;
    }
     
  2. экранировать технику нужно, когда работаете с радио
     
    Daniil нравится это.