#include <MsTimer2.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <OneButton.h>
volatile int i;
volatile int counter;
LiquidCrystal_I2C mylcd(0x27,16,2);
OneButton button4(4,true);
byte arows[]={0B00000,0B10000,0B10100,0B10010,0B11111,0B00010,0B00100,00000};
byte null[]={0B00000,0B00000,0B00000,0B00000,0B00000,0B00000,0B00000,00000};
void msTimer2_func() {
i = i + 1;
counter++;
}
void attachClick4() {
MsTimer2::start();
}
void attachLongPressStart4() {
MsTimer2::stop();
}
void attachDoubleClick4() {
counter = 0;
}
void setup(){
mylcd.createChar(0, arows);
mylcd.createChar(1, null);
MsTimer2::set(300, msTimer2_func);
i = 0;
counter = 0;
mylcd.init();
mylcd.backlight();
button4.attachClick(attachClick4);
button4.attachLongPressStart(attachLongPressStart4);
button4.attachDoubleClick(attachDoubleClick4);
}
void loop(){
mylcd.setCursor(4-1, 1-1);
mylcd.print("Counter:");
mylcd.setCursor(6-1, 2-1);
mylcd.print(String(counter) + String(" "));
if ((long) (i) % (long) (2) == 0) {
mylcd.setCursor(2-1, 1-1);
mylcd.print(">");
} else {
mylcd.setCursor(2-1, 1-1);
mylcd.print(" ");
}
button4.tick();
button4.tick();
button4.tick();
}