Advertisement
Guest User

Untitled

a guest
May 31st, 2016
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. //реле включения с задержкой и выключения с задержкой
  2. #define ledPin1 12 //Реле 1 - управление
  3. #define ledPin2 11 //Реле 2 - управление
  4.  
  5. byte valA; //переменная времени
  6. byte flagA;
  7. long previousMillisA = 0;
  8.  
  9. byte valB; //переменная времени
  10. byte flagB;
  11. long previousMillisB = 0;
  12.  
  13.  
  14. void setup()
  15. {
  16.  
  17. pinMode(ledPin1, OUTPUT); //иниц выхода
  18. pinMode(ledPin2, OUTPUT); //иниц выхода
  19. pinMode(8, INPUT);//этот пин вход
  20. pinMode(9, INPUT); //этот пин вход
  21.  
  22.  
  23. }
  24.  
  25. void loop()
  26.  
  27. {
  28. //**************************первый таймер , включаемый через Н-секунд после нажатия**********************************
  29. if(digitalRead(8)==HIGH)//если кнопка нажата ...
  30. {
  31. flagA=1;
  32. }
  33. if(flagA==1)
  34. {
  35.  
  36. if (millis() -previousMillisA >1000)
  37. {
  38. previousMillisA = millis();
  39. valA++; // работает счет,ledPin1 выключен
  40. digitalWrite(ledPin1,LOW);
  41. }
  42. }
  43.  
  44. if(valA>=5) //кол-во секунд((millis() -previousMillisA >1000) при достижении этого значения , ledPin1 включается
  45. {
  46. digitalWrite(ledPin1,HIGH);
  47.  
  48.  
  49. }
  50. if(digitalRead(8)==LOW)//если кнопка не нажата ...
  51. {
  52. flagA=0;
  53. digitalWrite(ledPin1,LOW); //выключаем ledPin1
  54. valA=0;//обнуляем переменную
  55. }
  56.  
  57. //********************************таймер второй*********************
  58. if(digitalRead(9)==HIGH)//если кнопка нажата ...
  59. {
  60. previousMillisB = millis();
  61. flagB=1;
  62. valB=0;
  63. }
  64. if(flagB==1)
  65. {
  66. digitalWrite(ledPin2,HIGH);
  67. }
  68. if(flagB==1&&digitalRead(9)==LOW)
  69. {
  70.  
  71. if (millis() -previousMillisB >1000)
  72. {
  73. previousMillisB = millis();
  74. valB++; // работает счет,ledPin1 включен
  75. // digitalWrite(ledPin2,LOW);
  76. }
  77. }
  78. if(valB>=10) //кол-во секунд ,при достижении этого значения , ledPin2 выключается
  79. {
  80. digitalWrite(ledPin2,LOW);
  81. flagB=0;
  82. }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement