 	}
 }
 
-void PrintOnLCD(byte value)
+void PrintTimeValueOnLCD(byte value)
 {
 	if (value < 10)
 	{

/*
My IR Remote codes, see this video to find out the codes for your remote: https://youtu.be/ftdJ0R_5NZk

PLAY: FFA25D
EQ:	  FF22DD
CH+:  FFE21D
CH-:  FF629D
VOL+: FFC23D
VOL-: FF02FD
0:    FFE01F
PREV: FFA857
NEXT: FF906F
1:    FF6897
2:    FF9867
3:    FFB04F
4:    FF30CF
5:    FF18E7
6:    FF7A85
7:    FF10EF
8:    FF38C7
9:    FF5AA5
PICK SONG: FF42BD
CH SET: FF52AD
*/

#include <IRremote.h>
#include <Wire.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
int RECV_PIN = 14;
IRrecv irrecv(RECV_PIN);
decode_results results;

byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; // Values to read from DS3231 RTC Module
byte alarmHour = 5;
byte alarmMinute = 0;
bool alarmOn = true;
bool alarmActive = false;
long lastTimeReading = 0;

const int backlightLCD = 2;
const int btnAlarmHour = 3;
const int btnAlarmMinute = 4;
const int btnAlarmToggle = 5;
const int ledMosfet = 6;

long alarmTurnedOnAt = 0;
long alarmDuration = 10800000; //3 hours.
long alarmStepTime = 0;

long pushedButtonAt = 0;
long backlightDuration = 10000;
bool backlightOnForButton = false;

int brightness = 0;
int brightnessStep = 51;
int smallBrightnessStep = 10;
bool lightOn = false;


// Variables for debouncing the buttons
int stateBtnAlarmHour = 0;
int stateBtnAlarmMinute = 0;
int stateBtnAlarmToggle = 0;
int lastStateBtnAlarmHour = 0;
int lastStateBtnAlarmMinute = 0;
int lastStateBtnAlarmToggle = 0;
int readingBtnAlarmHour = 0;
int readingBtnAlarmMinute = 0;
int readingBtnAlarmToggle = 0;
long lastDebounceTimeBtnAlarmHour = 0;
long lastDebounceTimeBtnAlarmMinute = 0;
long lastDebounceTimeBtnAlarmToggle = 0;
const long debounceDelay = 50;

#define DS3231_I2C_ADDRESS 0x68
// Convert normal decimal numbers to binary coded decimal

{
	Wire.begin();
	irrecv.enableIRIn();
	pinMode(backlightLCD, OUTPUT);
	pinMode(LEDStrip12V, OUTPUT);
	pinMode(LEDStrip6V, OUTPUT);

	lcd.createChar(0, sunCharacter);
	lcd.begin(16, 2);
