Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Written by: Abhishrant Majhi
- //Check LiquidCrystal example for class name
- #include <LiquidCrystal.h>
- LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Change this variable according to example
- int button1 = 6; //Button 1 to pin6
- int button2 = 7; //Button 2 to pin7
- int button1n = 8; //Button 1 to pin6
- int button2n = 9; //Button 2 to pin7
- int relay = 8; //Relay to pin8
- boolean relayOn = false;
- unsigned int onTime = 30000; //How much time relay will be on (default = 30 seconds)
- unsigned int offTime = 30000; //How much time relay will be off (default = 30 seconds)
- unsigned int tick = 0;
- int debounce = 50;
- int displayTime = 2000; //Change display every 2 seconds
- void setup() {
- pinMode(6, INPUT);
- pinMode(7, INPUT);
- pinMode(8, OUTPUT);
- lcd.begin(16, 2); //Change according to example
- }
- void loop() {
- if(digitalRead(button1) == 0) { //If Button 1 pressed
- delay(debounce);
- if(digitalRead(button1) == 1) return;
- onTime+=60000; //Add 60 seconds to off Time
- displayOnTime();
- }
- if(digitalRead(button2) == 0) { //If Button 2 pressed
- delay(debounce);
- if(digitalRead(button2) == 1) return;
- offTime+=60000; //Add 60 seconds to on time
- displayOffTime();
- }
- if(digitalRead(button1n) == 0) { //If Button 1 Down pressed
- delay(debounce);
- if(digitalRead(button1n) == 1) return;
- onTime-=60000; //Subtract 60 seconds to off Time
- displayOnTime();
- }
- if(digitalRead(button2n) == 0) { //If Button 2 Down pressed
- delay(debounce);
- if(digitalRead(button2n) == 1) return;
- offTime-=60000; //Subtract 60 seconds to on time
- displayOffTime();
- }
- if(millis()-tick>=onTime && !relayOn) {
- digitalWrite(relay, HIGH);
- tick=millis();
- relayOn = true;
- }
- if(millis()-tick>=offTime && relayOn) {
- digitalWrite(relay, LOW);
- tick=millis();
- relayOn = false;
- }
- displayOnTime();
- delay(displayTime);
- displayOffTime();
- delay(displayTime);
- }
- void displayOnTime() {
- lcd.clear();
- lcd.noDisplay();
- lcd.print("On Time: ");
- lcd.print(onTime);
- lcd.print("ms");
- delay(250);
- lcd.display();
- }
- void displayOffTime() {
- lcd.clear();
- lcd.noDisplay();
- lcd.print("Off Time: ");
- lcd.print(offTime);
- lcd.print("ms");
- delay(250);
- lcd.display();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement