#include <Servo.h>
#include <Keypad.h>
#include <LiquidCrystal.h>
int a,flag,q,w,e,y,t;
const byte KEYPAD_ROWS = 4;
const byte KEYPAD_COLS = 4;
byte rowPins[KEYPAD_ROWS] = {5, 4, 3, 2};
byte colPins[KEYPAD_COLS] = {A3, A2, A1, A0};
char keys[KEYPAD_ROWS][KEYPAD_COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, KEYPAD_ROWS, KEYPAD_COLS);
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
void showStart() {
lcd.setCursor(2, 0);
lcd.print("Enter number:");
delay(1000);
}
int inputN() {
lcd.clear();
lcd.setCursor(2, 1);
lcd.print(" [___] ");
lcd.setCursor(6, 1);
while (true) {
int key = keypad.getKey();
if (key >= '0' && key <= '9') {
key=key-48;
lcd.print(key);
if(flag==0)
{
q=key;
flag=1;
}
else if(flag==1)
{
w=key;
flag=2;
}
else if(flag==2)
{
e=key;
}
y=((q*100)+(w*10)+(e));
}
if (key == '#'){
break;
}
}
return 0;
}
void out() {
while (true) {
int key = keypad.getKey();
if (key == '#'){
break;
}
}
return 0;
}
Servo myservo;
#define SERVO_PIN 6
bool set() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Enter numbber:");
int newCode = inputN();
}
void ttt(){
while(true){
if(y%2==0){
t++;
}
if(y%3==0){
t++;
}
if(y%4==0){
t++;
}
if(y%5==0){
t++;
}
if(y%6==0){
t++;
}
if(y%7==0){
t++;
}
if(y%8==0){
t++;
}
if(y%9==0){
t++;
}
break;
}
}
void reset() {
a=0;
flag=0;
q=0;
w=0;
e=0;
y=0;
t=0;
digitalWrite(A4,LOW);
digitalWrite(A5,LOW);
}
void setup() {
}
void loop() {
lcd.clear();
reset();
myservo.attach(SERVO_PIN);
myservo.write(a);
showStart();
inputN();
ttt();
a=y/5.55;
if(t!=0){
myservo.write(a);
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("N:");
lcd.setCursor(2, 0);
lcd.print(y);
lcd.setCursor(6, 0);
lcd.print("D:");
lcd.setCursor(8, 0);
lcd.print(a);
lcd.setCursor(12, 0);
lcd.print("T:");
lcd.setCursor(14, 0);
lcd.print(t);
if(t!=0){
digitalWrite(A4,HIGH);
}
if(t==0){
digitalWrite(A5,HIGH);
}
out();
}