#define PIN 7 //номер аналогового порта
#define LIMIT 10 //предел погрешности при дребезге
byte bytes[4];
unsigned long math_time,old_time,real_time, res_dt1, res_d;
void setup()
{
Serial.begin(115200);
}
void loop()
{
res_d = analogRead(PIN);
if( res_d < LIMIT) res_d = LIMIT;
delay(10);
res_dt1 = analogRead(PIN);
old_time = millis();
math_time = 0;
while(math_time < 200)
{
real_time = millis();
math_time = real_time - old_time;
res_dt1 = analogRead(PIN);
if(res_dt1 < res_d-LIMIT || res_dt1 > res_d+LIMIT)break;
}
if( math_time > 70)
{
bytes[0] = res_d & 0xFF; // преобразовать в 4-байта
bytes[1] = (res_d & 0xFF00) >> 8;
bytes[2] = (res_d & 0xFF0000) >> 16;
bytes[3] = (res_d & 0xFF000000) >> 24;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
}
}