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

Версія від 13:18, 7 червня 2017, створена Olegmogul (обговореннявнесок) (Створена сторінка: Файл:19fb0e049acc9a3287dbfee215ac1607.jpg Аналоговий датчик вологості грунту підходить для створення...)
(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)

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 г

Примітка

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

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