Неполадки с напряжением на входах.
- Войдите на сайт для отправки комментариев
Пт, 23/02/2018 - 18:57
Доброго времени суток!
На цифровом входе D13 при работе в INPUT имеется собственное напряжение примерно в 1В. Раньше такого не было, и пока не могу понять, где я прокололся. Где-то коротит?
Код:
void setup() { pinMode(A5, INPUT); pinMode(12, INPUT); pinMode(13, INPUT); Serial.begin(9600); } void loop() { boolean a5 = digitalRead(A5); boolean d12 = digitalRead(12); boolean d13 = digitalRead(13); Serial.print("Analog 5: ");Serial.print(a5); Serial.print(", Digital 12: ");Serial.print(d12); Serial.print(", Digital 13: ");Serial.println(d13); }
Железо: UNO(не битая, не крашенная), питание от USB примерно 4.9В.
Уровень знаний: постигаю азы вместе с видео от Alex Gyver. (уровень знаний =1%)
Заранее благодарен.
Забыл упомянуть. 12 и А5 так же переодически выдают напряжение при механическом воздействии на плату (кручение в руках).
Забыл упомянуть. 12 и А5 так же переодически выдают напряжение при механическом воздействии на плату (кручение в руках).
Потому что это входы с высоким сопротивлением,
а "напряжение" туда вы подаёте сами, собственноручно.
То есть руками, а точнее пальцами рук.
Исключил касание контактов руками. Протер плату спиртом, дабы исключить замыкание чем-либо. Результат 13 все равно имеет "свое напряжение". А5 и 12 в норме. Индикатор 13 горит постоянно.
Даааааааааа...........
Я чего-то не знаю о D13?
К слову, когда я втыкаю джампер в А5, напряжение вольтметр показывает 2.38, а выход выдает переменно 1 и 0. От джампера... Который никуда не подключен. Просто один конец воткнут в А5.
Прочитать про аналоговые входа - не? Они у тебя ловят помехи из эфира, когда твой конец воткнут в А5. И когда не воткнут - тоже ловят помехи из эфира - это штатное поведение.
Но ты с концом всё-таки поаккуратней, не тыкай куда попало :)
Прочитать про аналоговые входа - не? Они у тебя ловят помехи из эфира, когда твой конец воткнут в А5. И когда не воткнут - тоже ловят помехи из эфира - это штатное поведение.
Но ты с концом всё-таки поаккуратней, не тыкай куда попало :)
Спасибо! Теперь понятнее. Однако, сейчас сижу тыкаю концом туда сюда и обратил внимание, что D12 ведет себя как аналоговый. То есть я подал напряжение на вход, убрал напряжение... А сигнал не пропал. Он выдает 1, несмотря на то, что я убрал 5В. Через секунды 3 он выдает 0. И так же, как и А5 выдает "помехи" при подключенном одним концом джампере.
Кроме того, проблема D13 не решена. Он "видит" сигнал, даже когда ничего не подключено. В обучающих видео
1) Сигнал на цифровом пропадает сразу, как одняли 5В
2) D13 ведет себя спокойно: накинули 5В - лампочка зажглась, сняли - потухла. А тут... В прошлый раз, когда игрался все норм было. Входы вели себя как надо. А сейчас. Лежала в коробке. Никто не трогал. Сдохла?
Не стесняйся - тыкай по всякому, ардуины нынче дёшевы, купишь ещё пяток :) Ты чего хочешь-то добиться? Пожечь порты? Ну так вероятно ты с одним из них так уже сделал. Не мучай железку глупыми экспериментами.
Не стесняйся - тыкай по всякому, ардуины нынче дёшевы, купишь ещё пяток :) Ты чего хочешь-то добиться? Пожечь порты? Ну так вероятно ты с одним из них так уже сделал. Не мучай железку глупыми экспериментами.
Исключено. Делаю все исключительно по видео. Кроме того в прошлом - инженер ракетостроитель, ныне системный администратор. Тыкать чем попало куда попало вера не велит.
"Тыркайте" так:
Короткое замыкание на землю - это ноль.
Короткое замыкание на 5 Вольт - это единица.
Это то как раз и понятно как на раз-два, что есть 1 и 0, откуда они берутся и что означают.
Не понятно откуда на D13 появляется напряжение, хотя этот пин INPUT. Работал с Ардуинкой примерно 2 недели назад. Тот же скетч. Все идеально. Сейчас же...
Причем "игрался" в вопрос-ответ - все нормально. Если с аналоговым все понятно, что он помехи ловит, аки антенна, то почему цифровой ведет себя так. Может Дмитрий прав, и я спалил эти входы ненароком. Попробую переназначить на другие.
RocketFour, вам пытаются намекнуть что ненормально опрашивать пин висящий в высокомпендансном состоянии и никуда не подключенный. Либо включите его к чему-нибудь, либо притяните к плюсу или минусу. Особенность 13 пина из-за паразитной ёмкости разводки печатки, от него и к ISP разъёму дорожка идёт, и к ОУ.
RocketFour, щаз обясню, всё сразу поймёте. )
Попробуйте подумать, почему Вас беспокоит то что на D13 единица, но не беспокоит то что на D12 - ноль?
Разницы ведь никакой - ни туда ни сюда Вы ничего не подавали - ни нулей, ни единиц.
Имею:
А2 - ведет себя в целом как аналоговый. Проблем нет. Напряжение в режиме INPUT 0.8В
D8 и D9 - ведут себя неправильно. При подключении джампера одним концом выдают примерно следующее: 000111000111000111...
Спишем на "помехи помехуют". Дальше. Подключаю к ним 5В, даю высокий сигнал. Оба выдают 1 - есть сигнал. Дальше 2 варианта:
1) снимаю джампер со стороны 5В - сигнал имеет вид: 00110100011100111... Вроде как помехи ловит.
2) снимаю джампер со стороны самого входа. Монитор порта выдает еще в течении 2-3 секунд, что сигнал на порт 8 или 9 поступает. Как так? Может ли быть вывод на экран компьютера, как бы правильнее сказать, "медленным"? То есть не отражать текущее состояние ардуинки и в частности порта? Напряжение в "покое" 0.8В. Напряжение замерял между портом и GND.
Порт 13 все так же в состоянии INPUT светит индикатором и выдает напряжение в 0.8В (В видео от Alex Gyver'а диод зажигался только в случае подачи сигнала на порт, сам по себе не светился)
З.Ы. Ребят, убедительная просьба опустить троллинг. Мне слишком дохрена лет, чтобы я мог на него эмоционировать. Давайте лучше по существу. У меня остается всего два выходных дня, чтобы хоть как-то продвинуться в понимании Ардуинки. Я и сам "петросян" еще тот, но не время, и не место. Я просто пытаюсь понять как это работает. Курсов по Ардуино нет, есть только гайды на YouTube и этот чат. Спасибо.
А не сидит ли у вас на 13 пине какой-нибудь светодиод? ;)
А отчего он питается и загорается?
Благодарю. Вот это поясняет многое. Теперь понимаю, что уроки на Youtube имеют "погрешности", ибо делаю все на 100% так, как "в учебнике".
RocketFour, щаз обясню, всё сразу поймёте. )
Попробуйте подумать, почему Вас беспокоит то что на D13 единица, но не беспокоит то что на D12 - ноль?
Разницы ведь никакой - ни туда ни сюда Вы ничего не подавали - ни нулей, ни единиц.
Между любым входом/выходом и GND 0.8В. Даже на тех, кто не участвует в нашем "шоу"!
Только тот, что на самой плате обретается.)
Собственно, тот материал, по которому учусь: https://www.youtube.com/watch?v=3UwgMAdV4xQ
Я не могу судить о том, насколько он эффективный.
Кстати, подтянул D13 к земле через резистор. Все заработало как надо. :)
Одного не пойму, почему в видео к цифровым портам подключаются без всяких проблем, и на них в состоянии "покоя" и логический и фактический ноль, а у меня 0.8В. Понятное дело, когда мы хотим использовать аналоговый как цифровой, отсекаем "шум" резистором. Но цифровой... Мало информации. Будем искать.
На цифровом порту нулём считается всё что ниже половины питания и соответственно единицей всё что выше. Почти все входы цифровые при старте контроллера. Аналоговыми они становятся после программной инициализации. Мы не отсекаем шум резистором, а подтягиваем к необходимому уровню. В нормальной схеме на вход всегда что то подают и наводки в принципе быть не может.
На цифровом порту нулём считается всё что ниже половины питания и соответственно единицей всё что выше. Почти все входы цифровые при старте контроллера. Аналоговыми они становятся после программной инициализации. Мы не отсекаем шум резистором, а подтягиваем к необходимому уровню. В нормальной схеме на вход всегда что то подают и наводки в принципе быть не может.
Я лишь описываю то, что имею по факту. Прямо сейчас передо мной лежит Arduino UNO. Запитана от компа. Введен следующий код:
Запускаю монитор порта:
Analog 2: 0, Digital 8: 0, Digital 13: 1
Analog 2: 0, Digital 8: 0, Digital 13: 1
Analog 2: 0, Digital 8: 0, Digital 13: 1
Светодиод 13го порта горит.
Откуда на нем напряжение, если по видео, и по логике вещей он должен быть выключенным и включаться только тогда, когда я подведу ему 5В.
Пытаюсь замерить напряжение вольтметром - 0.8В. Причем когда касаюсь вольтметром контактов становится:
Analog 2: 0, Digital 8: 0, Digital 13: 0
Analog 2: 0, Digital 8: 0, Digital 13: 1
Analog 2: 0, Digital 8: 0, Digital 13: 0
и светодиод горит очень тускло.
Откуда вообще на всех пинах сидит 0.8В в состоянии покоя? Я что-то спалил?
Входное сопротивление несколько мегаОм. На таком сопротивлении можно померить уровень сигнала соседней радиостанции, но ни как не потенциал входа.
Отрежте дорожку идущую к диоду от процессора. Если светится - процессор не при чём. Скорее всего где то дорожки на плате замкнуты.
Включаю стандартный скетч blink. n-секунд диод 13го пина горит, и столько же нет. ЗАмер напряжения дает в момент сигнала HIGH - 5В, а LOW - 0. Ровный, круглый нолик. В то же время на 12ом пине (и на всех остальных) сидит 0.4-0.8В. Просто так. Без каких-либо команд. Это при работе OUTPUT естественно. При работе в INPUT напряжение сидит всегда( Простите, но я незнаю, что происходит(
Включаю стандартный скетч blink. n-секунд диод 13го пина горит, и столько же нет. ЗАмер напряжения дает в момент сигнала HIGH - 5В, а LOW - 0. Ровный, круглый нолик. В то же время на 12ом пине (и на всех остальных) сидит 0.4-0.8В. Просто так. Без каких-либо команд. Это при работе OUTPUT естественно. При работе в INPUT напряжение сидит всегда( Простите, но я незнаю, что происходит(
Ну так когда пин сконфигурирован в OUTPUT, то именно он и задает напряжение.
А когда в INPUT - задавать напряжение некому, вот оно и скачет, как ему вздумается.
Спасибо! Все же сжег беднягу наверное. Пока подтягиваю паразитное к GRD, а потом новую куплю и буду осторожнее.
Простой вопрос. Если резистором 10к подтянуть ногу на землю, то какое напряжение будет на входной ноге?
Простой вопрос. Если резистором 10к подтянуть ногу на землю, то какое напряжение будет на входной ноге?
Очевидно, что 0В относительно земли.
Если "входная нога" - это нога сконфигурированная на вход.
Это я прошу на "сгоревшем" чипе померить. Если будет 0 - то чип вполне себе жив.