
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05





В этом руководстве я покажу вам, как сделать датчик почвы для системы здравоохранения сада. Я покажу вам, что вам нужно, приведу несколько примеров кода и как его реализовать.
В конце инструкции вы узнаете, как изменить цвет светодиодной полосы, когда почва влажная, немного влажная или сухая.
В этом руководстве я буду использовать:
- Ардуино версии 1.8.9
- Библиотека Adafruit_NeoPixel.h
Запасы
Вам понадобится:
- NodeMCU 1.0 (модуль ESP-12E)
- 1 кабель между гнездом и гнездом
- Светодиодная лента
- (Необязательно) Датчик почвы Homade (смотрите видео выше до 00:36)
Шаг 1. Настройка




- Возьмите узел и датчик почвы.
- Подключите датчик почвы к A0. (Фото 1) (в качестве альтернативы возьмите зачищенный женский кабель и подключите его к A0 (Фото 3).
Возьмите светодиодную ленту и подключите GND к G, 5V к 3V и средний кабель к D5. (Фото 2)
Теперь это будет похоже на последнее фото.
Шаг 2: Добавление кода для датчика почвы

- Создайте новый проект в Arduino IDE
- Прошлое в следующем коде:
/ * Аналоговый вход, аналоговый выход, последовательный выход
Считывает аналоговый входной вывод, сопоставляет результат с диапазоном от 0 до 255 и использует результат для установки широтно-импульсной модуляции (ШИМ) выходного вывода. Также распечатывает результаты на Serial Monitor.
Схема: - потенциометр подключен к аналоговому выводу 0. Центральный вывод потенциометра идет к аналоговому выводу. боковые контакты потенциометра идут на + 5V и земля - светодиод подключен от цифрового контакта 9 к земле
Создано 29 декабря 2008 г. Изменено 9 апреля 2012 г. Томом Иго
Этот пример кода находится в открытом доступе.
www.arduino.cc/en/Tutorial/AnalogInOutSeri… *
/ Эти константы не изменятся. Они используются для присвоения имен используемым контактам: const int analogInPin = A0; // Вывод аналогового входа, к которому подключен потенциометр const int analogOutPin = D5; // Вывод аналогового выхода, к которому подключен светодиод
int sensorValue = 0; // значение считывается из банка
void setup () {// инициализируем последовательную связь со скоростью 9600 бит / с: Serial.begin (9600); }
void loop () {// считываем аналог в значении: sensorValue = analogRead (analogInPin);
// вывод результатов на последовательный монитор: Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ n"); // Serial.println (outputValue);
// ждем 1 миллисекунду перед следующим циклом, чтобы аналого-цифровой // преобразователь установился после последнего чтения: delay (1000); }
Теперь вы можете проверить, дает ли ваш датчик значение.
Коснитесь конца винта или кабеля, и вы увидите что-то вроде фото 1.
Если не работает, проверьте свои кабели. Правильно ли они подключены?
Шаг 3: библиотека Neopixel

-
Загрузите библиотеку adafruit_neopixel (если вы еще этого не сделали).
- Перейдите в инструменты> управление библиотеками
- поиск по adafruit neopixel photo 1
- Установить версию 1.2.5
Шаг 4: Настройка кода Neopixel
-
Добавьте следующее в начало вашего проекта
- #включают
- #включают
- #include "Adafruit_NeoPixel.h"
- Ниже этого:
char ssid = "SSID"; // SSID вашей сети (имя)
char password = "пароль"; // ваш сетевой пароль
И ниже этого
#define PIXEL_PIN D5 #define PIXEL_COUNT 30 // изменить расположение светодиодов на полосе
#define PIXEL_TYPE NEO_GRB + NEO_KHZ800
Adafruit_NeoPixel пикселей = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);
Шаг 5: Настройка пустоты
Поместите следующий код в voide setup ()
pixel.begin (); // ИНИЦИАЛИЗИРУЕМ объект полосы NeoPixel (ОБЯЗАТЕЛЬНО) pixel.show (); // Выключаем все пиксели как можно скорее
pixel.setBrightness (50); // должно быть от 0 до 255, если вы хотите, чтобы светодиодная полоса была ярче, вы можете увеличить число
Шаг 6: петля пустоты
В пустом цикле () и ниже задержка (1000); введите следующий код
if (sensorValue == 0 || sensorValue <= 200) {
для (int i = 0; i
пикселей.setPixelColor (i, 255, 0, 0);
pixel.show ();
}
} else if (sensorValue> 200 || sensorValue <= 500) {
для (int i = 0; i
пикселей.setPixelColor (i, 0, 255, 0);
pixel.show ();
}
} else if (sensorValue> 500) {
для (int i = 0; i
пикселей.setPixelColor (i, 0, 0, 255);
pixel.show ();
}
}
}
Шаг 7. Проверьте


Поздравляю! Вы только что создали систему, которая может определять, влажная или сухая почва.
Теперь, когда вы поместите датчик во влажную почву, светодиод станет зеленым, а когда он будет в сухой почве, он станет красным, как на картинках выше.
Рекомендуемые:
Легкий самодельный ультразвуковой увлажнитель воздуха менее чем за 10 долларов: 3 шага

Легкий самодельный ультразвуковой увлажнитель воздуха менее чем за 10 долларов. В поисках увлажнителя для домашнего использования я увидел много крутых ультразвуковых увлажнителей тумана и подумал, смогу ли я сделать себе дешевый. Это самодельный увлажнитель воздуха с использованием ультразвукового туманообразователя, который я нашел в Интернете. Это легкий D
OptiAir: автоматический увлажнитель: 7 шагов

OptiAir: автоматический увлажнитель воздуха: я Тисса Де Кейзер, и я изучаю MCT (мультимедийные и коммуникационные технологии) в Howest Kortrijk. Для своего первого проекта я делаю умный увлажнитель для любого места
ESP32 Lora Thingspeak Gateway с сенсорным узлом: 9 шагов

ESP32 Lora Thingspeak Gateway с сенсорным узлом: в этом проекте IoT я разработал ESP32 LoRa Gateway & также узел датчика ESP32 LoRa для беспроводного отслеживания показаний датчика с расстояния в несколько километров. Отправитель считывает данные о влажности и температуре с помощью датчика DHT11. Затем он передает
UCL-IIOT - система сигнализации с базой данных и красным узлом: 7 шагов

UCL-IIOT - система сигнализации с базой данных и Node-red: цель этой сборки - научить подключать Arduino к Node-red и базе данных, чтобы вы могли регистрировать данные, а также собирать их для дальнейшего использования. простая система сигнализации Arduino, которая выводит 5 номеров данных, каждое из которых отделено
Беспроводной датчик температуры и влажности большого радиуса действия IOT с красным узлом: 27 шагов

Беспроводной датчик температуры и влажности большого радиуса действия IOT с Node-Red: Представляем беспроводной датчик температуры-влажности большого радиуса действия NCD, обеспечивающий дальность действия до 28 миль с использованием архитектуры беспроводной ячеистой сети. Датчик температуры-влажности Honeywell HIH9130 передает высокоточные данные о температуре и