Advertisement
Guest User

S48E_Mod

a guest
Aug 14th, 2020
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.37 KB | None | 0 0
  1. #include <EEPROM.h>
  2.  
  3. bool IsRunning = true;
  4. const int START_DELAY = 5000;  // delay before switching on start
  5. const int SwitchSS = 7;        // pin7 on board
  6. const int SwitchLA = 8;        // pin8 on board
  7. const int SwitchSM = 9;        // pin9 on board
  8. const int RlySS = 10;          // pin10 on board
  9. const int RlyLA = 11;          // pin11 on board
  10. const int RlySM = 12;          // pin12 on board
  11.  
  12.  
  13. void toggleSS()
  14. {
  15.   int sVal = EEPROM.read(0);
  16.   if (sVal == 1)
  17.   {
  18.     EEPROM.write(0, 0);
  19.   }
  20.   else
  21.   {
  22.     EEPROM.write(0, 1);
  23.   }
  24.   digitalWrite(RlySS, HIGH);
  25.   delay(500);
  26.   digitalWrite(RlySS, LOW);
  27. }
  28.  
  29.  
  30.  
  31. void toggleLA()
  32. {
  33.   int sVal = EEPROM.read(1);
  34.    if (sVal == 1)
  35.   {
  36.     EEPROM.write(1, 0);
  37.   }
  38.   else
  39.   {
  40.     EEPROM.write(1, 1);
  41.   }
  42.   digitalWrite(RlyLA, HIGH);
  43.   delay(500);
  44.   digitalWrite(RlyLA, LOW);
  45. }
  46.  
  47.  
  48.  
  49. void toggleSM()
  50. {
  51.   int sVal = EEPROM.read(2);
  52.    if (sVal == 1)
  53.   {
  54.     EEPROM.write(2, 0);
  55.   }
  56.   else
  57.   {
  58.     EEPROM.write(2, 1);
  59.   }
  60.   digitalWrite(RlySM, HIGH);
  61.   delay(500);
  62.   digitalWrite(RlySM, LOW);
  63. }
  64.  
  65.  
  66.  
  67. bool SsState()
  68. {
  69.   int sVal = EEPROM.read(0);
  70.   if (sVal == 1)
  71.   {
  72.     return true;
  73.   }
  74.   else
  75.   {
  76.     return false;
  77.   }
  78. }
  79.  
  80.  
  81.  
  82. bool LaState()
  83. {
  84.   int sVal = EEPROM.read(1);
  85.   if (sVal == 1)
  86.   {
  87.     return true;
  88.   }
  89.   else
  90.   {
  91.     return false;
  92.   }
  93. }
  94.  
  95.  
  96.  
  97. bool SmState()
  98. {
  99.   int sVal = EEPROM.read(2);
  100.   if (sVal == 1)
  101.   {
  102.     return true;
  103.   }
  104.   else
  105.   {
  106.     return false;
  107.   }
  108. }
  109.  
  110.  
  111.  
  112. void setup() {
  113.  
  114.   pinMode(RlySS, OUTPUT);
  115.   pinMode(RlyLA, OUTPUT);
  116.   pinMode(RlySM, OUTPUT);
  117.   pinMode(SwitchSS, INPUT_PULLUP);
  118.   pinMode(SwitchLA, INPUT_PULLUP);
  119.   pinMode(SwitchSM, INPUT_PULLUP);
  120.  
  121.   delay(START_DELAY);  
  122.  
  123.   if (SsState() == true)
  124.   {
  125.      digitalWrite(RlySS, HIGH);  
  126.   }
  127.  
  128.   if (LaState() == true)
  129.   {
  130.     digitalWrite(RlyLA, HIGH);  
  131.   }
  132.  
  133.   if (SmState() == true)
  134.   {
  135.     digitalWrite(RlySM, HIGH);  
  136.   }
  137.  
  138.   delay(500);
  139.   digitalWrite(RlySS, LOW);
  140.   digitalWrite(RlyLA, LOW);
  141.   digitalWrite(RlySM, LOW);
  142.   delay(1000);
  143.  
  144.   IsRunning = false;
  145. }
  146.  
  147.  
  148.  
  149. void loop() {
  150.   if (IsRunning == false)
  151.   {
  152.    
  153.     if (digitalRead(SwitchSS) == LOW)
  154.     {
  155.       toggleSS();
  156.     }
  157.  
  158.     if (digitalRead(SwitchLA) == LOW)
  159.     {
  160.       toggleLA();
  161.     }
  162.  
  163.     if (digitalRead(SwitchSM) == LOW)
  164.     {
  165.       toggleSM();
  166.     }
  167.  
  168.    }
  169. }
  170.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement