#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
const uint8_t buttonPins[] = { 7, 6, 5, 4, 3, 2};
int i = 0;
int i2 = -1;
uint8_t heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000,
};
#define BUTTON_PIN_5 7
#define BUTTON_PIN_10 6
#define BUTTON_PIN_20 5
#define BUTTON_PIN_50 4
#define BUTTON_PIN_100 3
#define BUTTON_PIN_200 2
void setup() {
lcd.createChar(3, heart);
lcd.begin(20, 2);
lcd.setCursor(2, 1);
lcd.print("I \x03 Arduino");
//Serial.begin(115200);
pinMode(BUTTON_PIN_5, INPUT_PULLUP);
pinMode(BUTTON_PIN_10, INPUT_PULLUP);
pinMode(BUTTON_PIN_20, INPUT_PULLUP);
pinMode(BUTTON_PIN_50, INPUT_PULLUP);
pinMode(BUTTON_PIN_100, INPUT_PULLUP);
pinMode(BUTTON_PIN_200, INPUT_PULLUP);
}
int lastState = HIGH;
int lastState2 = HIGH;
int lastState3 = HIGH;
int lastState4 = HIGH;
int lastState5 = HIGH;
int lastState6 = HIGH;
void loop() {
int value = digitalRead((BUTTON_PIN_5));
int value2 = digitalRead((BUTTON_PIN_10));
int value3 = digitalRead((BUTTON_PIN_20));
int value4 = digitalRead((BUTTON_PIN_50));
int value5 = digitalRead((BUTTON_PIN_100));
int value6 = digitalRead((BUTTON_PIN_200));
if (lastState != value) {
lastState = value;
if (value == HIGH) {
i += 5;
}
}
if (lastState2 != value2) {
lastState2 = value2;
if (value2 == HIGH) {
i += 10;
}
}
if (lastState3 != value3) {
lastState3 = value3;
if (value3 == HIGH) {
i += 20;
}
}
if (lastState4 != value4) {
lastState4 = value4;
if (value4 == HIGH) {
i += 50;
}
}
if (lastState5 != value5) {
lastState5 = value5;
if (value5 == HIGH) {
i += 100;
}
}
if (lastState6 != value6) {
lastState6 = value6;
if (value6 == HIGH) {
i += 200;
}
}
if (i != i2) {
i2 = i;
//Serial.println(i);
lcd.createChar(2, i);
lcd.setCursor(0, 3);
lcd.print(i);
}
}