Датчик CO2 для ардуино

Я хочу добавить функцию измерения CO2 в свою комнатную метеостанцию. Может ли кто-нибудь порекомендовать датчик CO2, который легко интегрируется с Arduino?

, 👍7


6 ответов


5

Вы можете попробовать датчик CO2 K30. Существует также руководство по созданию детектора CO2 Arduino здесь.

Я также видел, как люди используют модуль MG-811, вы можете купить их на dfrobot.com. Также есть хорошая документация по использованию MG-811 с Arduino здесь .

,

Полезны ли эти датчики для внешней среды, а не только внутри здания?, @Lobo


0

Как насчет этого? http://cgi.ebay.de/ws/eBayISAPI. dll?ViewItem&item=380915024016&ssPageName=STRK:MESE:IT MG-811 очень чувствителен к CO2 и менее чувствителен к алкоголю и CO.

,

-2

Я могу порекомендовать эти сенсоры. Они небольшие и предлагают отличное соотношение цены и качества.

,

Было бы полезно, если бы вы включили в свой ответ дополнительную информацию, например, производителя и номера деталей. Таким образом, люди по-прежнему смогут найти предлагаемые вами товары, даже если ссылка, которую вы разместили, изменится. Спасибо!, @Peter Bloomfield

Не говоря уже о том, что это датчики влажности, которые просто не измеряют CO2., @Dmitry Grigoryev


0

Этот: http://sandboxelectronics.com/?product=mg-811-co2-gas-sensor- модуль

Они также получили хороший демо-код. Вот схема подключения, если вы используете демо без модификации:

  1. Красный – 5 В
  2. Черный — заземление
  3. Желтый — аналоговый вход 0
  4. Зеленый — цифровой ввод-вывод 2

Легкая интеграция

,

2

Исходя из опыта работы с датчиками CO2 CCS811, я рекомендовал бы против них. Они имеют тенденцию дрейфовать высоко, иногда очень высоко, а затем возвращаются к своим чувствам и дают разумные показания при сбросе.

Я попробовал две партии датчиков CJMCU-811, купленные с разницей в несколько месяцев (в надежде получить другую производственную партию), и все они были хламом.

,

1

Это хорошо сработало для меня на цветном экране. Требуется небольшая задержка для сенсора и длительное прожигание (24 часа). Но легкий КИВИ

#include <XTronical_ST7735.h> // Аппаратно-зависимая библиотека
#include <SPI.h>
#include <Adafruit_GFX.h>    // Базовая графическая библиотека
#include <sSense-CCS811.h>
#include <dht.h>

#define SERIAL_SPEED  9600

#define TFT_SCLK 13         // Часы SPI
#define TFT_MOSI 11         // Данные SPI
#define TFT_CS   10         // Отображение включено (выбор чипа), если не включено, не будет говорить по шине SPI
#define TFT_RST   9         // Показать вывод сброса, вы также можете подключить его к сбросу Arduino
                            // в этом случае установите для этого вывода #define значение -1!
#define TFT_DC     8 
CCS811 ssenseCCS811;
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS,  TFT_DC, TFT_RST);  
dht DHT;

#define DHT11_PIN 7

void setup()
{
  DebugPort.begin(SERIAL_SPEED);
  delay(5000);
  Serial.println("s-Sense CCS811 I2C sensor.");
  if(!ssenseCCS811.begin(uint8_t(I2C_CCS811_ADDRESS), uint8_t(CCS811_WAKE_PIN), driveMode_1sec))
    DebugPort.println("Initialization failed.");
  tft.init();   // инициализируем микросхему ST7735S,
  tft.setRotation(0);
  tft.fillScreen(ST7735_GREEN);
  tft.setTextColor(ST7735_RED);
  tft.setCursor(0, 30); 
  tft.setTextSize(1); 
}

void loop()
{ 
  ssenseCCS811.setEnvironmentalData((float)(21.102), (float)(57.73));  // заменить значениями температуры и влажности с датчика HDC2010
  int chk = DHT.read11(DHT11_PIN);
  if (ssenseCCS811.checkDataAndUpdate())
  {
    
    tft.fillScreen(ST7735_GREEN);
    tft.setCursor(10,10);
    tft.print("CO2 ppm  ");
    tft.print(ssenseCCS811.getCO2());
    tft.setCursor(10,40);
    tft.print("tVOC ppb ");
    tft.print(ssenseCCS811.gettVOC());
    tft.setCursor(10,70);
    tft.print("Temp C   ");
    tft.print(DHT.temperature);
    tft.setCursor(10,100);
    tft.print("Humid %  ");
    tft.print(DHT.humidity);

    
  }
  else if (ssenseCCS811.checkForError())
  {
    ssenseCCS811.printError();
  }

  delay(2000);
}
,