analogRead возвращает максимум 255
- Войдите на сайт для отправки комментариев
Пнд, 06/11/2017 - 14:14
плата Pro Mini 3.3 V
при подаче VCC на А0, analogRead возвращает 255
при включеном INPUT_PULLUP analogRead возвращает 1023, при подаче GND - около 760
Скетч секретный? Если нет, то выложите (только правильно, с номерами строк).
И, пожалуйста, именно тот самый скетч. который так себя ведёт, прямо копи-пастом, а не "любой аналогрид".
при подаче VCC на А0, analogRead возвращает 255
при включеном INPUT_PULLUP analogRead возвращает 1023, при подаче GND - около 760
Не забудьте про внешнее (или внутреннее по Вашему выбору) опорное напряжение AREF, отсчет выходного 0...1023 ведется от него
A0=AREF выход 1023
AO=GND выход 0
код
Не, ну в этом коде Вы сами разбирайтесь. Приведите короткий на три строчки код, который демонститрует описанный Вами эффект:
при подаче VCC на А0, analogRead возвращает 255
при включеном INPUT_PULLUP analogRead возвращает 1023, при подаче GND - около 760
Если Вы не можете привести короткий (короткие все работают), то значит ошибка в этом коде, а не в чём-то другом. И если так. то Вы хотть скажите в какой строке Вы эти 255, 1023 и 760 выводите, не заставляёте людей рыться в Вашем коде без Вашей помощи.
Я вот например НЕ ВИЖУ в этом коде чтобы Вы где-то печатали результат analogRead. Где Вы это делаете? А если не делаете, то с чего Вы взяли, что он возвращает то, что Вы написали?
Для отладки результат вывожу по радиоканалу на другой модуль.
Фактически нормально не работает сам analogRead. Как можно получить 760 при подаче GND на А0?
Вы можете поставить вывод значения sensorValue сразу во вторую строку и посмотреть, что же там на самом деле?
Мало ли что Вы там куда-то передаёте и откуда мне знать как Вы там это принимаете и как печатаете, тем болеее, что того кода (который принимает и печатает) Вы не показали! Я не вижу с чего Вы взяли, что там 760.
Для отладки результат вывожу по радиоканалу на другой модуль.
Вы ещё почтой России в Зимбабве его пошлите. Выведите СРАЗУ после чтения с порта результат в Serial - и посмотрите, что там.
Код универсальный для приемника и передатчика, конфигурируется через терминал. Произвольные значения передаются нормально.
Когда pinMode(analogInPin, INPUT)
А0 в воздухе -
Now sending 12 as payload. Round-trip delay: 608 microseconds sensorValue = 1023
А0 на GND -
Для отладки результат вывожу по радиоканалу на другой модуль.
Вы ещё почтой России в Зимбабве его пошлите. Выведите СРАЗУ после чтения с порта результат в Serial - и посмотрите, что там.
Как проще всего это сделать для Pro Mini ?
В наличии Pro Mini, Nano, NRF24 2 шт.
Как проще всего это сделать для Pro Mini ?
В наличии Pro Mini, Nano, NRF24 2 шт.
USB-TTL-конвертер в помощь, и в любой терминалке смотреть, хоть в том же мониторе порта в Arduino IDE.
Вот ещё, на всякий: https://electronics.stackexchange.com/questions/70769/arduino-incorrect-readings-from-analog-pin
Убрав radio.setPayloadSize(1) все работает нормально. Спасибо всем кто откликнулся.
Убрав radio.setPayloadSize(1) все работает нормально. Спасибо всем кто откликнулся.
надеюсь. вы понимаете, в чем причина? или обьяснить?
Один байт пересылался? Ну, вот блин, Вам вчера говорили, что Вы не показала как Вы это принимаете :(
Секретничайте дальше.
Ну, вот блин, Вам вчера говорили, что Вы не показала как Вы это принимаете :(
Секретничайте дальше.
Код универсальный для приемника и передатчика, конфигурируется через терминал.
надеюсь. вы понимаете, в чем причина? или обьяснить?
Я честно не понимаю, как при INPUT_PULLUP я получал 1023 при сухом А0, и не получал 0 при GND на А0.
Я честно не понимаю, как при INPUT_PULLUP я получал 1023 при сухом А0, и не получал 0 при GND на А0.
А после удаления radio.setPayloadSize(1) какие данные получаете?
Я честно не понимаю, как при INPUT_PULLUP я получал 1023 при сухом А0, и не получал 0 при GND на А0.
Да всё вы правильно получали, вам говорили - выводить сразу после чтения в Serial, и не парить людам моск надуманными проблемами.