Добавить в корзинуПозвонить
Найти в Дзене
ASUTPP

Проект: обнаружение дождя и измерение влажности почвы с использованием Intel Galileo

Из этой статьи вы узнаете, как использовать аналоговые датчики вместе с Intel Galileo. Я покажу вам, как использовать простой датчик дождя и датчик влажности почвы. Этот проект может быть использован на ферме: чтобы принять более правильное решение о том, когда поливать выращиваемые культуры, а также очень полезно иметь информацию о том, сколько осадков выпало, и уровне влажности в почве. Несмотря на то, что я использовал в этом проекте Intel Galileo, вы могли бы также использовать тот же код и соединения с Arduino. Компоненты, которые я использовал: Как работает датчик влажности почвы? Датчик влажности почвы очень прост. Он измеряет сопротивление в почве и преобразует его в напряжение от 0 до 5 В. Вы можете прочитать это значение с помощью аналоговых выводов платы Intel Galileo. Это даст вам целочисленное значение от 0 до 1024 в вашем коде. На странице информации о датчике влажности почвы вы можете увидеть, что датчик выдаст вам следующие выходные данные для сухой почвы, влажной почв
Оглавление

Из этой статьи вы узнаете, как использовать аналоговые датчики вместе с Intel Galileo. Я покажу вам, как использовать простой датчик дождя и датчик влажности почвы.

Этот проект может быть использован на ферме: чтобы принять более правильное решение о том, когда поливать выращиваемые культуры, а также очень полезно иметь информацию о том, сколько осадков выпало, и уровне влажности в почве.

Несмотря на то, что я использовал в этом проекте Intel Galileo, вы могли бы также использовать тот же код и соединения с Arduino.

Компоненты, которые я использовал:

  1. Intel Galileo - 1 шт.
  2. Макет для экспериментов типа IB401 с 400 точками и перемычками
  3. Датчик влажности почвы - 1 шт.
  4. Датчик дождя FC-37 - 1 шт.

Как работает датчик влажности почвы?

Датчик влажности почвы очень прост.

Он измеряет сопротивление в почве и преобразует его в напряжение от 0 до 5 В. Вы можете прочитать это значение с помощью аналоговых выводов платы Intel Galileo.

Датчик влажности почвы
Датчик влажности почвы

Это даст вам целочисленное значение от 0 до 1024 в вашем коде.

На странице информации о датчике влажности почвы вы можете увидеть, что датчик выдаст вам следующие выходные данные для сухой почвы, влажной почвы и воды:

  • Датчик в сухой почве: 0 ~ 300
  • Датчик во влажной почве: 300 ~ 700
  • Датчик в воде: 700 ~ 950

Разным растениям нужен свой уровень влаги. Вы можете в реальных условиях замерить эталонное значение - и далее использовать его в своем проекте.

Как работает датчик дождя?

Выход такого датчика также представляет собой простое значение напряжения от 0 до 5 В. И вы можете это прочитать с помощью одного из аналоговых входов вашей платы Intel Galileo.

Датчик дождя FC-37
Датчик дождя FC-37

Датчики также имеют цифровой выход. Он будет высоким, когда уровень влажности выше определенного порога. Вы можете контролировать порог с помощью встроенного потенциометра.

Но так как это легко сделать в коде, вы можете пропустить этот вывод и использовать в проекте только аналоговый выход.

Шаг 1: Подключите компоненты

Подключите соединительные провода от 5 В и GND от Galileo к двум пустым рядам на макете.

Используйте соединительные провода для подключения VCC и GND от датчика влажности почвы к 5V и GND на макете.

И подключите перемычку от контакта SIG датчика влажности почвы к разъему A0 на плате Intel Galileo.

-3

Сделайте то же самое с датчиком дождя: подключите VCC и GND к 5V и заземлите на макете.

И подключите A0 от датчика дождя к A1 на Galileo.

-4
-5

Подключите питание платы Intel Galileo, а когда загорится индикатор USB, подключите кабель USB от Galileo к компьютеру.

Теперь вы готовы к программированию.

Шаг 2: Загрузите код для считывания значений с датчика влажности почвы

Проверьте работоспособность датчика влажности почвы, загрузив следующий код:

int sensorPin = A0; // select the input pin for the sensor
void setup() {
//Инициализация последовательного порта
Serial.begin(9600);
}
void loop() {
// считывание значений с датчика
int sensorValue = analogRead(sensorPin);

// Выводим значение
Serial.println(sensorValue);

//Задержка 200 мс.
delay(200);
}

Затем прикоснитесь пальцами к двум контактам датчика, чтобы убедиться, что есть реакция. Если вы видите изменение в значениях при прикосновении к двум контактам, это значит, что все работает.

Шаг 3: Проверьте датчик дождя

Теперь измените код для того, чтобы проверить датчик дождя.

Используйте тот же код, что и выше, но вместо этого измените переменную sensorPin на A1. Вы можете проверить датчик дождя, используя, например, влажную губку.

Шаг 4. Объедините код в один

Наконец, объедините весь код для этих 2 датчиков в одну программу и сделайте последовательный вывод более приятным:

int sensorPinSoil = A0; // Входной PIN для датчика влажности почвы
int sensorPinRain = A1;
// Входной PIN для датчика дождя

void setup() {
Serial.begin(9600);
}
void loop() {
int soilValue = analogRead(sensorPinSoil);
int rainValue = analogRead(sensorPinRain);
// вывод значений в читаемом формате
Serial.print("Текущее значение датчика дождя: ");
Serial.println(rainValue);
Serial.print("Текущее значение датчика влажности почвы: ");
Serial.println(soilValue);
Serial.println("");
delay(200);
}

Готово! Тестируйте! И не забывайте подписываться на мой канал.