Простите, может я и не туда написал, конечно создам, до этого я не общался никогда на форумах только читал, в общем простите если что не так. А темку ща создам. Спасибо за совет.
хотел спросить тут можно написать о проблеме с телеграм и работы с esp12e ибо я тоже впервые пишу на форумах?
Ну так найдите для этого подходящий раздел с создайте соответствующую тему, я думаю, что вам с радостью в ней ответят.
Простите, но я даже команду такую не знаю, но ща буду курить в гугле, а может Вы подскажете куда это вставить?) Спасибо за ответ и помощь в любом случае.
Боюсь, это был ответ мне на работу с пингом, а именно - ответ на вопрос как в зависимости от расстояния что мы измерили делать что-то.
Тут ответ:http://forum.amperka.ru/threads/Много-глупых-вопросов.11565/page-2#post-112489 Но unsigned ничего не даст. 100 замеров в сумме дают 102400, а это больше чем 32768. Целочисленное переполнение может давать отрицательное значение даже для суммы чисел. Нужно десяток замеров сделать (не более 32) и делить на 10. Код (C++): // считываем текущее показания датчика влажности почвы digitalWrite(DAT_PIN, HIGH); delay(100); // подождать стабилизации процесса int humidityNow(0); for(int i=0; i< 10; i++) { delay(10); humidityNow += analogRead(HUMIDITY_PIN); } //отключаем питание датчика почвы digitalWrite(DAT_PIN, LOW); humidityNow /=10; // 10 замеров в цикле // если показания текущей влажности почвы // не равняется предыдущему запросу if(humidityNow != humidity) { // сохраняем текущие показания влажности humidity= humidityNow; // и выводим показания влажности на дисплей qd.displayInt(humidityNow); } Так думаю, что со средними можно не париться. После включения питания датчика вероятно начинаются электрохимические процессы, которые должны стабилизироваться. Попробуй просто увеличить задержку между включением датчика и замером. В код я добавил delay(100);
Потрясающе, всё работает и выдает отличные числа! Спасибо огромное! Опытным путем установил, что задержка в 135 - подходит лучше всего.
Я же вам написал: почитайте про типы переменных: https://ru.wikipedia.org/wiki/Типы_данных_в_C И замените Код (C++): // Задаем переменнуя для хранения показания влажности почвы unsigned int humidity = 0; на Код (C++): // Задаем переменную для хранения показания влажности почвы long humidity = 0;