#include <LiquidCrystal_I2C.h> // if you don´t have I2C version of the display, use LiquidCrystal.h library instead
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
#include "PK_UNO_PIN.h"
#include <EEPROM.h>
void timer_1_init( void )
{
TIMSK1 |= (1 << TOIE1); // enable overflow interrupt
TCCR1B &= (0 << CS10);
TCCR1B |= (1 << CS11) | (1 << CS12); // enable external clock source & rising edge
TCNT1 = 0; // clear the 16 bit register
}
volatile unsigned long T1_overflow;
ISR( TIMER1_OVF_vect ) {
T1_overflow++;
}
void setup()
{
lcd.init(); // initialize the 16x2 lcd module
lcd.backlight(); // enable backlight for the LCD module
PLC_SETUP();
OUTPUT_CL();
timer_1_init();
}
byte MODE=0;
byte OLD_MODE=0;
byte MAX_STEP=9;
byte STEP_NOW=2;
byte LECK[10];
byte MCHUL[10];
void loop()
{
byte BTN_SET=FT0(X0);
byte BTN_UP=FT1(X1);
byte BTN_DOWN=FT2(X2);
if(MODE==1){
if(MODE!=OLD_MODE){
lcd.setCursor(2,0);
lcd.print("OUTO (");
lcd.print("1->");
lcd.print(MAX_STEP);
lcd.print(")");
lcd.setCursor(0,1);
lcd.print(STEP_NOW);
lcd.print(">>");
lcd.print(MAX_STEP);
lcd.setCursor(13,1);
lcd.print("[1]");
}
if(CK0==0){MODE=2;lcd.clear();}
}
else if(MODE==2){
if(MODE!=OLD_MODE){
lcd.setCursor(5,0);
lcd.print("NORMAL");
lcd.setCursor(3,1);
lcd.print(BTN_SET);
}
if(CK0==0){MODE=1;lcd.clear();}
}
else if(MODE==3){
}
else if(MODE==4){
}
else{
MODE=1;
}
}