Оглавление:

Почвенный увлажнитель с узлом: 7 шагов
Почвенный увлажнитель с узлом: 7 шагов

Видео: Почвенный увлажнитель с узлом: 7 шагов

Видео: Почвенный увлажнитель с узлом: 7 шагов
Видео: КАК ЗАЖИВЛЯТЬ ТАТУИРОВКУ? Уход за свежей тату. Заживление татуировок. 2024, Ноябрь
Anonim
Image
Image
Почвенный увлажнитель с узлом
Почвенный увлажнитель с узлом
Почвенный увлажнитель с узлом
Почвенный увлажнитель с узлом
Почвенный увлажнитель с узлом
Почвенный увлажнитель с узлом

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

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

В этом руководстве я буду использовать:

  • Ардуино версии 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

Библиотека Neopixel
Библиотека 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. Проверьте

Проверять
Проверять
Проверять
Проверять

Поздравляю! Вы только что создали систему, которая может определять, влажная или сухая почва.

Теперь, когда вы поместите датчик во влажную почву, светодиод станет зеленым, а когда он будет в сухой почве, он станет красным, как на картинках выше.

Рекомендуемые: