Подсчет срабатываний датчика
- Войдите на сайт для отправки комментариев
Пт, 04/07/2014 - 12:34
Здравствуйте, подскажите как организовать подсчет срабатываний датчика освещености, он подключен к порту цифровому 3, аналоговому 0.
Вот написал программу но как только его освещаю, он начинает увеличивать переменную на единицу, а мне требуется если он освещен то только одна единица должна занестись в переменую, при следующем освещении опять прибавиться единица.
Подскажите как это реализовать.
Вот программа:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
const int analogPin=A0;
const int sensor=3;
int sensorValueDI=0;
int sensorValueAI=0;
int ksd=0;
void setup()
{
Serial.begin(9600);
lcd.init(); // Инициализация lcd
lcd.backlight(); // Включаем подсветку
pinMode(sensor,INPUT);
}
void loop()
{
//Serial.print(sensorValueDI);
//Serial.println();
//Serial.print(sensorValueAI);
//Serial.println();
sensorValueDI=digitalRead(sensor);
sensorValueAI=analogRead(analogPin);
lcd.clear(); // Очищаем дисплей
if(sensorValueDI==LOW)
{
ksd++;
}
lcd.clear(); // Очищаем дисплей
lcd.setCursor(0, 0);
lcd.print(sensorValueDI); // Выводим значение
lcd.setCursor(0, 1);
lcd.print(ksd); // Выводим значение
}
сравнивайте с преидидущим состоянием - если не поменялось, то не считаем, если поменялось и стало "освещенным", то прибавляем