Датчик MHZ19B — Библиотека не найдена. Пожалуйста, помогите!
Кажется, я не могу понять, в чем здесь проблема. Я пытаюсь загрузить этот код в Arduino Uno, но он продолжает сообщать мне, что библиотека не найдена. Я скачал библиотеку для датчиков MHZ, но она ей не нравится. Я новичок в Arduino. Пожалуйста помоги! Это код:
// Библиотеки
#include <DHT.h>
#include <SD.h>
#include <SoftwareSerial.h>
#include <MHZ19B.h>
// Константы
const int chipSelect = 10; // контакт выбора чипа SD-карты
#define DHTPIN 7 // Контакт датчика DHT
#define DHTTYPE DHT22 // тип датчика DHT
#define MHZ19B_TX_PIN 8 // Контакт TX датчика MHZ19B
#define MHZ19B_RX_PIN 9 // Контакт RX датчика MHZ19B
// Переменные
DHT dht(DHTPIN, DHTTYPE);
File dataFile;
MHZ19B mhz19b;
float hum; // Значение влажности
float temp; // Значение температуры
int lightVal; // Значение датчика освещенности
int co2; // концентрация CO2
void setup()
{
Serial.begin(9600);
dht.begin();
Serial.print("Initializing SD card...");
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
while (1);
}
Serial.println("card initialized.");
Serial.print("Initializing MHZ19B sensor...");
mhz19b.begin(MHZ19B_TX_PIN, MHZ19B_RX_PIN);
Serial.println("MHZ19B sensor initialized.");
}
void loop()
{
lightVal = analogRead(A1);
Serial.print("Light Value: ");
Serial.println(lightVal);
delay(50);
hum = dht.readHumidity();
temp = dht.readTemperature();
Serial.print("Humidity: ");
Serial.print(hum);
Serial.print(" %, Temp: ");
Serial.print(temp);
Serial.println(" Celsius");
delay(5);
co2 = mhz19b.getCO2();
Serial.print("CO2 Concentration: ");
Serial.print(co2);
Serial.println(" ppm");
dataFile = SD.open("datalog.txt", FILE_WRITE);
if (dataFile) {
dataFile.println("Light Value: ");
dataFile.println(lightVal);
delay(50);
hum = dht.readHumidity();
temp = dht.readTemperature();
dataFile.print("Humidity: ");
dataFile.println(hum);
dataFile.print(" %, Temp: ");
dataFile.println(temp);
dataFile.println(" Celsius");
co2 = mhz19b.getCO2();
dataFile.print("CO2 Concentration: ");
dataFile.print(co2);
dataFile.println(" ppm");
delay(5000);
dataFile.close();
}
else {
Serial.println("Error opening datalog.txt");
}
delay(1000);
}
@Maria, 👍1
Обсуждение1 ответ
Это потому, что это должен быть либо #include <MHZ.h>
для библиотеки датчиков CO2 MH-Z, либо #include <MHZCO2.h>
для библиотеки датчиков CO2 MH-Z. MHZCO2 один.
Как вы обычно включаете загружаемые библиотеки? Через заведующего библиотекой? В Arduino IDE 2.0 это можно сделать с помощью Sketch -> Включить библиотеку -> библиотека, которую вы хотите включить, должна содержать правильный заголовок.
Да. Заведующая библиотекой. Спасибо за помощь. Я попробую это., @Maria
@Мария, пожалуйста! Как упоминает jsotola выше, взгляните на пример в библиотеке (если вы собираетесь использовать датчики CO2 MH-Z) — способ инициализации датчика немного отличается от того, как вы это делали в скетч, который вы предоставили., @Nick S.
Хорошо. Я посмотрю. Я не владею кодом Arduino, но я проверю, смогу ли я его изменить и заставить его работать., @Maria
- Какова работа pulseIn?
- Сколько датчиков может поддерживать один модуль Arduino?
- Получение BPM из данного кода
- Как подключить более 10 датчиков к Arduino uno r3
- Как использовать два ультразвуковых датчика для управления двигателем 5 Вольт?
- Чтение датчика давления от 4 до 20 мА с использованием uno
- Что выбрать между датчиками температуры и влажности: AM230x или DHT22?
- SRF04 Ультразвуковой датчик - неточные показания
посмотрите пример кода в библиотеке, @jsotola