Таймер. Срочные вопросы.
- Войдите на сайт для отправки комментариев
Ср, 21/01/2015 - 03:44
Всем привет!
Таймер. После запуска выводится обратный отсчёт (10 минут). С помощью 2 кнопок «+» и «-» можно менять это время с кратностью 10 секунд. По достижении требуемого значения времени отсчёт продолжает вестись в прямом направлении.
Вопрос. Как вывести обратный отсчёт именно в минутах, а не как у меня в секундах? И еще при тестировании кнопки "+" и "-" работают с задержкой. Как исправить?
Вот моя наработка.
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int ButPin1 = 8;
int ButPin2 = 7;
int a;
void setup() {
lcd.begin(16, 2);
a=600;
}
void loop() {
a=a-1;
lcd.setCursor(0, 0);
lcd.print(a);
lcd.setCursor(0, 0);
if(digitalRead(ButPin1) == HIGH)
{
a=a-10;
}
if(digitalRead(ButPin2) == HIGH)
{
a=a+10;
}
delay(500);
}
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...
http://www.arduino.ru/forum/programmirovanie/nuzhna-pomoshch-5
там половину ответов найдёте :)
дык, спрашивайте... если что :)
http://www.arduino.ru/forum/programmirovanie/nuzhna-pomoshch-5
там половину ответов найдёте :)
Посмотрел тут и на сколько понял нужно избавиться от дребезга. Допустим для одной из кнопок:
if(digitalRead(ButPin1) == 0)
и дальше делеем подгонять. Так?
вот просто счётчик от 600 до 0 мин
а вот про кнопки
http://arduino.ru/forum/programmirovanie/rabota-s-knopkami-v-pomoshch-no...
эта библиотека для устранения дребезга контактов кнопок, реле >>> #include <Bounce.h>
извините, в том коде ошибка.... вот код с отсчётом по 2 сек от 600 до 0 , вывод в сериал ( LCD не нужен )
вам нужен такой вывод ?
600 сек >>>>> 10:00
573 сек >>>>> 9:33
да, вывод такой. но это не столь важно.
важно управление таймером с двух кнопок + 10сек. - 10 сек.
вы в сериалМониторе смотрите ? или только по LCD ?
посмотрите в сериал !!!!!!!!!!! вот типичный пример ДРЕБЕЗГА и к чему он приводит :(
а вот так - уже стабильнее работает :)
у меня протеус, в нем и тестирую. а на счет дребезга и как Вы выразились "пародия на антидребегз" уже пробовал. пусть так, меня устроило)
очень понравился этот вариант. но еще регулировку в плюс минус 10сек..
этот вариант от 600 до 0 через секунду в формате MM:SS
+/- 10 сек - работает ( в сериале отображается "+10" , на LCD во второй строке должно тоже появляться +10 , но не гаснуть, пока не нажмёте -10 )
а ардуинки нету чёли ? надо всего-то = ардуина и два проводка, на землю и на пин8 ( пин7 )
ардуино нет. ардуино в универе)
завтра пойду и там буду подключать, пробовать.
надо её домой !!!! ей там скучно без вас :(
город какой ?
58.... Пенза ?
завтра я её развлеку)
да, Пенза.
живёшь в городе или окрестностях ?
живу в городе, родом из окрестностей.
а что?
использована функция стандартной библиотеки >>> sprintf( buffer , "%d:0%d" , Tmin , Tsec ); - полезная штука !
вывод прописан в процедуру >>> void toDisplay();
так код проще читать....
так просто :) , знаю окрестности в плане - Монтажка, Чемодановка, ПтицеФабрика, Кижеватово... город не знаю :( ещё не разуне выбрался из него кроме как на такси :)
Здорова! случайно зашел, я так то тоже из Пензы
ну, и крайняя версия - всегда выводится 5 знакомест - mm:ss
а смогнёшь допилить код под вывод 8 знакомест - мин, сек, сотые секунды ?
15:09.47
или вам препод задачи ставит ? :)
Здорова! случайно зашел, я так то тоже из Пензы
:) из СССР я , офицер , щас Питер
В Пензе служил?
нет... у вас там истребателей нету :) , брат - там живёт
Ааа, все понятно
Препод)
не, не смогу. да и не стоит.. и так козырно)
Спасибо!
пожста !