Официальный сайт компании Arduino по адресу arduino.cc
Почему лагает?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Вс, 29/09/2019 - 13:21
Всем снова привет,сегодня пробовал подключить емкостные датчики влажности почвы,без мапинга они работают,а как только добавляю мап для значений,то он мне пургу присылать начинает.
Использую простой код:
#define SENSOR A7 #define SENSOR1 A6 #define SENSOR2 A5 #define SENSOR3 A4 #define MIN 500 #define MAX 900 uint16_t sensor; uint16_t sensor1; uint16_t sensor2; uint16_t sensor3; void setup() { Serial.begin(9600); } void loop() { sensor = analogRead(SENSOR); sensor = map(sensor, MIN, MAX, 0, 100); sensor1 = analogRead(SENSOR1); sensor1 = map(sensor1, MIN, MAX, 0, 100); sensor2 = analogRead(SENSOR2); sensor2 = map(sensor2, MIN, MAX, 0, 100); sensor3 = analogRead(SENSOR3); sensor3 = map(sensor3, MIN, MAX, 0, 100); Serial.println(sensor); Serial.println(sensor1); Serial.println(sensor2); Serial.println(sensor3); delay(500); }
Не знаю,почему не получается картинку вставить,но при зажиме рукой начинают показываться значения больше 65540;кто-нибудь может подсказать,почему так происходит?Причем через некоторое время все возвращается в норму,но от этого не легче.Есть ошибка какая то в тексте?
Видимо, analogRead() что-то меньше 500 читает.
Используй сначала constrain()
Срасибо,дедСемен;)Подсказка по делу,так все приходит,как и надо.Надеюсь,что врать из-за того,что что-то в аналогРид приходит меньше или больше,не будет:))
Или все-таки лучше значения правильно ограничивать,типа - мап(вал,мин,макс,400,900?
Матемитику люблю,но вышеописанное не осилил:))
У тебя как-то так с математикой? ;))
Как жаль, что тем, чем стало для меня
твоё существование, не стало
моё существованье для тебя.
(С) И.Бродский
либо первая часть (люблю математику) либо вторая (не осилил) - вранье. ибо осиливать там нечего. обычное школьное правило пропорции. Класс этак четвертый-пятый
Если есть вероятность, что c сенсоров будут приходить значения за пределами MIN и MAX - совместно с map() рекомендуют использовать constrain()
либо первая часть (люблю математику) либо вторая (не осилил) - вранье. ибо осиливать там нечего. обычное школьное правило пропорции. Класс этак четвертый-пятый
Если есть вероятность, что c сенсоров будут приходить значения за пределами MIN и MAX - совместно с map() рекомендуют использовать constrain()
См. самый первый ответ. :)
Вообще ,с какого перепугу взяты значения 500 и 900 ?
Аналоговый вход в зависимости от входящего напряжения,при дискретности 10 бит , может выдавать значения 0-1023.
Кто вам разрешил его ограничивать таким варварским способом ?
См. самый первый ответ. :)
поспешил :)
либо первая часть (люблю математику) либо вторая (не осилил) - вранье. ибо осиливать там нечего. обычное школьное правило пропорции. Класс этак четвертый-пятый
От не надо ля-ля!
6 класс, при 11 классах в школе. вчера учебник малого листал.
Вполне мог и разлюбить уже математику. У многих любовь на дробях проходит, кто снизу, а кто сверху решить не могут.
Да быстро писал с телефона,дико извиняюсь за такую позорную ошибку:))Вас то,наверное,Лопиталем называют близкие?:)))
Под шышки самое то https://www.youtube.com/watch?v=2CNS1NmwT8Q
Я далеко не программист по образованию,по этому пропорцию в коде не вижу:))
Да,все уже исправил и работает,как написал дедСемен,за что ему спасибо.
Единственное,что хочется узнать,купив себе кримпер 48бс,какие экранированные провода лучше использовать без проблем для показаний?Длина пол метра пока для них не будет проблема?А вообще,разъемы мама-мама,мама-папа на какую длину могут быть разведены?
У меня любовь проходит в приложении "математические хитрости":))Советую скачать:)И не пожалеть заплатить 50р.С утра лучше кофе бодрит:)
Под шышки самое то https://www.youtube.com/watch?v=2CNS1NmwT8Q
Под хорошие только:))и медицинские шишки:)))
Аналоговый вход в зависимости от входящего напряжения,при дискретности 10 бит , может выдавать значения 0-1023.
Кто вам разрешил его ограничивать таким варварским способом ?
У ардуино-лаб подсмотрел в видосике:)У йардуино так вообще 330 и 660 соответственно стоят на аналогичном датчике