Advertisement
Guest User

projekt

a guest
Feb 21st, 2020
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.02 KB | None | 0 0
  1. // czas pomiedzy pomiarami 5min - 300.000ms
  2. #define ODSTEP 100
  3. // limit po ilu odczytach liczmy srednia
  4. #define LIMIT_ODCZYTOW 20
  5.  
  6. int czujka = 11;
  7. int pompa = 12;
  8. int stan = 0;
  9.  
  10.  
  11.  
  12.  
  13. // informacje o odczytach
  14. int suma_odczytow = 0;
  15. int liczba_odczytow = 0;
  16. unsigned long czas_poprzedni = 0;
  17.  
  18. void setup() {
  19.  
  20. // hurtowa inicjalizacja pinow 8-11 na wyj�cia
  21. for (int i = 2; i < 11; i++)
  22. pinMode(i, OUTPUT);
  23.  
  24. Serial.begin(9600);
  25.  
  26.  
  27. pinMode(czujka, INPUT);
  28. pinMode(pompa, OUTPUT);
  29.  
  30. // hurtowa inicjalizacja pinow 8-11 na wyj�cia
  31. for (int i = 8; i < 12; i++)
  32. pinMode(i, OUTPUT);
  33. }
  34.  
  35. void loop() {
  36. // czas liczony od momentu wlaczenia urzadzenia
  37. unsigned long czas_aktualny = millis();
  38.  
  39. // sprawdza czy uplynal juz okreslony czas miedzy pomiarami
  40. if(czas_aktualny - czas_poprzedni > ODSTEP) {
  41. czas_poprzedni = czas_aktualny;
  42.  
  43. // stan czujnika
  44. stan = digitalRead(czujka);
  45.  
  46. // dodajemy odczyt
  47. liczba_odczytow += 1;
  48.  
  49. // sumujemy odczyty
  50. suma_odczytow += analogRead(A2);
  51.  
  52. if(liczba_odczytow >= LIMIT_ODCZYTOW){
  53. int srednia = ceil(suma_odczytow / liczba_odczytow);
  54.  
  55. Serial.println (analogRead(A2)) ;
  56.  
  57. if (200 > stan);
  58. {
  59.  
  60. digitalWrite (2, HIGH);
  61. digitalWrite (3, HIGH);
  62. digitalWrite (4, HIGH);
  63. digitalWrite (5, HIGH);
  64. digitalWrite (6, HIGH);
  65. digitalWrite (7, HIGH);
  66. digitalWrite (8, HIGH);
  67. digitalWrite (9, HIGH);
  68. digitalWrite (10, HIGH);
  69.  
  70.  
  71.  
  72. }
  73. if ( 200 < stan && 400> stan ); {
  74. digitalWrite (2, HIGH);
  75. digitalWrite (3, HIGH);
  76. digitalWrite (4, HIGH);
  77. digitalWrite (5, HIGH);
  78. digitalWrite (6, HIGH);
  79. digitalWrite (7, HIGH);
  80. digitalWrite (8, HIGH);
  81. digitalWrite (9, HIGH);
  82. digitalWrite (10, LOW);
  83. }
  84. if ( 400 < stan && stan ); {
  85. digitalWrite (2, HIGH);
  86. digitalWrite (3, HIGH);
  87. digitalWrite (4, HIGH);
  88. digitalWrite (5, HIGH);
  89. digitalWrite (6, HIGH);
  90. digitalWrite (7, HIGH);
  91. digitalWrite (8, HIGH);
  92. digitalWrite (9, LOW);
  93. digitalWrite (10, LOW);
  94. }
  95. if ( 450 < stan && 500> stan ); {
  96. digitalWrite (2, HIGH);
  97. digitalWrite (3, HIGH);
  98. digitalWrite (4, HIGH);
  99. digitalWrite (5, HIGH);
  100. digitalWrite (6, HIGH);
  101. digitalWrite (7, HIGH);
  102. digitalWrite (8, LOW);
  103. digitalWrite (9, LOW);
  104. digitalWrite (10, LOW);
  105. }
  106.  
  107. if ( 500 < stan && 550 > stan );
  108. {
  109. digitalWrite (2, HIGH);
  110. digitalWrite (3, HIGH);
  111. digitalWrite (4, HIGH);
  112. digitalWrite (5, HIGH);
  113. digitalWrite (6, HIGH);
  114. digitalWrite (7, LOW);
  115. digitalWrite (8, LOW);
  116. digitalWrite (9, LOW);
  117. digitalWrite (10, LOW);
  118. }
  119.  
  120. if ( 550 < stan && 600 > stan );
  121. {
  122. digitalWrite (2, HIGH);
  123. digitalWrite (3, HIGH);
  124. digitalWrite (4, HIGH);
  125. digitalWrite (5, HIGH);
  126. digitalWrite (6, LOW);
  127. digitalWrite (7, LOW);
  128. digitalWrite (8, LOW);
  129. digitalWrite (9, LOW);
  130. digitalWrite (10, LOW);
  131. }
  132.  
  133. if ( 600 < stan && 650> stan );
  134. {
  135. digitalWrite (2, HIGH);
  136. digitalWrite (3, HIGH);
  137. digitalWrite (4, HIGH);
  138. digitalWrite (5, LOW);
  139. digitalWrite (6, LOW);
  140. digitalWrite (7, LOW);
  141. digitalWrite (8, LOW);
  142. digitalWrite (9, LOW);
  143. digitalWrite (10, LOW);
  144. }
  145.  
  146.  
  147.  
  148. if ( 650 < stan && 700 > stan );
  149. {
  150. digitalWrite (2, HIGH);
  151. digitalWrite (3, HIGH);
  152. digitalWrite (4, LOW);
  153. digitalWrite (5, LOW);
  154. digitalWrite (6, LOW);
  155. digitalWrite (7, LOW);
  156. digitalWrite (8, LOW);
  157. digitalWrite (9, LOW);
  158. digitalWrite (10, LOW);
  159. }
  160.  
  161.  
  162. if ( 700 < stan && 750> stan);
  163. {
  164. digitalWrite (2, HIGH);
  165. digitalWrite (3, LOW);
  166. digitalWrite (4, LOW);
  167. digitalWrite (5, LOW);
  168. digitalWrite (6, LOW);
  169. digitalWrite (7, LOW);
  170. digitalWrite (8, LOW);
  171. digitalWrite (9, LOW);
  172. digitalWrite (10, LOW);
  173. }
  174.  
  175.  
  176. if ( 750 < stan && 800 > stan );
  177.  
  178. {
  179. digitalWrite (2, LOW);
  180. digitalWrite (3, LOW);
  181. digitalWrite (4, LOW);
  182. digitalWrite (5, LOW);
  183. digitalWrite (6, LOW);
  184. digitalWrite (7, LOW);
  185. digitalWrite (8, LOW);
  186. digitalWrite (9, LOW);
  187. digitalWrite (10, LOW);
  188. }
  189.  
  190.  
  191. if ( 500 > srednia);
  192.  
  193. digitalWrite (pompa, HIGH);
  194. delay(5000);
  195. digitalWrite (pompa, LOW);
  196. // zerowanie licznikow
  197. liczba_odczytow = suma_odczytow = 0;
  198. }
  199.  
  200.  
  201.  
  202.  
  203.  
  204. }
  205. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement