#include <SimpleKalmanFilter.h>
#include <LiquidCrystal_I2C.h>
/*
SimpleKalmanFilter(e_mea, e_est, q);
e_mea: Mức độ không chắc chắn của phép đo (mong đợi vào phép đo)
e_est: Ước tính không chắc chắn (setup giống e_mea, thư viện sẽ tự hiệu chỉnh)
q: Phương sai - Khuyến nghị 0,001 - 1 (thường là 0,001), tùy vào dự án hiệu chỉnh cho phù hợp
*/
SimpleKalmanFilter locnhieu(2, 2, 0.01);
int sensor = A0;
int sensor1 = A1;
int van1 = 12;
int van = 11;
float Rsensor;
float Fsensor;
float Rsensor1;
float Fsensor1;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
lcd.init();
lcd.backlight();
Serial.begin(9600);
pinMode(sensor, INPUT);
pinMode(sensor1, INPUT);
pinMode(van, OUTPUT);
pinMode(van1,OUTPUT);
}
void loop()
{
Rsensor = analogRead(sensor);
Rsensor1 = analogRead(sensor1);
Fsensor = locnhieu.updateEstimate(Rsensor);
Fsensor1 = locnhieu.updateEstimate(Rsensor1);
Serial.print("CBTN: ");
Serial.print(Rsensor);
Serial.print(" CBG: ");
Serial.print(Rsensor1);
Serial.print(" LỌC: ");
Serial.print(Fsensor && Fsensor1);
Serial.println();
delay(1000);
}