Включение светодиода на некоторое время
- Войдите на сайт для отправки комментариев
Вс, 07/02/2016 - 16:20
Добрый день.
Прошу помощи. Вообщем задача банальна и проста, но вынесла мне мозг. Нужно после нажатия и отпускания кнопки чтобы загорался светодиод на некоторое время.
Нажали-ничего, отпутили светодиод горит и через пускай 5 сек. выключается.
int flag=0;
void setup()
{
pinMode(13, OUTPUT);
}
void loop()
{
if(digitalRead(14)==HIGH&&flag==0)
{
flag=1;
}
if(digitalRead(14)==LOW&&flag==1)
{
digitalWrite(13,!digitalRead(13));
flag=0;
}
}
int flag=0; unsigned long currentTime; //Переменная для pause void setup() { pinMode(13, OUTPUT); } void loop() { if(digitalRead(14)==HIGH&&flag==0) { flag=1; } if(digitalRead(14)==LOW&&flag==1) { digitalWrite(13,HIGH); currentTime = millis(); flag=0; } if (digitalRead(13) == HIGH && millis()-currentTime>=5000) { digitalWrite(13,LOW); } }10staticconstunsignedlongtimer_ = 5000;// длительность отслеживания неактивности.if (BUTTON_01.click_up) {что-то делаем при отпускании} if (BUTTON_01.timer) {что-то делаем, если кнопка отпущена и неактивна в течении определённого времени}класс титановый велосипед для тактовой кнопки.
Примерчики с таймером и без таймера можно здесь посмотреть
Вообщем задача настолько банальна и проста, что не интересна даже САМОМУ "Vidyaev"
Всем спасибо. vosara у меня просто времени не было. Сейчас протестируем.
Может кому пригодится.
Понадобилось все это мне для включения, на некоторое время. вытяжки в туалете, после выключения света. Паралельно к лампе подключил БП, который подает сигнал на пин. Вентилятор подключен через реле.
#define pause 300000 //время работы вентилятора #define rele 7 #define kn 2 int flag = 0; unsigned long currentTime; void setup() { pinMode(rele, OUTPUT); } void loop() { if(digitalRead(kn) == HIGH && flag == 0) { digitalWrite(rele,HIGH); flag = 1; } if(digitalRead(kn) == LOW && flag == 1) { digitalWrite(rele,LOW); currentTime = millis(); flag = 0; } if (digitalRead(rele) == LOW && millis() - currentTime >= pause) { digitalWrite(rele,HIGH); } }Все рабоает. Всем спасибо.
Может кому пригодится.
Понадобилось все это мне для включения, на некоторое время. вытяжки в туалете, после выключения света. Паралельно к лампе подключил БП, который подает сигнал на пин. Вентилятор подключен через реле.
Вытяжка управдяется каким-то реле, а вот светодиод целым контроллером. Раз уж заморочились, добавьте логику работы вытяжки, например по влажности, чтобы зря вентилятор при каждом выключени света не молотил
например по влажности, чтобы зря вентилятор при каждом выключени света не молотил
в туалете же вентиллятор - не в бане.
Примерчики с таймером и без таймера можно здесь посмотреть
понравилась статейка