mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-27 06:32:19 +03:00
добавил датчик co2
This commit is contained in:
@@ -1,9 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include <Arduino.h>
|
||||
float yourSensorReading(String type, String addr);
|
||||
extern float yourSensorReading(String type, String addr);
|
||||
|
||||
void HDC1080_init(String addr);
|
||||
void AHTX0_init();
|
||||
void LCD_init();
|
||||
void BH1750_init();
|
||||
extern void HDC1080_init(String addr);
|
||||
extern void AHTX0_init();
|
||||
extern void LCD_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
|
||||
// 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 value;
|
||||
//========================================================HDC1080================================================================
|
||||
@@ -62,6 +79,14 @@ float yourSensorReading(String type, String paramsAny) {
|
||||
BH1750_init();
|
||||
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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user