Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. #define TIME_PUMP_ON 5000 //Время работы помпы за один цикл
  2. #define TIME_TO_WAIT 1000 * 60 * 1 //Таймаут между циклами
  3.  
  4. #define GROUND_DRY 300 // Значение сенсора, когда земля сухая
  5.  
  6. #define SENSOR_NUMBER 3 // Количество датчиков
  7. #define PUMP_NUMBER 3 // Количество помп
  8.  
  9. int sensor_pin[8];
  10. int pump_pin[8];
  11.  
  12. // результат измерения влажности
  13. int moisture;
  14.  
  15. // Включить помпу на пине n на t миллисекунд
  16. void pump_cycle(int n, int t) {
  17. digitalWrite(n, HIGH);
  18. delay(t);
  19. digitalWrite(n, LOW);
  20. }
  21.  
  22. // Проверяем влажность на датчике подключенном к пину n
  23. int check_moist(int n) {
  24. return analogRead(n);
  25. }
  26.  
  27. void setup()
  28. {
  29. // Serial.begin(9600);
  30. sensor_pin[0] = A0;
  31. sensor_pin[1] = A1;
  32. sensor_pin[2] = A2;
  33. sensor_pin[3] = A3;
  34. sensor_pin[4] = A4;
  35. sensor_pin[5] = A5;
  36. sensor_pin[6] = A6;
  37. sensor_pin[7] = A8;
  38.  
  39. pump_pin[0] = 2;
  40. pump_pin[1] = 3;
  41. pump_pin[2] = 4;
  42. pump_pin[3] = 5;
  43. pump_pin[4] = 6;
  44. pump_pin[5] = 7;
  45. pump_pin[6] = 8;
  46. pump_pin[7] = 9;
  47.  
  48. // установка режима работы пинов для датчиков влажности
  49. for (int sensorN = 0; sensorN < SENSOR_NUMBER; sensorN++) {
  50. pinMode(senor_pin[sensorN], INPUT);
  51. }
  52.  
  53. // установке режма работы пинов для помп.
  54. for (int pumpN = 0; pumpN < PUMP_NUMBER; pumpN++) {
  55. pinMode(pump_pin[pumpN], OUTPUT);
  56. digitalWrite(pump_pin[pumpN], LOW);
  57. }
  58. }
  59.  
  60. void loop()
  61. {
  62.  
  63. for (int i = 0 ; i < PUMP_NUMBER; i++) {
  64. moisture = check_moist(sensor_pin[i]);
  65.  
  66. if (moisture > GROUND_DRY) {
  67. pump_cycle(i, TIME_PUMP_ON);
  68. }
  69. }
  70.  
  71. delay(TIME_TO_WAIT);
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement