Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

YK
2020-12-15 11:28:59

Когда то писалось на форуме что при все простоте, задача обработки нажатия кнопки может сильно усложниться, если учесть
дребезг, очередь нажатий и т.п.

Поэтому возьми готовую библиотеку в инете, для обработки кпопки и задача решиться сама собой

vvr
2020-12-12 13:42:34
г0сть пише:
Bulat пише:

Код поменял,всё заработало

И работает так как нужно было в первом сообщении? Нажми кнопку и держи ее не отпуская, расскажешь потом как ведет себя светодиод.

ну наверное тс устраивает)))))

г0сть
2020-12-12 11:03:17
Bulat пише:

Код поменял,всё заработало

И работает так как нужно было в первом сообщении? Нажми кнопку и держи ее не отпуская, расскажешь потом как ведет себя светодиод.

Bulat
2020-12-12 08:51:25

Код поменял,всё заработало

#define LED_PIN 13
#define BUTTON_PIN A5
int val;

void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(LED_PIN, OUTPUT);
}

void loop() {
if (!digitalRead(BUTTON_PIN)) {
val++;
}
if (!digitalRead(LED_PIN) && val == 3) {
val = 0;
digitalWrite(LED_PIN, HIGH);
} else if (digitalRead(LED_PIN) && val == 4) {
val = 0;
digitalWrite(LED_PIN, LOW);
}
delay(100);
}
г0сть
2020-12-12 00:47:00
Bulat пише:

С кодом помогли

А где здесь нажатия?

vvr
2020-12-11 22:53:00

учишься работать с кнопкой с учётом дребезга контактов.
заводишь счётчик и смотришь в мониторе порта как меняются значения.
потом подключаешь светик и прописываешь логику его работы.

Bulat
2020-12-11 21:20:44

С кодом помогли,но светодиод,всё равно,не загорается

void setup()
{
pinMode(4, OUTPUT);
pinMode(2, INPUT_PULLUP);
}
void loop()
{
int cnt = 0;
if (digitalRead(2) == HIGH) {
++cnt;
delay(25);
}
if (cnt == 3) digitalWrite(4, HIGH);
if (cnt == 7) digitalWrite(4, LOW), cnt = 0;
}
Bulat
2020-12-11 19:45:48

Нужно написать программу: светодиод загорается после 3х нажатий кнопки и гаснет после следующих 4х нажатий.Искал в инете,были похожие темы,но всё равно не то

Підвал форуму