#include <rotary.h>;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
#define rselPINA 4
#define rselPINB 6
#define rselPUSHB 5
int rselval = 0;
// Initialize the Rotary object
// Rotary(Encoder Pin 1, Encoder Pin 2, Button Pin) Attach center to ground
Rotary r = Rotary(rselPINA, rselPINB, rselPUSHB); // there is no must for using interrupt pins !!
#define rsetPINA 8
#define rsetPINB 9
#define rsetPUSHB 10
int rsetval = 0;
int rsetold = 0;
Rotary s = Rotary(rsetPINA, rsetPINB, rsetPUSHB); // there is no must for using interrupt pins !!
//
///*---------------------comvariables----------------------------------*/
float c1 = 123.45;
float c1s = 120.45;
float c2 = 123.45;
float c2s = 120.45;
float ct = 0;
///*---------------------comvariables----------------------------------*/
///*---------------------navvariables----------------------------------*/
float n1 = 113.45;
float n1s = 110.45;
float n2 = 113.45;
float n2s = 110.45;
float nt = 0;
///*---------------------navvariables----------------------------------*/
float chval= 0.05;
void setup ()
{
digitalWrite (rselPINA, HIGH); // enable pull-ups
digitalWrite (rselPINB, HIGH);
digitalWrite (rselPUSHB, HIGH);
digitalWrite (rsetPINA, HIGH); // enable pull-ups
digitalWrite (rsetPINB, HIGH);
digitalWrite (rsetPUSHB, HIGH);
lcd.begin ();
Serial.begin(9600);
lcd.setCursor(0, 0);
lcd.print("*" );
lcd.setCursor(1, 0);
lcd.print("com1 " );
lcd.setCursor(6, 0);
lcd.print(c1);
lcd.setCursor(14, 0);
lcd.print(c1s);
//
lcd.setCursor(1, 1);
lcd.print("com2 " );
lcd.setCursor(6, 1);
lcd.print(c2);
lcd.setCursor(14, 1);
lcd.print(c2s);
lcd.setCursor(1, 2);
lcd.print("nav1 " );
lcd.setCursor(6, 2);
lcd.print(n1);
lcd.setCursor(14, 2);
lcd.print(n1s);
//
lcd.setCursor(1, 3);
lcd.print("nav2 " );
lcd.setCursor(6, 3);
lcd.print(n2);
lcd.setCursor(14, 3);
lcd.print(n2s);
} // end of setup
void choice(int chval )
{
Serial.print(chval);
if ( chval == 0)
{
lcd.setCursor(0, 0);
lcd.print("*");
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 2);
lcd.print(" ");
lcd.setCursor(0, 3);
lcd.print(" ");
} else if ( chval == 1)
{
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("*");
lcd.setCursor(0, 2);
lcd.print(" ");
lcd.setCursor(0, 3);
lcd.print(" ");
} else if ( chval == 2)
{
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 2);
lcd.print("*");
lcd.setCursor(0, 3);
lcd.print(" ");
} else if ( chval == 3)
{
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 2);
lcd.print(" ");
lcd.setCursor(0, 3);
lcd.print("*");
}
}
//int rsetfunc(int rsetfval )
//{
// volatile unsigned char result = s.process();
// if (result == DIR_CCW) {
// rsetfval++;
// delay(50);
// } else if (result == DIR_CW) {
// rsetfval--;
// }
// Serial.print("rsetfval : ");
// Serial.println(rsetfval);
//}
void loop ()
{
volatile unsigned char result = r.process();
if (result == DIR_CCW) {
rselval++;
if (rselval > 3 )
{
rselval = 3 ;
}
choice(rselval);
delay(50);
} else if (result == DIR_CW) {
rselval--;
if (rselval < 0 )
{
rselval = 0 ;
}
choice(rselval);
delay(50);
}
//Serial.println(rselval);
volatile unsigned char resultt = s.process();
if (resultt == DIR_CCW) {
rsetval++;
delay(50);
} else if (resultt == DIR_CW) {
rsetval--;
delay(50);
}
if (rsetval > rsetold)
{
if ( rselval == 0 )
{
float ct= c1 + chval;
c1=ct;
lcd.setCursor(6, 0);
lcd.print(c1);
//c1 chval kadar arttiracak buton ekle
} else if ( rselval == 1 )
{
float ct= c2 + chval;
c2=ct;
lcd.setCursor(6, 1);
lcd.print(c2);
//c2 chval kadar arttiracak buton ekle
}else if ( rselval == 2 )
{
float nt= n1 + chval;
n1=nt;
lcd.setCursor(6, 2);
lcd.print(n1);
//n1 chval kadar arttiracak buton ekle
}else if ( rselval == 3 )
{
float nt= n2 + chval;
n2=nt;
lcd.setCursor(6, 3);
lcd.print(n2);
//n2 chval kadar arttiracak buton ekle
}
} else if (rsetval < rsetold)
{
if ( rselval == 0 )
{
float ct= c1 - chval;
c1=ct;
lcd.setCursor(6, 0);
lcd.print(c1);
//c1 chval kadar arttiracak buton ekle
} else if ( rselval == 1 )
{
float ct= c2 - chval;
c2=ct;
lcd.setCursor(6, 1);
lcd.print(c2);
//c2 chval kadar arttiracak buton ekle
}else if ( rselval == 2 )
{
float nt= n1 - chval;
n1=nt;
lcd.setCursor(6, 2);
lcd.print(n1);
//n1 chval kadar arttiracak buton ekle
}else if ( rselval == 3 )
{
float nt= n2 - chval;
n2=nt;
lcd.setCursor(6, 3);
lcd.print(n2);
//n2 chval kadar arttiracak buton ekle
}
}
rsetold=rsetval;
if (s.buttonPressedReleased(25)) {
if ( rselval == 0 )
{
ct= c1;
c1=c1s;
c1s=ct;
lcd.setCursor(6, 0);
lcd.print(c1);
lcd.setCursor(14, 0);
lcd.print(c1s);
//com1swap icin buton ekle
} else if ( rselval == 1 )
{
ct= c2;
c2=c2s;
c2s=ct;
lcd.setCursor(6, 1);
lcd.print(c2);
lcd.setCursor(14, 1);
lcd.print(c2s);
//com2 swap icin buton ekle
}
else if ( rselval == 2 )
{
nt= n1;
n1=n1s;
n1s=nt;
lcd.setCursor(6, 2);
lcd.print(n1);
lcd.setCursor(14, 2);
lcd.print(n1s);
//nav1 swap icin buton ekle
} else if ( rselval == 3 )
{
nt= n2;
n2=n2s;
n2s=nt;
lcd.setCursor(6, 3);
lcd.print(n2);
lcd.setCursor(14, 3);
lcd.print(n2s);
//nav2 swap icin buton ekle
}
} //endif buttonPressedReleased
if (r.buttonPressedReleased(25)) {
Serial.println("burada frekans 1.00 olacak");
} //endif buttonPressedReleased
} //End loop()