задержка после нажатия на клавишу
- Войдите на сайт для отправки комментариев
Пнд, 28/03/2016 - 11:05
Народ ... Есть скетч на простое управление 8ю реле.
Но из-за управления через интернет, происходят разного рода задержки...
Вопрос - что дописать, дабы после нажатия, реле срабатывало 1сек. и выключалось
до следующего нажатия ...?
int ledPin8 = 8; // l,p int ledPin2 = 2; // e,r int ledPin4 = 4; // s int ledPin6 = 6; // a int ledPin7 = 7; // k,o int ledPin5 = 5; // d int ledPin3 = 3; // w int ledPin9 = 9; // j,i void setup() { Serial.begin(9600); pinMode (ledPin9, OUTPUT); pinMode (ledPin2, OUTPUT); pinMode (ledPin3, OUTPUT); pinMode (ledPin4, OUTPUT); pinMode (ledPin5, OUTPUT); pinMode (ledPin6, OUTPUT); pinMode (ledPin7, OUTPUT); pinMode (ledPin8, OUTPUT);} void loop() { while (Serial.available()) { char val = Serial.read(); if (val == 'w') { digitalWrite(ledPin3, HIGH); } if (val == 's') { digitalWrite(ledPin4, LOW); } if (val == 'a') { digitalWrite(ledPin6, LOW); } if (val == 'd') { digitalWrite(ledPin5, LOW); } if (val == 'e') { digitalWrite(ledPin2, LOW); } if (val == 'r') { digitalWrite(ledPin2, HIGH); } if (val == 'l') { digitalWrite(ledPin8, LOW); } if (val == 'p') { digitalWrite(ledPin8, HIGH); } if (val == 'j') { digitalWrite(ledPin9, LOW); } if (val == 'i') { digitalWrite(ledPin9, HIGH); } if (val == 'k') { digitalWrite(ledPin7, LOW); } if (val == 'o') { digitalWrite(ledPin7, HIGH); } if (val == 'x') { digitalWrite(ledPin3, HIGH); digitalWrite(ledPin4, HIGH); } if (val == 'c') { digitalWrite(ledPin5, HIGH); digitalWrite(ledPin6, HIGH); }}}
Варианта два delay или millis.
Примерчик прост как чашка чая. Даже в среде есть примеры типа Blink или blinkWithoutDelay
Посмотрите пример там.
Спасибо ... Я так и делал , проблема была в прошивальщике ... Теперь всё ок...