arduino nano v3 analoginput
- Войдите на сайт для отправки комментариев
Здравствуйте.
Следующий вопрос многим покажется нелепым, но все же. Возможно ли такое подключение или я уже спалил аналоговый вход? (извиняюсь если такое уже рассматривалось, пытался найти - не нашел, возможно плохо искал
Собственно началось все с того, что решил проверить пример с управлением "сервы".Серва двигалась как то странно, точнее вообще практически не двигалась - максимум на 0.5-1 градуса дергалась и все. Подключил LCD, чтоб посмотреть какое все же что там аналоговый вход выдает. А выдает что то около 300. крайние положения потенциометра отличаются маскимум на 10 единиц. Подключал на аналоговый вход GND - нуля на LCD не получал.
Потом еще немного почитал интернет... перед analogRead(); поставил analogReference(INTERNAL); (как советуют для ардуино нано) и подключил на GND - нуля опять не было.
Заранее спасибо.
дополню (возможно важно) atmega 328p
Fritzing был без arduino nano v3, поэтому на картинке версия 2.3
Ну той схемой что вы нарисовали - спалить не должны были.
Разве что, в процессе эксперементов, случайно включили порт на выход и крутанули потенциометр влево (или замкнули пин на 5v).
Ну и analogReference(INTERNAL) я бы не делал. Оно должно выставить опорное в 1.1v, а на пин вы можете подать до 5v
>одключил LCD, чтоб посмотреть какое все же что там аналоговый вход
А не проще было Serial.println сделать?
Вообщем отвключите вообще все (сервы, экраны, потенциометры и т.п.) залейте скетч
Откройте сериал, подсодените пину A6 проводок, а другим концом, попременно потыкайте в землю и пин 5v. В сериале должны чередоватся значения 0 (в землю) и 1023 (в 5v). Ну или близкие к ним.
Попробую предположить два варианта:
Первый, что у вас какой-то необычный потенциометр с узким диапазоном....
И второй, что вы греша на аналоговый вход решили не показывать на картинке, что к этим же 5 вольтам у вас подключена серва и как только вы поворачиваете потенциометр серва дергается, создает просадку напряжения и дуина перезагружается. Так что если все таки серва у вас подключена, то отключите ее и попробуйте сделать то, что вам посоветовал веше leshak.
to leshak: analogReference(INTERNAL) я писал уже от безисходности. Аналоговый порт "на выход" програмно не конфигуровал. использовал только analogRead(). Доберусь до ардуины - обязательно проверю предложенный Вами скетч. Спасибо.
to maksim: 1) потенциометр с норм диапазоном. проверялся вольтметром. 2) что греха таить. именно серва подключалась к тем же 5 вольтам, что и потенциометр. но ардуина даже не думал перезагружаться. после неудачных экспериментов с сервой к тем же 5 вольтам подключался и LCD, а серва отключалась. Спасибо за ответ. попробую.
Еще про "сопособ спалить"
Вот тут Аналоговый Ввод/Вывод нашел такое:
По умолчанию во всех реализациях Arduino ничего не покдлючаено к AREF (ATmega вывод 21) В этом случае установка DEFAULT для analogReference подключает вывод AREF к AVCC. Это дает низкое сопротивление подключения. Поэтому, ошибочное внешнее подключение AVCC к выводу AREF при установке DEFAULT могут быть опасными для чипа ATMEGA.
Но arduino.cc/arduino.ru я что-то не нашел подобных предупреждений
Вопросы к знатокам железа:
проверил предложенный скетч..
результат:
415
381
359
343
331
322
316
.
.
295
297
296
может у меня изначально такая лабуда с портами была?
вот этим руководствовался когда первый раз экспериментировал с аналоговым входом.
А потенциометр у вас какого номинала?
Или вы пробованли без потенциометра? Проводком проверяли?
Тогда берете мультиметр и измеряете напряжение между AVCC и GND, это 18 нога, там должно быть 5 вольт. Может быть и такое, что где-то непропай и AVCC болтается в воздухе, так же может быть непропай самой 18 ноги и когда вы будете мерить на ней напряжение, то там может появляться 5 вольт из-за того, что вы нажимаете щупом мультиметра на ногу МК... в общем внимательно осматрите 18 ногу, а лучше, если умеете паять, просто пропаяйте.
проверил предложенный скетч..
Проверили его с потенциометром или "тыкая проводок". Если "потенциометром" - попробуйте проводком. Если пробовали проводком - случайте советов Максима :)
Можете еще попробовать с другими портами. A0,A1 и т.п. (естественно поменяв номер пина в скетче).
А "ишо" можно попробовать его проверить как цифровой порт. Поменяйте analogRead(6) на, digitalRead(A6). Подергайте проводком и посмотрите будут-ли 0 и 1 четко менятся.
>может у меня изначально такая лабуда с портами была?
Лето, жарко, - ясновидящие в отпуске :)
тыкал проводком на землю) сейчас буду тыкать как дискретный вход.
Спасибо, Maksim. сделаю.
вышло так что на схеме ардуино нано в3 AVCC изначально "болтается" в воздухе (никуда не идет). Долго тыкая (AVCC-GND) китайским мультиметром, я таки нашупал 5в там).
Так же делал из этого входа дискретный. подключал ПОРТ на 5в. а в ответ - 0. (примечание: без подтягивающего резистора пока пробовал. без него опыт не удался?)
На схеме то как раз AVCC подключен к +5 вольт. И еще раз подробнее опишите, что делали, что куда подключали.... ?
корявые руки у меня были подключены)) все норм. просто ардуино нано эта.. надо было полностью пропоять все ножки (заленился) в гребенку)
Спасибо, что помогали.