31 год мы работаем для разработчиков, изготовителей и ремонтников электроники
Практические занятия робототехника. Конструктор ROBOT BIN CLASSIC

Методы оплаты Методы оплаты
Покупайте товар со скидкой, выбирая эти формы оплаты!
Прайс-листы DESSY.RU для скачивания
Партнерская программа
Наши акции
 
Архив новостей Архив новостей
Новости Новости!


Распечатать

Модуль измерения давления, температуры, влажности воздуха и интенсивности света на BME280 и MAX44009. Uпит:3,3-5В

Код товара: CTTL14846
Есть в наличии Есть в наличии
Модуль измерения давления, температуры, влажности воздуха и интенсивности света на BME280 и MAX44009. Uпит:3,3-5В
1070 c
1070 c
Быстрый заказ

Заказ быстрым способом

Модуль измерения давления, температуры, влажности воздуха и интенсивности света на BME280 и MAX44009. Uпит:3,3-5В

Цена: 1070 руб. Количество: шт.

Фамилия, имя:

E-Mail:

Телефон:

Ваш комментарий к заказу:

Я принимаю Политику конфиденциальности,
Публичную оферту, Пользовательское соглашение

Быстрый заказ

Заказ быстрым способом

Модуль измерения давления, температуры, влажности воздуха и интенсивности света на BME280 и MAX44009. Uпит:3,3-5В

Цена: 1070 руб. Количество: шт.

Фамилия, имя:

E-Mail:

Телефон:

Ваш комментарий к заказу:

Я принимаю Публичную оферту, Политику конфиденциальности, Пользовательское соглашение

В корзину
Работаем без НДС
В корзину
Работаем без НДС
Модуль измерения давления, температуры, влажности воздуха и интенсивности света на BME280 и MAX44009. Uпит:3,3-5В

Модуль измерения давления, температуры, влажности воздуха и интенсивности света на BME280 и MAX44009. Uпит:3,3-5В  Модуль измерения давления, температуры, влажности воздуха и интенсивности света на BME280 и MAX44009. Uпит:3,3-5В  Модуль измерения давления, температуры, влажности воздуха и интенсивности света на BME280 и MAX44009. Uпит:3,3-5В 

GY-39 - недорогой модуль, сочетающий в себе датчик атмосферного давления, температуры, влажности и интенсивности света, построенный на базе датчиков BME280 и MAX44009. На плате установлен микроконтроллер, который собирает и обрабатывает данные с датчиков и осуществляет коммуникацию по интерфейсам I2C и UART. Разнообразие интерфейсов позволяет подключить модуль как к микроконтроллеру, так и к ПК через преобразователь USB-UART.

Параметры:

  • Диапазон измерения температуры: -40 °...+85 °;
  • Диапазон измерения влажности: 0%...100%;
  • Диапазон измерения интенсивности света: 0.045...188000 lux;
  • Диапазон измерения давления воздуха: 300...1100 hpa;
  • Частота измерений: 10 Hz;
  • Рабочее напряжение: 3...5 V;
  • Рабочий ток: 5mA;
  • Рабочая температура: -40 °...+85 °;
  • Температура хранения: -40 °...+125 °;
  • Размер: 24.3 x 26.7 mm;
  • Назначение выводов:

  • VCC - Питание +3-5 вольт;
  • CT - Последовательный порт UART_TX / IIC_SCL;
  • DR - Последовательный порт UART_RX / IIC_SDA;
  • GND - Общий (минус питания);
  • NC - Зарезервировано, не подключено;
  • INT -  прерывание датчика MAX44009;
  • SDA - Шина данных I2C;
  • SCL - Шина тактовой частоты I2C;
  • S0 - Выбор режима Serial / MCU_IIC;
  • S1 - Используйте только выбор чипа датчика;
  • При помощи вывода S0 можно выбрать интерфейс связи с установленным на плате микроконтроллером. Изначально выбран интерфейс UART. Чтобы подключиться к микроконтроллеру по интерфейсу I2C необходимо вывод S0 соединить с выводом GND. Для это вывод GND выведен рядом с S0.

    Чтобы получить доступ по интерфейсу I2C непосредственно с датчиками BME280 и MAX44009, необходимо вывод S1 соединить с GND.

    Встроенный в модуль микроконтроллер использует собственный протокол связи, который подробно описан в DataSheet.

    Пример подключения модуля по интерфейсу UART в среде ArduinoIDE. Используются только стандартные библиотеки.

    /////////////////////
    /*
    GY39----MINI
    VCC----VCC
    GND----GND
    1:RX---TX,send A5 02 A7 to GY-39
    2:TX---RX
    3:MINI_TX---FT232_RX
    */
    //////////////////
    unsigned char Re_buf[15],counter=0;
    unsigned char sign=0;
    typedef struct
    {
        uint32_t P;
        uint16_t Temp;
        uint16_t Hum;
        uint16_t Alt;
    } bme;
    void setup() {
     
       Serial.begin(9600);
      delay(1);
      Serial.write(0XA5);
      Serial.write(0X02);
      Serial.write(0XA7);
    }
    
    void loop() {
      unsigned char i=0,sum=0;
       uint16_t data_16[2]={0};
        bme Bme;
      if(sign)
      {   
      
         for(i=0;i<14;i++)
          sum+=Re_buf[i]; 
         if(sum==Re_buf[i] )
         {  	 
           Bme.Temp=(Re_buf[4]<<8)|Re_buf[5];
            data_16[0]=(Re_buf[6]<<8)|Re_buf[7];
            data_16[1]=(Re_buf[8]<<8)|Re_buf[9];
           Bme.P=(((uint32_t)data_16[0])<<16)|data_16[1];
           Bme.Hum=(Re_buf[10]<<8)|Re_buf[11];
           Bme.Alt=(Re_buf[12]<<8)|Re_buf[13];      
           Serial.print("Temp: ");
           Serial.print( (float)Bme.Temp/100);
           Serial.print(" DegC  PRESS : ");
           Serial.print( ((float)Bme.P)/100);
           Serial.print(" Pa  HUM : ");
           Serial.print( (float)Bme.Hum/100);
           Serial.print(" % ALT:");
           Serial.print( Bme.Alt);
           Serial.println("m");
     
        
        sign=0;        
       }
      } 
    
    }
    void serialEvent() {
    
     
          while (Serial.available()) {   
          Re_buf[counter]=(unsigned char)Serial.read();
          if(counter==0&&Re_buf[0]!=0x5A) return;         
          counter++;       
          if(counter==15)
          {    
             counter=0;
             sign=1;
          }      
          }
    
    }
    

    Пример подключения модуля по интерфейсу I2C в среде ArduinoIDE. Используются только стандартные библиотеки.

    #include <Wire.h>
    /////////////////////////////////
    /*
    GY-39-----mini
    VCC----VCC
    SCL----A5
    SDA----A4
    GND--GND
    */
    
    
    //////////////////////////////////
    #define uint16_t unsigned int
    #define iic_add  0x5b
    typedef struct
    {
        uint32_t P;
        uint16_t Temp;
        uint16_t Hum;
        uint16_t Alt;
    } bme;
    
    bme Bme;
      uint32_t Lux;
    
    void i2c_speed(uint16_t scl_speed)
    {
      /* initialize TWI clock: 40 kHz clock, TWPS = 0 => prescaler = 1 */
      
      TWSR = 0;                         /* no prescaler */
      TWBR = ((F_CPU/scl_speed)-16)/2;  /* must be > 10 for stable operation */
    
    }
    void setup() {
           Serial.begin(115200);
           Wire.begin();
           i2c_speed(40000);
           delay(1); 
    }
    void loop() {
    
        get_bme();
        Serial.print("Temp: ");
        Serial.print( (float)Bme.Temp/100);
        Serial.print(" DegC  PRESS : ");
        Serial.print( ((float)Bme.P)/100);
        Serial.print(" Pa  HUM : ");
        Serial.print( (float)Bme.Hum/100);
        Serial.print(" % ALT:");
        Serial.print( Bme.Alt);
        Serial.println("m");
        get_lux();
        Serial.print( "Lux: ");
        Serial.print( ((float)Lux)/100);
        Serial.println(" lux");
        delay(200); 
    }
    void get_bme(void)
    {
        uint16_t data_16[2]={0};
        uint8_t data[10]={0};
       iic_read(0x04,data,10);
       Bme.Temp=(data[0]<<8)|data[1];
       data_16[0]=(data[2]<<8)|data[3];
       data_16[1]=(data[4]<<8)|data[5];
       Bme.P=(((uint32_t)data_16[0])<<16)|data_16[1];
       Bme.Hum=(data[6]<<8)|data[7];
       Bme.Alt=(data[8]<<8)|data[9];
    }
    void get_lux(void)
    {     
        uint16_t data_16[2]={0};
        uint8_t data[10]={0};
        iic_read(0x00,data,4);
        data_16[0]=(data[0]<<8)|data[1];
        data_16[1]=(data[2]<<8)|data[3];
        Lux=(((uint32_t)data_16[0])<<16)|data_16[1];
    
    }
    void iic_read(unsigned char reg,unsigned char *data,uint8_t len )
    {
       Wire.beginTransmission(iic_add);  
       Wire.write(reg); 
       Wire.endTransmission(false);
       delayMicroseconds(10);
       if(len>4)
         Wire.requestFrom(iic_add,10);     
       else
         Wire.requestFrom(iic_add,4);
       for (uint8_t i = 0; i < len; i++)
        {  
           data[i] = Wire.read(); 
       }
      
    }

    ------------------
    СЕЕД14846:1070
    Добавить отзыв
     Написание отзыва требует предварительной регистрации на сайте.
    Вы можете купить Модуль измерения давления, температуры, влажности воздуха и интенсивности света на BME280 и MAX44009. Uпит:3,3-5В как за наличный расчёт, так и по безналичному расчёту ( т.н. безналу, перечислению). Для этого Вам надо либо оформить заказ на нашем сайте, указав в примечании реквизиты, либо прислать письмо с точным указанием кода CTTL14846 на Модуль измерения давления, температуры, влажности воздуха и интенсивности света на BME280 и MAX44009. Uпит:3,3-5В, желаемого количества и реквизитов Вашей организации. Счета по безналичному расчёту выписываются на основании вашего письменного запроса и от суммы 500 рублей.
    Доставка может производиться различными по Вашему выбору способами. Это и самовывоз, и курьерские службы по г. Москве, и транспортные компании по России. Также мы можем выслать этот товар Почтой России. Если размеры, вес товара Модуль измерения давления, температуры, влажности воздуха и интенсивности света на BME280 и MAX44009. Uпит:3,3-5В или соображения удароустойчивости находятся в разрешённых Почтой России пределах.