Подсчёт времени лог. единицы
- Войдите на сайт для отправки комментариев
Чт, 11/02/2016 - 11:11
Вообщем нужно реализовать такой скетч, если на порт заходит "1" и держится там 1 секунду, то выполняется определённое действие. Помогите, как такое реализовать
http://arduino.ru/Reference/PulseIn
благодарю, вроде то что мне надо
Не за что. RTFM.
Вообще попытка написать код. Итог: не работает у меня. Подскажите где косяк
#define pin1 3 #define pin2 4 #define z 600000 int zn; void setup() { pinMode(pin1, INPUT); pinMode(pin2, OUTPUT); } void loop() { zn = pulseIn(pin1, z, HIGH); if (zn == 1) { digitalWrite(pin2, HIGH); delay(600); digitalWrite(pin2, LOW); zn = 0; } }Apocalyps, не косяк, а косяки. В 3,4, 11, 12 строках. Причём в некоторых сразу по 2 ошибки )
Apocalyps, не косяк, а косяки. В 3,4, 11, 12 строках. Причём в некоторых сразу по 2 ошибки )
подскажите пожалуйста, как починить
Имейте ввиду, что без pull-down резистора на pin1 это работать не будет.
#define pin1 3 #define pin2 4 #define z 10000000ul //ожидать 10 сек unsigned long zn; void setup() { pinMode(pin1, INPUT); pinMode(pin2, OUTPUT); } void loop() { zn = pulseIn(pin1,HIGH,z); if (zn >= 1000000) { //если импульс HIGH длинее чем 1сек digitalWrite(pin2, HIGH); delay(600); digitalWrite(pin2, LOW); zn=0; } }Спасибо большое. Резистор стоит.