моторные масла для грузовых автомобилей

Моторные масла для грузовых каров

Приёмник значения влаги земли и самодействующий полив на Arduino

Желали бы вы, чтоб ваши растения докладывали о том, будто их нужно брызнуть? Либо элементарно держали вас в курсе значения влаги земли? В данной заметке мы осмотрим план автоматизированного полива с внедрением измерителя значения влаги земли:

Ликбез измерителя значения влаги земли

Сходственные детекторы включаются довольно элементарно. 2 из 3-х коннекторов - это самая кормленье (VCC) и территория (GND). При применении приёмник лучше временами выключать от родника кормления, чтоб избежать вероятного окисления. 3-ий вывод - знак (sig), с которого мы и станем совлекать сведения. 2 контакта измерителя действуют сообразно принципу переменного резистора - нежели более воды в грунте, тем превосходнее контакты проводят лепиздричество, падает противодействие, знак на контакте SIG вырастает. Аналоговые смысла имеют все шансы различаться в зависимости от напряжения кормления и разрешающей возможности ваших аналоговых пинов микроконтроллера.

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

2-ой вариант наиболее эластичный:

Ну и естественно позволительно напрямую починить контакты на приёмник.

Ежели вы намереваетесь употреблять приёмник из-за пределами жилплощади, стоит особо призадуматься о охране контактов от грязищи и прямого попадания солнечных лучей. Может быть, стоит поразмыслить о корпусе либо нанесении защитного покрытия конкретно на контакты измерителя значения влаги и проводники (глядите на набросок ниже).

Приёмник значения влаги земли с нанесенным защитным покрытием на контактах и изолированными проводниками для включения:

Неувязка недолговечности измерителя значения влаги земли

Вотан из недочетов измерителей сходственного вида - эфемерность их восприимчивых частей. К образцу, фирма Sparkfun постановляет данную делему, применяя доп покрытие (Electroless Nickel Immersion Gold). 2-ой вариант продления срока деяния детектора - давать на него кормление конкретно при снятии показаний. При применении Arduino, все ограничивается подачей сигнала HIGH на пин, к коему включен приёмник. Ежели вы желаете запитать приёмник огромным напряжением нежели дает Arduino, постоянно разрешено употреблять доп филдистор.

Контроль значения влаги земли - образчик плана

В приведенном ниже плане применены приёмник значения влаги, аналог платы Arduino - RedBoard и LCD экран, на котором выводятся эти про степень влаги земли.

В приведенном ниже плане применены приёмник значения влаги, аналог платы Arduino - RedBoard и LCD экран, на котором выводятся эти про степень влаги земли.

Приёмник значения влаги земли фирмы SparkFun:

Красноватый вожак (VCC) подключается к 5 В на Arduino, темный - к земле (GND), зеленоватый - знак - к аналоговому пину 0 (A0). Ежели вы применяете иной аналоговый пин на Arduino, никак не пренебрегайте привнести надлежащие конфигурации в скетч для микроконтроллера, изображённый ниже.

LCD экран включен к 5 В, земле и цифровому пину 2 (еще разрешено поменять и привнести конфигурации в код) для размена данными с микроконтроллером сообразно серийному протоколу взаимосвязи.

Стоит пометить, будто ежели вы желаете удлинить срок службы вашего детектора, позволительно включить его кормленье к цифровому пину и кормить его лишь при считывании этих, а опосля - выключать. Ежели запитывать приёмник непрерывно, его восприимчивые составляющие скоро начнут заржавевать. Нежели более влажность земли, тем скорее станет проникать ржавчина. Ещё Вотан вариант – нанести гипс на приёмник. В итоге влага станет действовать, только ржавчина существенно сдерживается.

Програмка для Arduino

Скетч довольно обычный. Для передачи этих на LCD экран вам нужно включить библиотеку Software Serial library. Ежели у вас в её недостает, перекачать позволительно тут: Arduino GitHub

Доп объясненья приведены в комментах к коду:

// Образчик применения измерителя значения влаги земли с LCD экраном.

// В скетче считываются эти с измерителя и отражается степень влаги земли // Для работы с экраном употребляется книгохранилище softwareserial library #include // Включите пин для размена данными с внедрением LCD монитора сообразно серийному протоколу RX к цифровому пину 2 Arduino SoftwareSerial mySerial(3,2); // pin 2 = TX, pin 3 = RX (никак не употребляется) // Здесь мы настраиваем некие константы. // Наладка констант находится в зависимости от критерий наружной среды, в которой употребляется приёмник int thresholdUp = 400; int thresholdDown = 250; // Настраиваем пин A0 на Arduino для работы с измерителем: int sensorPin = A0; void setup(){ mySerial.begin(9600); // устанавливаем прыть размена данными на 9600 baud delay(500); // ожидаем покуда экран прогрузится } void loop(){ // Тут мы заявляем строчку, в которой сберегаются эти для отражения // на жидкокристаллическом мониторе. Смысла станут переменяться // в зависимости от значения влаги земли String DisplayWords; // В переменной sensorValue сберегается аналоговое смысл измерителя с пина А0 int sensorValue; sensorValue = analogRead(sensorPin); // смещение курсора к истоку 1 строчки LCD монитора: mySerial.write(254); mySerial.write(128); // очищение монитора: mySerial.write(" "); mySerial.write(" "); // смещение курсора к истоку 1 строчки LCD монитора: mySerial.write(254); mySerial.write(128); // запись нужной инфы на экран: mySerial.write("Water Level: "); mySerial.print(sensorValue); //Внедрение.print заместо .write для значений // Сейчас мы проведем испытание значения влаги сообразно сопоставлению с данными нами до числовыми константами. // Ежели смысл не в такой мере thresholdDown, отображаем слова: // "Dry, Water it!" if (sensorValue <= thresholdDown){ // смещение курсора к истоку 2-ой строчки монитора: mySerial.write(254); mySerial.write(192); DisplayWords = "Dry, Water it!"; mySerial.print(DisplayWords); // Ежели смысл никак не ниже thresholdDown нужно вести испытание, никак не станет // ли оно более нашего thresholdUp и, ежели, более, // показать надпись "Wet, Leave it!": } else if (sensorValue >= thresholdUp){ // смещение курсора к истоку 2-ой строчки монитора: mySerial.write(254); mySerial.write(192); DisplayWords = "Wet, Leave it!";

// В скетче считываются эти с измерителя и отражается степень влаги земли

// Для работы с экраном употребляется книгохранилище softwareserial library

// Включите пин для размена данными с внедрением LCD монитора сообразно серийному протоколу RX к цифровому пину 2 Arduino

SoftwareSerial mySerial(3,2); // pin 2 = TX, pin 3 = RX (никак не употребляется)

// Здесь мы настраиваем некие константы.

// Наладка констант находится в зависимости от критерий наружной среды, в которой употребляется приёмник

int thresholdUp = 400;

int thresholdDown = 250;

// Настраиваем пин A0 на Arduino для работы с измерителем:

int sensorPin = A0;

mySerial.begin(9600); // устанавливаем прыть размена данными на 9600 baud

delay(500); // ожидаем покуда экран прогрузится

// Тут мы заявляем строчку, в которой сберегаются эти для отражения

// на жидкокристаллическом мониторе. Смысла станут переменяться

// в зависимости от значения влаги земли

String DisplayWords;

// В переменной sensorValue сберегается аналоговое смысл измерителя с пина А0

sensorValue = analogRead(sensorPin);

// смещение курсора к истоку 1 строчки LCD монитора:

mySerial.write(254);

mySerial.write(128);

// очищение монитора:

mySerial.write(" ");

mySerial.write(" ");

// смещение курсора к истоку 1 строчки LCD монитора:

mySerial.write(254);

mySerial.write(128);

// запись нужной инфы на экран:

mySerial.write("Water Level: ");

mySerial.print(sensorValue); //Внедрение.print заместо .write для значений

// Сейчас мы проведем испытание значения влаги сообразно сопоставлению с данными нами до числовыми константами.

// Ежели смысл не в такой мере thresholdDown, отображаем слова:

// "Dry, Water it!"

if (sensorValue <= thresholdDown){

// смещение курсора к истоку 2-ой строчки монитора:

mySerial.write(254);

mySerial.write(192);

DisplayWords = "Dry, Water it!";

mySerial.print(DisplayWords);

// Ежели смысл никак не ниже thresholdDown нужно вести испытание, никак не станет

// ли оно более нашего thresholdUp и, ежели, более,

// показать надпись "Wet, Leave it!":

} else if (sensorValue >= thresholdUp){

// смещение курсора к истоку 2-ой строчки монитора:

mySerial.write(254);

mySerial.write(192);

DisplayWords = "Wet, Leave it!";

Доборная информация:моторные масла для грузовых автомобилей

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed