mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 11:59:12 +03:00
добавил датчик co2
This commit is contained in:
@@ -1,9 +1,13 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
float yourSensorReading(String type, String addr);
|
extern float yourSensorReading(String type, String addr);
|
||||||
|
|
||||||
void HDC1080_init(String addr);
|
extern void HDC1080_init(String addr);
|
||||||
void AHTX0_init();
|
extern void AHTX0_init();
|
||||||
void LCD_init();
|
extern void LCD_init();
|
||||||
void BH1750_init();
|
extern void BH1750_init();
|
||||||
|
|
||||||
|
//extern SoftwareSerial K_30_Serial;
|
||||||
|
extern unsigned long getValue(byte packet[]);
|
||||||
|
extern void sendRequest(byte packet[]);
|
||||||
@@ -28,6 +28,23 @@ BH1750 lightMeter;
|
|||||||
//создаем объект ADS1015
|
//создаем объект ADS1015
|
||||||
// Adafruit_ADS1015 ads;
|
// Adafruit_ADS1015 ads;
|
||||||
|
|
||||||
|
// co2 sensor
|
||||||
|
SoftwareSerial K_30_Serial(13, 15); //Программный порт
|
||||||
|
byte readCO2[] = {0xFE, 0X44, 0X00, 0X08, 0X02, 0X9F, 0X25}; //Команды для запроса показаний с датчика
|
||||||
|
byte response[] = {0, 0, 0, 0, 0, 0, 0}; //массив для ответа от датчика
|
||||||
|
unsigned long getValue(byte packet[]) {
|
||||||
|
int high = packet[3]; //верхний байт показания СО2
|
||||||
|
int low = packet[4]; //нижний байт показания СО2
|
||||||
|
unsigned long val_1 = high * 256 + low; //соединяем байты
|
||||||
|
return val_1;
|
||||||
|
}
|
||||||
|
void sendRequest(byte packet[]) {
|
||||||
|
while (!K_30_Serial.available()) {
|
||||||
|
K_30_Serial.write(readCO2, 7);
|
||||||
|
delay(50);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
float yourSensorReading(String type, String paramsAny) {
|
float yourSensorReading(String type, String paramsAny) {
|
||||||
float value;
|
float value;
|
||||||
//========================================================HDC1080================================================================
|
//========================================================HDC1080================================================================
|
||||||
@@ -62,6 +79,14 @@ float yourSensorReading(String type, String paramsAny) {
|
|||||||
BH1750_init();
|
BH1750_init();
|
||||||
value = lightMeter.readLightLevel();
|
value = lightMeter.readLightLevel();
|
||||||
}
|
}
|
||||||
|
//==========================================================BH1750=================================================================
|
||||||
|
if (type == "valCO2") {
|
||||||
|
K_30_Serial.begin(9600);
|
||||||
|
sendRequest(readCO2);
|
||||||
|
int valCO2 = getValue(response);
|
||||||
|
value = valCO2;
|
||||||
|
// Serial.println(valCO2);
|
||||||
|
}
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user