#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,10,9,8,7); // RS E D4..D7
int t[4] = {6,5,4,3};
int n = 0;
void setup() {
randomSeed(analogRead(A0));
pinMode(6,INPUT_PULLUP);
pinMode(5,INPUT_PULLUP);
pinMode(4,INPUT_PULLUP);
pinMode(3,INPUT_PULLUP);
lcd.begin(16,2);
lcd.print(n);
}
void loop() {
switch_fun();
delay(100);
}
void if_fun(){
if(digitalRead(t[0]) == LOW){
n++;
lcd.setCursor(0,0);
lcd.print(n);
while(digitalRead(t[0]) == LOW){
delay(100);
}
}
else if(digitalRead(t[1]) == LOW){
n--;
lcd.setCursor(0,0);
lcd.print(n);
while(digitalRead(t[1]) == LOW){
delay(100);
}
}
else if(digitalRead(t[2]) == LOW){
n=0;
lcd.setCursor(0,0);
lcd.clear();
lcd.print(n);
while(digitalRead(t[2]) == LOW){
delay(100);
}
}else if(digitalRead(t[3]) == LOW){
n = random(1,10);
lcd.setCursor(0,0);
lcd.clear();
lcd.print(n);
while(digitalRead(t[3]) == LOW){
delay(100);
}
}
}
void switch_fun(){
int m = 0;
if (digitalRead(t[0]) == LOW){m = 1;}
if (digitalRead(t[1]) == LOW){m = 2;}
if (digitalRead(t[2]) == LOW){m = 3;}
if (digitalRead(t[3]) == LOW){m = 4;}
switch(m){
case 1:
n++;
lcd.setCursor(0,0);
lcd.print(n);
while(digitalRead(t[0]) == LOW){
delay(100);
}
break;
case 2:
n--;
lcd.setCursor(0,0);
lcd.print(n);
while(digitalRead(t[1]) == LOW){
delay(100);
}
break;
case 3:
n=0;
lcd.setCursor(0,0);
lcd.clear();
lcd.print(n);
while(digitalRead(t[2]) == LOW){
delay(100);
}
break;
case 4:
n = random(1,10);
lcd.setCursor(0,0);
lcd.clear();
lcd.print(n);
while(digitalRead(t[3]) == LOW){
delay(100);
}
break;
default:
delay(10);
}
}