Умный полив
- Войдите на сайт для отправки комментариев
Чт, 13/02/2020 - 14:42
Приветствую любителей Ардуино!!!
Скажу сразу, не судите строго так как полный чайник, возможно на форуме и есть подобная информация, но перелопатить такой обьем информации нет времени, сын притащил со школы с кружка данный конструктор, в общем вроде как бы более менее разобрался, схему собрал, скетч с горем пополам состряпал, и даже работает, но показания датчика влажности на дисплее 1602 I2C вообще ни о чем, показывает целое число от 3 до 8, как сделать нормальные показания в процентах...
#include <LCD_1602_RUS.h> #include <Wire.h> // библиотека для управления устройствами по I2C #include <LiquidCrystal_I2C.h> // подключаем библиотеку для LCD 1602 LCD_1602_RUS lcd(0x27,16,2); // присваиваем имя lcd для дисплея 16х2 const int moistureA0 = A0; const int Relay = 4; int sensorValue = 0; void setup() { pinMode(moistureA0, INPUT); pinMode(Relay,OUTPUT); lcd.init(); // инициализация LCD дисплея lcd.backlight(); // включение подсветки дисплея lcd.setCursor(0,0); // устанавливаем курсор на 1 символ первой строки lcd.print(L"BЛАЖНОСТЬ"); delay(1000); lcd.setCursor(0,1); // устанавливаем курсор на 1 символ второй строки lcd.print(L"ОЖИДАНИE"); delay(1000); } void loop() { long sensorValue = analogRead(moistureA0); if (sensorValue <=300){ digitalWrite(Relay, HIGH); lcd.setCursor(0,1); lcd.print(" "); delay(100); lcd.setCursor(0,1); lcd.print("ПОЛИВ"); delay(1000); } else { digitalWrite(Relay, LOW); lcd.setCursor(13,0); lcd.print(sensorValue); lcd.setCursor(0,1); lcd.print(L"ОЖИДАНИE"); } }
ссылку на дачик влажности дайте.
И схему подключения нарисуйте
https://prnt.sc/r1pikl
Скорее всего у него датчик-вилка, которые на Али за 40р продают.
Такие датчики в % переводить особого смысла нет.
А откуда там проценты? С А0 читаем и ежли < 300 попугаев - поливаем. Там и датчика-то нет, фейк какой-то.
Это, извините, как в "шохе" кнопку круиз-контролья искать.)))
Датчик на A0 + на +, - на -, S на S, дисплей показывает значит правильно, реле на 4 цифровом, далее мотор, но не в этом суть, мне нужны показания...https://prntscr.com/r1pqks
Да просто вилка, и в интернете ничего найти не могу, через комп кажет, в чай пихаю кажет 700, на воздухе менее 300...https://prntscr.com/r1pikl
Поставьте после строки №45 задержку типа delay(1000); или просто перенесите строку №38 между строками №№46 и 47
Чё получается?
В земле получается, чем меньше значение тем типа суше земля, чем выше соответственно влажность выше, в каких это единицах не понятно.....
В условных (0...1023). Минус % за конвертацию и президентский налог.
Да все тоже, показания датчика 3 реле сработало, мокрым пальцем зажимаю кажет 6 реле отключилось...
Скетч-то где?
Serial.println(moistureA0) после строки #30 и в Arduino IDE монитор смотреть, что выдаёт analogRead()
В условных (0...1023). Минус % за конвертацию и президентский налог.
Скетч-то где?
Как в проценты перевести?
Пока никак - сначала добиться, чтобы в попугаях показывала нормально. Не кидайтесь на всё сразу.
Сделайте, что я сказал и заодно вставьте печать, как сказал сэдмэн. И скетч и протокол печати в студию.
В условных (0...1023). Минус % за конвертацию и президентский налог.
Такие датчики в % переводить особого смысла нет.
Serial.println(moistureA0) после строки #30 и в Arduino IDE монитор смотреть, что выдаёт analogRead()
в мониторе ноль, сухими альцами берешь 30 + -, мокрыми 700...
Скетч-то где?
Вы издеваетесь? Я же Вам сказал задержку вставить и сказал куда (после строки №45). Где задержка?
Конечно ноль, Serial.begin за вас же Пушкин не прописал скетчу.
Скетч-то где?
Вы издеваетесь? Я же Вам сказал задержку вставить и сказал куда (после строки №45). Где задержка?
Сдаётся мне, что лавочку надо прикрывать или ссыпать тему в песочницу.
да он реально издевается...
Вы явно издеваетесь.
Ещё раз, для альтернативно понятливых: вставьте задержку delay(1000); после строки #45 (по коду из поста #15).
Сделайте это, выложите скетч и скажите, что изменилось.
Так, прекратите строчить как из пулемёта не читая что Вам пишут.
Последняя попытка:
1. Вставьте правильно задержку
2. Выложите (правильно) код с задержкой
3. Напишите, что показывается на экране.
Если и с третьего раз будет что-то не так, я умываю руки
На экране ни чего не меняется...
На экране ни чего не меняется...
Понятно, значит мои многочисленные просьбы (пункты №№ 1-3 из #25) по-прежнему игнорируются. Ну, что ж, я хотел Вам помочь, но Вы упёрлись рогом и сопротивляетесь до последнего. Дело Ваше.
До свиданья, разбирайтесь сами.
На экране ни чего не меняется...
Понятно, значит мои многочисленные просьбы (пункты №№ 1-3 из #25) по-прежнему игнорируются. Ну, что ж, я хотел Вам помочь, но Вы упёрлись рогом и сопротивляетесь до последнего. Дело Ваше.
До свиданья, разбирайтесь сами.
Mulmuga - остановитесь, почитайте ветку с начала - внимательно, с полчаса или час, подумайте - и сделайте, что вам говорят.
Ну или действительно разбирайтесь сами - тогда не засоряйте форум пустыми сообщениями.
Mulmuga - остановитесь, почитайте ветку с начала - внимательно, с полчаса или час, подумайте - и сделайте, что вам говорят.
Ну или действительно разбирайтесь сами - тогда не засоряйте форум пустыми сообщениями.
Понятно спасибо, просто эта задержка ничего не меняет, хоть так хоть эдак, хотяб те значения что в мониторе вывести на дисплей, вот что он мне кажет 3 4 5 6 7 8, где те значения с монитора 30 700 и т.д
Mulmuga - остановитесь, почитайте ветку с начала - внимательно, с полчаса или час, подумайте - и сделайте, что вам говорят.
Ну или действительно разбирайтесь сами - тогда не засоряйте форум пустыми сообщениями.
Понятно спасибо, просто эта задержка ничего не меняет, хоть так хоть эдак, хотяб те значения что в мониторе вывести на дисплей, вот что он мне кажет 3 4 5 6 7 8, где те значения с монитора 30 700 и т.д
Всем спасибо! Модератор будте так любезны, тему ф помойку!