Изменение значения переменной
- Войдите на сайт для отправки комментариев
Пт, 16/05/2014 - 11:50
Нигде не могу прочитать, как записать условие изменения значения переменной ( может неправильно вопрос формирую).
int val;
if ( val...???????????????????) .... здесь какое то действо
Тут все написано
http://arduino.ru/Reference/If
val = analogRead(pot);
как записать , что если ИЗМЕНИЛОСЬ val, тогда ....
if (val !=val) ..................
Основы программирования...
(Объявляем newval и oldval.)
newval = analogRead(pot);
if (newval != oldval)
{
.................
oldval = newval;
}
Спасибо
Здравствуйте! Вопрос похожий у меня. Если есть идеи, помогите, пожалуйста. Есть датчик потока жидкости. Величина Output Liquid Quantity меняется(увеличивается) в зависимости от скорости потока. Так вот собственно вопрос: как сделать так, чтобы включалось реле всякий раз на N секунд через прошедший (каждый) литр ? Прошел литр - включим реле на 5 секунд, выключим, прошел еще литр - включим реле на 5 секунд, выключим и т. д.
Берите остаток от деления на 1000. Как будет меньше чем , например, 100 - включайте. Затем ждите, пока превысит 900 и опять в начало цикла ждать 100.
Спасибо. На мысль натолкнули. Лёд тронулся)
А чем пример с миллис() не нравится?
word carr_ml, prev_ml, interval_ml = 1000;//global if(carr_ml - prev_ml >= interval_ml){//1000 ml prev_ml += interval_ml; releOn(); }В общем получилось так. Всё работает. Может, кому-то будет полезно. Фрагмент из кода.
................. new_litr = totalMilliLitres / 1000; if( new_litr != old_litr) { flagA = 1; } old_litr = new_litr; if(flagA==1) { if (millis() - activateTime > 1000) { activateTime = millis(); valA++; // работает счет digitalWrite(PIN_RELAY,HIGH); // включаем реле } } if(valA > 5) //кол-во секунд при достижении этого значения реле выключается { digitalWrite(PIN_RELAY,LOW); // Выключаем реле flagA = 0; valA = 0; //обнуляем переменную } ....................Извиняюсь конечно. А как прописать. Если надо усреднить значения. То-есть показания прыгают и надо среднее значения. Тоже
В чем у Вас проблема, не знаете как усреднять значения?