Включение по реле по кнопке без фиксации, а выключение по той же кнопке или по прошествию заданного времени.
- Войдите на сайт для отправки комментариев
Чт, 06/10/2022 - 21:59
#define LED_PIN 10
#define BUTTON_PIN 3
boolean butt_flag = 0;
boolean butt;
boolean led_flag = 0;
unsigned long time;
unsigned long timeDown = 300000;
void setup() {
// put your setup code here, to run once:
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
Serial.begin(9600);
}
void loop() {
time = millis();
butt = !digitalRead(3);
if(butt == 1 && butt_flag == 0){
butt_flag = 1;
led_flag = !led_flag;
digitalWrite(LED_PIN,led_flag);
Serial.println("Включен");
}
if(butt == 0 && butt_flag == 1 || time>timeDown){
butt_flag = 0;
Serial.println("Выключен");
}
}
Не угадал! Или что надо то?
Бл#ть, хоть вопрос бы задал. Но коль я не злой сейчас (вообще молодежь обленилась):
void loop() { butt = !digitalRead(3); if(butt == 1 && butt_flag == 0){ butt_flag = 1; time = millis(); led_flag = !led_flag; digitalWrite(LED_PIN,led_flag); Serial.println("Включен"); } if((butt == 1 && butt_flag == 1) || ( millis() - timeDown > time)){ butt_flag = 0; led_flag = !led_flag; digitalWrite(LED_PIN,led_flag); Serial.println("Выключен"); } }Пользуйся
Модераторам: тему в песочницу адназначна!
Пользуйся
За подтяжку кнопки не забыть ещё...
Пользуйся
За подтяжку кнопки не забыть ещё...
Да кто ж его схему видел? Может там внешняя? А вопрос вообще в чем был? Да хрен его знает. Где увидел явное гамно, там и поправил. Дальше сам пусть думает.
Да кто ж его схему видел? Может там внешняя? А вопрос вообще в чем был? Да хрен его знает. Где увидел явное гамно, там и поправил. Дальше сам пусть думает.
Да я так, на всякий случай. Поддержать в "добром начинании"))))
Накосячил я вчера немного (со слепу чтоль?)
#define LED_PIN 10 #define BUTTON_PIN 3 boolean butt, butt_flag = 0, led_flag = 0; unsigned long onTime, timeDown = 300000; void setup() { pinMode(LED_PIN, OUTPUT); pinMode(BUTTON_PIN, INPUT_PULLUP); Serial.begin(9600); } void loop() { butt = !digitalRead(BUTTON_PIN); if (butt == 1 && butt_flag == 0) { delay(20); butt_flag = 1; onTime = millis(); led_flag = !led_flag; digitalWrite(LED_PIN, led_flag); Serial.println("Включен"); } if ((butt == 1 && butt_flag == 1) || ( millis() - onTime > timeDown)) { delay(20); butt_flag = 0; led_flag = !led_flag; digitalWrite(LED_PIN, led_flag); Serial.println("Выключен"); } }Заодно и внутреннюю подтяжку впендюрил )))
Заодно и ... впендюрил )))
впендюривать мы мастера )))