Остановка выполнения действия
- Войдите на сайт для отправки комментариев
Сб, 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 - сигнал получен, диод выключен (конечное состояние),
и прописать условия перехода из одного состояния в другое.