Advertisement
Guest User

Untitled

a guest
Apr 25th, 2015
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. //Written by: Abhishrant Majhi
  2. //Check LiquidCrystal example for class name
  3.  
  4. #include <LiquidCrystal.h>
  5.  
  6. LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Change this variable according to example
  7.  
  8. int button1 = 6; //Button 1 to pin6
  9. int button2 = 7; //Button 2 to pin7
  10. int button1n = 8; //Button 1 to pin6
  11. int button2n = 9; //Button 2 to pin7
  12. int relay = 8; //Relay to pin8
  13.  
  14. boolean relayOn = false;
  15.  
  16. unsigned int onTime = 30000; //How much time relay will be on (default = 30 seconds)
  17. unsigned int offTime = 30000; //How much time relay will be off (default = 30 seconds)
  18. unsigned int tick = 0;
  19.  
  20. int debounce = 50;
  21. int displayTime = 2000; //Change display every 2 seconds
  22.  
  23. void setup() {
  24. pinMode(6, INPUT);
  25. pinMode(7, INPUT);
  26. pinMode(8, OUTPUT);
  27.  
  28. lcd.begin(16, 2); //Change according to example
  29. }
  30.  
  31. void loop() {
  32. if(digitalRead(button1) == 0) { //If Button 1 pressed
  33. delay(debounce);
  34. if(digitalRead(button1) == 1) return;
  35. onTime+=60000; //Add 60 seconds to off Time
  36. displayOnTime();
  37. }
  38.  
  39. if(digitalRead(button2) == 0) { //If Button 2 pressed
  40. delay(debounce);
  41. if(digitalRead(button2) == 1) return;
  42. offTime+=60000; //Add 60 seconds to on time
  43. displayOffTime();
  44. }
  45.  
  46. if(digitalRead(button1n) == 0) { //If Button 1 Down pressed
  47. delay(debounce);
  48. if(digitalRead(button1n) == 1) return;
  49. onTime-=60000; //Subtract 60 seconds to off Time
  50. displayOnTime();
  51. }
  52.  
  53. if(digitalRead(button2n) == 0) { //If Button 2 Down pressed
  54. delay(debounce);
  55. if(digitalRead(button2n) == 1) return;
  56. offTime-=60000; //Subtract 60 seconds to on time
  57. displayOffTime();
  58. }
  59.  
  60. if(millis()-tick>=onTime && !relayOn) {
  61. digitalWrite(relay, HIGH);
  62. tick=millis();
  63. relayOn = true;
  64. }
  65.  
  66. if(millis()-tick>=offTime && relayOn) {
  67. digitalWrite(relay, LOW);
  68. tick=millis();
  69. relayOn = false;
  70. }
  71.  
  72. displayOnTime();
  73. delay(displayTime);
  74. displayOffTime();
  75. delay(displayTime);
  76. }
  77.  
  78. void displayOnTime() {
  79. lcd.clear();
  80. lcd.noDisplay();
  81. lcd.print("On Time: ");
  82. lcd.print(onTime);
  83. lcd.print("ms");
  84. delay(250);
  85. lcd.display();
  86. }
  87.  
  88. void displayOffTime() {
  89. lcd.clear();
  90. lcd.noDisplay();
  91. lcd.print("Off Time: ");
  92. lcd.print(offTime);
  93. lcd.print("ms");
  94. delay(250);
  95. lcd.display();
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement