/**
* Configure the rotary encoder pins
*/
#define ENCODER_CLK 5
#define ENCODER_DT 3
void setup() {
Serial.begin( 9600 );
// Setup rotary encoder pins
pinMode( ENCODER_CLK, INPUT );
pinMode( ENCODER_DT, INPUT );
}
/**
* Global variables
*/
int lastClk = HIGH;
bool systemOn = false;
int targetTemp = 20;
/**
* Handles rotations on the rotary encoder
*/
void handleRotaryEncoder() {
int newClk = digitalRead( ENCODER_CLK );
if ( newClk != lastClk ) {
lastClk = newClk;
int dtValue = digitalRead( ENCODER_DT );
if ( newClk == LOW && dtValue == HIGH && targetTemp >= 1 )
targetTemp--;
if ( newClk == LOW && dtValue == LOW && targetTemp < 100 )
targetTemp++;
}
}
void loop() {
handleRotaryEncoder();
Serial.println(targetTemp);
}