Вы тут все жадины !!! 2.0

Mamaley
Offline
Зарегистрирован: 02.09.2015

Спасибо тем, кто откликнулся и всем, кто умничал ) !!!

Решение найдено менее жадными повелителями Ардуинов и программы на компе ненужно ! 

Срабатывает на нажатие клавиши "d" и выключается при отпускании !

Может еще кому пригодится. 

#define ledPin 13
unsigned long times;
char val;
int flag = 1;
 
void setup(){
  Serial.begin(9600);
  Serial.setTimeout(25);
  pinMode (ledPin, OUTPUT);
}
 
 
void loop(){
  val=0;
  if (Serial.available() > 0) {
      val = Serial.read();
 
      if (val == 'd') {
       times = millis(); // старт отсчета
       if (flag == 1) {  
           digitalWrite(ledPin, HIGH); // включаем, если пришло 'd'
           flag = 0; // разрешаем проверку
       }
      }
  }
 
  if(flag == 0){   
   if(times+1000 < millis()){ // ждем 1 сек
    flag = 1;
    // если по истечении 1 сек переменная val пустая, значит ничего не приходит
    if (val == 0) digitalWrite(ledPin, LOW);
   }
  }   
 
}

 

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

Mamaley пишет:
Срабатывает на нажатие клавиши "d" и выключается при отпускании !

ты точно уверен, что срабатывает при нажатии на клавишу "d", а не после ввода в сериал монитор символа "d" и нажатии кнопы "Отправить"?

// если по истечении 1 сек переменная val пустая, значит ничего не приходит - ты собрался каждую секунду отправлять символ "d", что бы халабуда у тебя не выключилась?

Mamaley
Offline
Зарегистрирован: 02.09.2015

Клапауций 001 пишет:

Mamaley пишет:
Срабатывает на нажатие клавиши "d" и выключается при отпускании !

ты точно уверен, что срабатывает при нажатии на клавишу "d", а не после ввода в сериал монитор символа "d" и нажатии кнопы "Отправить"?

// если по истечении 1 сек переменная val пустая, значит ничего не приходит - ты собрался каждую секунду отправлять символ "d", что бы халабуда у тебя не выключилась?

Не знаю как, но ето работает !!!)))

vvadim
Offline
Зарегистрирован: 23.05.2012

Mamaley пишет:

Не знаю как, но ето работает !!!)))

ты туту сильно не шуми, а то подтянутся и Клапауций и Клапауций 999 ))))

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Да они сейчас все из диапазона 000 - 999 подтянутся!  Тыщя штук! ;)

Radjah
Offline
Зарегистрирован: 06.08.2014

А не проще кнопку на пин повесить и не чесать ухо через задницу?

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

Мамалей, не будет это работать при нажатии и опускании. Ботва, наэ@@али тебя. 

Решение - пара строк на Processing.org. Иди туда, копай в примеры serial.

KVadik
KVadik аватар
Offline
Зарегистрирован: 15.06.2014

Mamaley пишет:

Не знаю как, но ето работает !!!)))

 

ложь, ***деж и провокация

Работать оно будет только  если есть на компе программа отправдяющая в компорт "d" по нажатию клавиши, например - гипертерминал.