Как включить встроенные pullup резисторы на Arduino UNO?
- Войдите на сайт для отправки комментариев
Сб, 10/12/2011 - 22:42
Привет всем!
В документации по Arduino UNO прочитал:
Каждый из 14 цифровых выводов Uno может настроен как вход или выход, используя функции pinMode(), digitalWrite(), и digitalRead(), . Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (по умолчанию отключен) 20-50 кОм и может пропускать до 40 мА.
Подскажите пожалуйста, как можно их включить?
pinMode(pin, INPUT);
digitalWrite(pin, 1);
если не ошибаюсь, так.
а вообще вот статья: arduino.ru/Tutorial/DigitalPins
Спасибо, прочитал.
Хочу спросить:
У меня к МК подключена клавиатура 4х4 кнопки.
Достаточно ли на портах к которым она подключена включить таким способом подтягивающие резисторы или
все таки надо ставить внешние?
И возможно ли включение встроенного подтягивающего резистора на ноге которая работает как выход?
Простите мне мои глупые вопросы, я пока новичок и очень боюсь спалить единственную ардуину, которая шла ко мне целый месяц из Китая :))
все будет работать, ничего не спалите. Я так пользую клавиатуру.
Хочу спросить:
У меня к МК подключена клавиатура 4х4 кнопки.
Достаточно ли на портах к которым она подключена включить таким способом подтягивающие резисторы или
все таки надо ставить внешние?
Сильно зависит от кострукции клавиатуры. Вполне возможны варианты, когда она вообще не к цифровым входам подключается, а к аналоговым. Простейший пример - "LCD Shield For Arduino" от dfrobot.
1. Клавиатура пленочная графитовая, подключена к цифровым входам которые замыкаются между собой.
Например замыкаем выводы ответственные за 1 ряд и 1 столбец это цифра 1, 2 ряд и 1 столбец это цифра 4 и т.д.
Вот по этому принципу.
2. Возможно ли включение встроенного подтягивающего резистора на ноге которая работает как выход?
роенного подтягивающего резистора на ноге которая работает как выход?
так там и включается. Диджиталврайт хай на выходы, кнопки замыкать на гнд.
Это включит pullup резистор для входа:
pinMode(pin, INPUT);
digitalWrite(pin, 1);
А это включит pullup резистор для выхода:
pinMode(pin, OUTPUT);
digitalWrite(pin, 1);
я совсем запутался,
а как тогда просто установить на выходе высокий уровень не включая подтягивающий резистор??
например чтобы зажечь светодиод с внешним подтягивающим резистором.
А зачем светодиоду подтягивающий резистор? Может, ограничивающий? Я думал что в режиме OUTPUT нет понятий подтягивающих резисторов. В режиме INPUT он включается автоматом при высоком уровне, ибо зачем он нужен при низком я пока не понимаю.
А зачем светодиоду подтягивающий резистор? Может, ограничивающий? Я думал что в режиме OUTPUT нет понятий подтягивающих резисторов. В режиме INPUT он включается автоматом при высоком уровне, ибо зачем он нужен при низком я пока не понимаю.
Вот теперь все понятно :)
Просто не владею терминологией.
Лучше не поленится и в схеме предусмотреть реальный подтягивающий резистор. Вот в NodeMCU я понадеялся на описание языка ардуино и получил немножко гемороя при отлаживании - в них такой штуки нет, а среда спокойно схавала команды и на входе то может быть HIGH, то LOW после нажатия кнопки на землю, всегда LOW, а перед этим загадочная неопределенность :)
Лучше не поленится и в схеме предусмотреть реальный подтягивающий резистор. Вот в NodeMCU я понадеялся на описание языка ардуино и получил немножко гемороя при отлаживании - в них такой штуки нет, а среда спокойно схавала команды и на входе то может быть HIGH, то LOW после нажатия кнопки на землю, всегда LOW, а перед этим загадочная неопределенность :)
Некрофил детектед.
Тема 10лет спала.