Помогите новичку.
- Войдите на сайт для отправки комментариев
Чт, 28/02/2013 - 22:29
Решил написать программу - таймер. Зажигает светодиод по назначенному времени, назначается кнопками.
Секундная кнопка (buttonFirst) работает, а минутная нет. Можно хоть час после запуска с минутной ждать...
int buttonFirst = 4; int buttonSecond = 7; int led = 13; int buttonFirstNumber = 0; int buttonSecondNumber = 0; int equalButton = 8; int equal = 0; int resetButton = 12; void setup() { pinMode(led, OUTPUT); pinMode(buttonFirst, INPUT); pinMode(buttonSecond, INPUT); pinMode(equalButton, INPUT); pinMode(resetButton, INPUT); } void loop() { if(digitalRead(buttonFirst)==HIGH) { ++buttonFirstNumber; delay(500); } if(digitalRead(buttonSecond)==HIGH) { ++buttonSecondNumber; delay(500); } if(digitalRead(equalButton)==HIGH) { equal = buttonSecondNumber * 60000 + buttonFirstNumber * 1000 ; digitalWrite(led, LOW); delay(equal); digitalWrite(led, HIGH); } if(digitalRead(resetButton)==HIGH) { digitalWrite(led,LOW); buttonFirstNumber = 0; buttonSecondNumber = 0; equal = 0; } }
Переменная equal имеет тип int, а его значения ограничены интервалом (-32768; 32767).
Объявите ее как long и должно заработать.
Спасибо!