Аналоговий датчик вологості грунту

19fb0e049acc9a3287dbfee215ac1607.jpg


Аналоговий датчик вологості грунту підходить для створення систем автоматичного поливу рослин - незамінний помічник, як для догляду за кімнатними рослинами, так і на городі.

Загальні відомості

Чим вище вологість грунту, тим вище її електропровідність. Датчик занурюється в грунт на відстань до 45 мм і вимірює електропровідність грунту між своїми контактами. Напруга на виході датчика прямопропорційна рівню виміряної електропровідності. Чим вище вологість грунту, тим вище рівень сигналу на виході датчика.

54123855921ebbf4ededa9e0f2d79851.jpg

З графіка видно, що електропровідність грунту, а отже і вихідний сигнал датчика має флуктуації (хаотичні відхилення від середнього значення). Рівень сигналу на виході датчика лежить в діапазоні від 0 В до 4,5 В.

Підключення

Вихід датчика підключається до будь-якого аналогового входу Arduino.

Живлення

Вхідна напруга живлення 5В або 3,3В постійного струму, подається на виходи Vcc (V) і GND (G) датчика. Датчик можна підключити до постійного живлення (тип підключення 1), а можна управляти живленням датчика (тип підключення 2) якщо подавати живлення на датчик з будь-якого інформаційного виведення, тоді функцією digitalWrite () можна включати або вимикати датчик. Живлення датчика від інформаційного виведення (тип підключення 2) можливий завдяки низькому енергоспоживанню датчика (споживаний струм <4,5мА), що в рази менше ніж у аналогічних датчиків вологості грунту.

93467a83ca9c0380eb4b622d6062e44d.jpg

Зчитування данних з датчика

Показання датчика зчитуються викликом функції analogRead (номер_виходу); яка повертає число від 0 до 1023 (див. графік).

Приклад зчитування показань датчика з керованим харчуванням (тип підключення 2), датчик живиться від висновків A0 і A1.

Якщо датчик підключений до постійного харчування (тип підключення 1), то рядки з символом *, можна видалити.

 const uint8_t  pinSensor   = A2;             
 const uint8_t  pinVcc      = A1;    *       
 const uint8_t  pinGND      = A0;    *       
 Serial.begin(9600);                       
 pinMode     (pinVcc,    OUTPUT);  *    
 pinMode     (pinGND,    OUTPUT);  *       
 digitalWrite(pinVcc,    LOW   );  *      
 digitalWrite(pinGND,    LOW   );  *      
 }
 void loop(){
 digitalWrite(pinVcc,    HIGH  );  *       
 Serial.println(analogRead(pinSensor));    
 digitalWrite(pinVcc,    LOW   );  *       
 delay(5000);                             
 }

Для компенсації впливу флуктуацій електропровідності грунту, можна зчитувати середні показання датчика.

 const uint8_t  pinSensor   = A0;   
     uint16_t arrMoisture[10];           
     uint16_t valMoisture;           
 void setup(){
 Serial.begin(9600);      
 }
 void loop(){
 valMoisture=0;                       
 for(int i=0; i< 9; i++){           
   arrMoisture[i]=arrMoisture[i+1];  
 } arrMoisture[9]=analogRead(pinSensor); 
 for(int i=0; i<=9; i++){            
   valMoisture+=arrMoisture[i];     
 } valMoisture/=10;                
 Serial.println(valMoisture);       
 }

Специфікація

• Напруга живлення Vcc: 5В або 3,3В

• Напруга на виході датчика: 0 ... 4,5В

• Максимальний споживаний струм: <4,5 мА, при Vcc = 5В і датчик занурений в грунтову воду.

• Струм: I = Us / 1000, де Us - напруга на виході Signal (S) датчика

• Глибина занурення в грунт: 45 мм

• Робоча температура: 4 ... 85 ° С

• Габарити: 65х22х7 мм (з врахуванням колодки виходів)

• Вага: 1 г

Примітка

На показання датчика впливають такі чинники:

• ступінь занурення датчика в грунт (чим глибше занурений датчик, тим вище показання датчика)

• тип ґрунту, його хімічні і фізичні властивості (чим щільніше грунт, тим вище показання датчика)

• наявність і кількість домішок у воді, якою поливається грунт.

Джерела

[1] Інтернет магазин радіолюбителів