Кликер
- Войдите на сайт для отправки комментариев
Пнд, 07/03/2016 - 20:21
Добрый день господа, я знаю таких проектов полно, но мне лень искать искать и править.
Имею:
Arduino 1.6.5 так как страшие версии не правильно понимают экран
FLProg на всякий случай
Arduino Nano Atmega 328
Экран 2х16 1602A подключенный через I2C, адрес 0х27
кнопка
Хочу сделать кликер/счетчик нажатия на кнопку. Работа легкая, но повторюсь лень
Написал скетч с помощью FLProg, но счетчик сичатает нажата кнопка или нет, а мне нужно чтобы общее количество нажатий было.
bool _count1I = 0; unsigned long _count1P = 0UL; bool _bounseInputD12S = 0; bool _bounseInputD12O = 0; unsigned long _bounseInputD12P = 0UL; bool _bounseInputD13S = 0; bool _bounseInputD13O = 0; unsigned long _bounseInputD13P = 0UL; void setup() { Serial.begin(9600); pinMode(13, INPUT); //кликать суды pinMode(12, INPUT); //сброс _bounseInputD12O = digitalRead(12); _bounseInputD13O = digitalRead(13); } void loop() { bool _bounceInputTmpD12 = (digitalRead (12)); if (_bounseInputD12S) { if (millis() >= (_bounseInputD12P + 40)) {_bounseInputD12O= _bounceInputTmpD12; _bounseInputD12S=0;} } else { if (_bounceInputTmpD12 != _bounseInputD12O ) {_bounseInputD12S=1; _bounseInputD12P = millis();} } bool _bounceInputTmpD13 = (digitalRead (13)); if (_bounseInputD13S) { if (millis() >= (_bounseInputD13P + 40)) {_bounseInputD13O= _bounceInputTmpD13; _bounseInputD13S=0;} } else { if (_bounceInputTmpD13 != _bounseInputD13O ) {_bounseInputD13S=1; _bounseInputD13P = millis();} } if (_bounseInputD13O) { if (! _count1I) { _count1P = _count1P+1; _count1I = 1; } } else { _count1I=0; } if (_bounseInputD12O) _count1P = 0; Serial.print(_count1I);; delay (100); }P.S. Пока пишу на сериал порт, дабы не нагибаться постоянно
Понял, разобрался ошибка была в не той переменной
if(BUTTON_01.click_down) {++n;}класс титановый велосипед для тактовой кнопки.