задержка после нажатия на клавишу
- Войдите на сайт для отправки комментариев
Пнд, 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
Посмотрите пример там.
Спасибо ... Я так и делал , проблема была в прошивальщике ... Теперь всё ок...