Остановка выполнения действия
- Войдите на сайт для отправки комментариев
Сб, 14/05/2016 - 18:11
Добрый день, заранее извиняюсь за глупый вопрос, пока не могу понять как реализовать, подскажите пожалуйста, как можно прервать действие. Допустим у нас есть светодиод, пульт с приемником и потенциометр. Как сделать, чтоб при получении сингала с пульта, диод загорался и оставался включенным пока показатель потенциометра не достигнут >= 100, как только поступает такое значение, светодиод выключается
#include <IRremote.h>
int analogPin = A0;
int led = 13;
int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
pinMode(led,OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
int rawReading = analogRead(analogPin) /4;
Serial.println(rawReading);
if (irrecv.decode(&results)) {
Serial.println(results.value);
if (results.value == 629155073) // При получении кодировки 1
{
if (rawReading < 100){
digitalWrite (led, HIGH);
}
if (rawReading >= 100){
digitalWrite (led, LOW);
}
irrecv.resume();
}
}
}
Ввести переменную, описывающую следующие состояния:
0 - начальное состояние, команды с пульта не получались,
1 - сигнал получен, диод горит, потенциометр <100,
2 - сигнал получен, диод выключен (конечное состояние),
и прописать условия перехода из одного состояния в другое.