Arduino soil humidity sensor

Содержание

Емкостной датчик влажности почвы

Общие сведения:

Trema-модуль емкостной датчик влажности почвы — в отличие от резистивных датчиков влажности не подвержен коррозии. Датчик является аналоговым, напряжение на выходе обратно пропорционально влажности почвы. Датчик идеально подходит для наблюдения изменений влажности почвы, для создания систем автоматического полива растений и для мониторинга целостности грунтового трубопровода.

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

  • Напряжение питания Vcc: 5 В или 3,3 В
  • Напряжение на выходе датчика при Vcc 5В:

3 . 1,75 В; при Vcc 3,3В:

2 . 1 В

  • Выход датчика инверсный
  • Максимальный потребляемый ток:

    Способ — 2 : Используя проводной шлейф и Shield

    Используя 3-х проводной шлейф, к Trema Shield, Trema-Power Shield, Motor Shield, Trema Shield NANO

    Питание:

    Входное напряжение питания 5 В или 3,3 В, постоянного тока, подаётся на выводы Vcc (V) и GND (G) датчика. Датчик можно подключить к постоянному питанию (тип подключения 1), а можно управлять питанием датчика (тип подключения 2) если подавать питание на датчик с любого информационного вывода, тогда функцией digitalWrite() можно включать или выключать датчик. При таком подключении нужно дать датчику время для включения генератора частоты, примерно 50 миллисекунд.

    Питание датчика от информационного вывода (тип подключения 2), возможно, благодаря низкому энергопотреблению датчика (потребляемый ток

    В зависимости от влажности почвы, при питании 5 вольт показания датчика находятся в диапазоне от

    1.75 вольт; при питании 3,3 вольта от

    1. Соответственно, диапазон показаний функции analogRead() будет зависеть от напряжения питания датчика.

    График зависимости выходного напряжения датчика от влажности почвы при питании 5В

    Примеры:

    Считывание показаний с датчика:

    Показания датчика считываются вызовом функции analogRead(номер_вывода);

    Тип подключения 1:

    Тип подключения 2: датчик запитан от выводов A0 и A1.

    Так как датчик является инверсным, для удобства чтения данных можно воспользоваться встоенной функцией map(), которая в следующем скетче преобразует и инвертирует «сырые» показания датчка в диапазон от 0 до 100:

    Источник

    Датчик влажности почвы (ёмкостный): инструкция по использованию и примеры

    Ёмкостный сенсор влажности почвы пригодиться для создания систем автоматического полива растений. Датчик не даст засохнуть комнатным цветкам и флоре на огороде.

    Принцип работы

    Ёмкостный датчик выполнен в виде штыря, которым погружается в грунт на расстояние до 80 мм. На штыре в виде дорожек расположены два электрода, но в отличии от резистивной модели, электроды ёмкостного сенсора защищены токоизолирующей маской и неподвержены коррозии.

    Внутри ёмкостного датчика находится RC-генератор на таймере 555, частота которого зависит от ёмкости между двумя электродами, которые выполняю роль конденсатора. Изменение влажности грунта сказывается на его диэлектрических свойствах и меняет ёмкость, что приводит к повышению или понижению выходного сигнала датчика. Итоговое напряжение пропорционально степени влажности почвы.

    Пример работы для Arduino и XOD

    В качестве мозга для считывания показаний с датчика рассмотрим платформу из серии Arduino, например Arduino Uno.

    Схема устройства

    Подключите датчик влажности почвы к аналоговому пину A0 платформы Arduino. Для коммуникации понадобятся соединительные провода «мама-папа».

    Для быстрой сборки и отладки устройства возьмите плату расширения Troyka Shield, которая одевается сверху на Arduino Uno методом бутерброда. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.

    Код для Arduino IDE

    Прошейте платформу Arduino скетчем приведённым ниже.

    После загрузки скетча, в Serial-порт будут выводиться текущие показания сенсора в 10-битном диапазоне.

    Источник

    Датчик влажности почвы (резистивный): инструкция по использованию и примеры

    Используйте резистивный сенсор влажности почвы для создания систем автоматического полива растений. Датчик подойдёт для ухода за комнатными цветками и флоре на огороде. Не дайте своим растениям засохнуть!

    Принцип работы

    Датчик для измерения влажности почвы выполнен в виде вилки с двумя электродами, которыми погружается в грунт на расстояние до 40 мм. При подключении питания на электродах создаёться напряжение. Если почва сухая, её сопротивление велико и через датчик между электродами течёт слабый ток. Если земля влажная — её сопротивление становится меньше, а ток датчика между электродами соответственно увеличивается. По итоговому аналоговому сигналу можно судить о степени увлажнения почвы.

    Максимальное напряжение на выходе S не превышает 75% от напряжения питания модуля V , т.е. сигнальный диапазон датчика равен:

    На показания датчика также влияют следующие факторы:

    Электроды датчика покрыты золотом, чтобы предотвратить пассивную коррозию, когда он выключен. Избавиться от электролитической коррозии, вызванной протекающим током, невозможно, поэтому сенсор резистивного типа рекомендуется запитывать через силовой ключ. То есть, включать его только на время измерений, чтобы максимально продлить ресурс. В плане эксплуатации это доставляет неудобство, поэтому рекомендуем обратить внимания на ёмкостный датчик влажности почвы, который в силу своего исполнения неподвержен корозии.

    Пример работы для Arduino и XOD

    В качестве мозга для считывания показаний с датчика рассмотрим платформу из серии Arduino, например Arduino Uno.

    Схема устройства

    Подключите датчик влажности почвы к аналоговому пину A0 платформы Arduino. Для коммуникации понадобятся соединительные провода «мама-папа».

    Для быстрой сборки и отладки устройства возьмите плату расширения Troyka Shield, которая одевается сверху на Arduino Uno методом бутерброда. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.

    Код для Arduino IDE

    Прошейте платформу Arduino скетчем приведённым ниже.

    После загрузки скетча, в Serial-порт будут выводиться текущие показания сенсора в 10-битном диапазоне.

    Патч для XOD

    После загрузки прошивки, в отладочной ноде watch будут выводиться текущие показания сенсора в диапазоне от 0 до 0,75:

    Пример для Espruino

    В качестве мозга для считывания показаний с датчика рассмотрим платформы из серии Espruino, например Iskra JS.

    Схема устройства

    Подключите датчик влажности почвы к аналоговому пину A0 платформы Iskra JS. Для коммуникации понадобятся соединительные провода «мама-папа».

    Для быстрой сборки и отладки устройства возьмите плату расширения Troyka Shield, которая одевается сверху на Iskra JS методом бутерброда. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.

    Исходный код

    Прошейте платформу Iskra JS скриптом приведённым ниже.

    После загрузки скрипта, в консоль будут выводиться текущие показания сенсора в диапазоне от 0 до 75%.

    Пример для Raspberry Pi

    В качестве мозга для считывания показаний с датчика рассмотрим одноплатные компьютеры Raspberry Pi, например Raspberry Pi 4.

    Схема устройства

    К сожалению в компьютере Raspberry Pi нет встроеенного аналого-цифрового преобразователя. Используйте плату расширения Troyka Cap, которое добавит малине аналоговые пины.

    Подключите датчик влажности почвы к Raspberry Pi через плату расширения Troyka Cap к 3 пину. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.

    Программная настройка

    Исходный код

    Запустите скрипт на малине приведённым ниже.

    После загрузки скрипта, в консоль малины будут выводиться текущие показания сенсора в диапазоне от 0 до 75%.

    Элементы платы

    Измерительные электроды

    Датчик построен на основе транзисторного усилителя тока. Для измерения влажности почвы на датчике расположены два электрода, которые для проведения измерений необходимо воткнуть в почву. Электроды подключены в цепь между коллектором (точка SP) и базой (точка SN) встроенного транзистора на плате MMBT2222ALT1G.

    При изменении влажности почвы, меняется сопротивление между базой и коллектором, к которому подключен положительный полюс источника питания. Соответственно меняется и протекающий ток от коллектора через эмиттер на землю. В результате изменяется и выходное аналоговое напряжение сенсора (точка OUT). Подробности найдёте на принципиальной схеме датчика.

    Troyka-контакты

    Датчик подключается к управляющей электронике через три провода.

    Источник

    Arduino Soil Moisture Sensor

    Introduction: Arduino Soil Moisture Sensor

    When you hear the word Smart Garden, one of the things that pop up to your mind is the automatic measurement of the moisture content of the soil. If you’re building a Smart Garden that waters plants automatically and give you the readings of the wetness of the soil, then you will definitely need a Soil Moisture Sensor.

    In this Instructable, I’ll show you how to interface the Soil Moisture Sensor to an Arduino Uno and read the values on a Serial Monitor.

    Step 1: Components Required

    For this project, you will need :

    • Arduino Uno
    • Soil Moisture Sensor
    • Hook up Wires
    • Bread Borad.

    Step 2: About the Soil Moisture Sensor

    A typical Soil Moisture Sensor consist of two components. A two legged Lead, that goes into the soil or anywhere else where water content has to be measured. This has two header pins which connect to an Amplifier/ A-D circuit which is in turn connected to the Arduino.

    The Amplifier has a Vin, Gnd, Analog and Digital Data Pins. This means that you can get the values in both Analog and Digital forms.

    Step 3: How Does the Sensor Work

    Most soil moisture sensors are designed to estimate soil volumetric water content based on the dielectric constant (soil bulk permittivity) of the soil. The dielectric constant can be thought of as the soil’s ability to transmit electricity. The dielectric constant of soil increases as the water content of the soil increases. This response is due to the fact that the dielectric constant of water is much larger than the other soil components, including air. Thus, measurement of the dielectric constant gives a predictable estimation of water content.

    Step 4: Connections

    • Connect the two pins from the Sensor to the two pins on the Amplifier circuit via hook up wires.
    • Connect the Vcc from the Amplifier to the 3.3V pin on the Arduino and the Gnd pin to the Gnd pin on the Arduino.
    • Now connect the Analog Data Pin to the A0 pin on the Arduino (Since I’m interested in Analog Data).

    Refer the Pictures and build the circuit.

    Step 5: Code

    For simply reading the values I’ll be using the AnalogRead sketch from the Examples menu. You can modify the code as per your requirements.

    Step 6: Output

    After verifying the code, upload it to the board and open the serial monitor. You will see the sensor data on the monitor being changed when you dip the sensor leads in water and when dry. You can use these values as threshold if you intend to trigger an action bases on these values.

    That’s All Folks !! Stay Tuned for More !!

    1 Person Made This Project!

    Did you make this project? Share it with us!

    Recommendations

    Halloween Contest

    Crayons Challenge

    Fandom Contest

    21 Comments

    Tip 7 months ago

    You can measure the relative percentage of the soil moisture content if you make a few changes to the code:

    int soilMoistureValue = 0;
    int percentage = 0;
    void setup() <
    pinMode(3, OUTPUT);
    Serial.begin(9600);
    >
    void loop() <
    soilMoistureValue = analogRead(A0);
    percentage = map(soilMoistureValue, 490, 1023, 100, 0)
    Serial.println(percentage);
    delay(5);

    All this does is make it so your readout is in between 0 and 100 percent instead of the direct readout from the sensor.

    hey, what would you add to this project to make it compatible for outdoors use? I’m thinking about doing this for plants on my balcony — what sort of insulation is needed for the Arduino and connectors for rain/humidity?

    Reply 1 year ago

    The hobbyist resistive sensors like the one shown in this article aren’t a good idea for regular monitoring as they will corrode and potentially pollute your soil. The capacitive ones look like a better bet, I’ve shown and compared both in https://www.instructables.com/Soil-Moisture-Sensin.

    There’s also https://www.instructables.com/Waterproofing-a-Capa. which deals with sealing them to give them a reasonable lifetime around water.

    Thanks a lot. this means a lot to me. Let you live happily and lead a prosperuous life

    Question 3 years ago on Step 6

    for me it kind of works but the data given in the serial monitor keeps giving the same number even if we wet it or dry it. Please help!

    Answer 2 years ago

    Greetings;
    For me I was using a resistor on the circuit.
    When I removed it; the sensor started reading the values correctly.

    Question 2 years ago on Step 5

    I’ve found a issue on my project (and so in this one), that I have no idea how to fix it properly. Perhaps someone could help me improve this project.
    The minimum value range on my project is 0 to 125. Between this range (low moisture); the microcontroller should activate a relay that will make a water pump to run but:
    If I disconnect the data pin (from where we read the values); serial monitor will still read bogus values (either higher or lower values). If value is the lowest (0 to 125) the water pump will still be running without really reading the sensor. Thus Water pump will for no reason and run plants will drown. How can we overcome this problem?

    Question 4 years ago

    just curious about the yellow and red led on the amplifier..what are them

    Question 4 years ago on Introduction

    Hi! you have an interesting project. may i request if you can make a diagram for the circuit connection so i can build it easily?

    tnx for the great work done on this platform. am having an issue with my soil moisture sensor, instead of giving me zero when out of water, it is giving me values like 900,898. what do i do to have the correct reading?

    Question 4 years ago on Step 6

    Is this moisture sensor specifically used for soil? Can I use it to measure moisture content of grain such as flour?

    Question 4 years ago on Step 4

    if the values are displayed on the led screen it comes under which output?analog or display

    did he forget to say about connecting the ground?

    Has anyone written any more sophisticated code?

    I hope you do not mind me making a few remarks on your project:
    1. the sensor. The sensor is a resistance sensor, not a capacitive. so it does not measure the dielectric constant but simply the resistance of the soil between the two ‘legs’
    If it were a capacitive sensor it would need to be isolated from the soil and you could not simply measure it with an analog port.

    2. As you are reading it with an analog port, the module itself (the module in between the sensor and your arduino) becomes redundant and just uses power for nothing.
    The Analog pin on the module, is directly connected to the sensor, bypassing the electronics on that module. better connect the sensor directly to the analog port on your arduino.

    3. As the sensor will be fed current oon a continous bas, it will corrode due to electrolysis very rapidly. One can use an Arduinopin rather than a continous 5Volt to feed the sensor and switch it off in between readings. That will seriously enhance the time your sensor will last.

    I hope you do not mind me making these essential remarks

    Reply 5 years ago

    Nr 3 sounds right but when I try that I get nonsense sensor value. In the air sensor value just random. In the soil it is between 0 and 10 no matter how wet the soil is.

    Reply 5 years ago

    Hmm sounds like unstable connection. check all yr connections and check what the voltage is on the bin you are using

    Источник

  • Adblock
    detector