| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| ru:examples:digi:switch [2010/09/25 14:16] – eduardtlmk | ru:examples:digi:switch [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
|---|
| [{{ :examples:digi:switch:switch_input_pull-up.png?200|Схема подключения переключателя с //pull-up// резистром}}] | [{{ :examples:digi:switch:switch_input_pull-up.png?200|Схема подключения переключателя с //pull-up// резистром}}] |
| |
| Простые двух контактные переключатели с //pull-up// или //pull-down// резисторами можно использовать в качестве датчиков так, чтобы переключатель соединял вход с одним потенциалом, а резистор с другим. Обычно в микроконтроллерах встроена возможность использования //pull-up// или //pull-down// down резистора, вследствие чего не нужно в схему отдельно добавлять сопротивление. К примеру, в микроконтроллерах AVR у IO выводов имеются 20 – 50 килоом //pull-up// резистры. | Простые двух контактные переключатели с //pull-up// или //pull-down// резисторами можно использовать в качестве датчиков так, чтобы переключатель соединял вход с одним потенциалом, а резистор с другим. \\ Обычно в микроконтроллерах встроена возможность использования //pull-up// или //pull-down// down резистора, вследствие чего не нужно в схему отдельно добавлять сопротивление. К примеру, в микроконтроллерах AVR у IO выводов имеются 20 – 50 килоом //pull-up// резистры. |
| |
| Следует отметить, что механические переключатели имеют еще одну проблему - дребезг контактов. Это приводит к тому, что в момент переключения происходит множество кратковременных пере-ключений. Эта тема рассмотрена в следующей главе. Проблема дребезга контактов практически не влияет на примеры этой главы. | Следует отметить, что механические переключатели имеют еще одну проблему - дребезг контактов. Это приводит к тому, что в момент переключения происходит множество кратковременных пере-ключений. Эта тема рассмотрена в следующей главе. Проблема дребезга контактов практически не влияет на примеры этой главы. |
| Пример кода использования кнопок основан на библиотеке выводов Домашней Лаборатории, что представлено в примере светодиодов. | Пример кода использования кнопок основан на библиотеке выводов Домашней Лаборатории, что представлено в примере светодиодов. |
| |
| ~~PB~~ | <pagebreak> |
| |
| <code c> | <code c> |
| // | // |
| // Программа для тестирования кнопок модуля «Дигитальные входы-выходы» Домашней Лаборатории | // Программа для тестирования кнопок модуля «Дигитальные входы-выходы» |
| // | // Домашней Лаборатории |
| // | // |
| #include <homelab/pin.h> | #include <homelab/pin.h> |
| while (true) | while (true) |
| { | { |
| // Каждой кнопке соответсвует один LED, который загорается при нажатии на кнопку. | // Каждой кнопке соответсвует один LED, который загорается |
| | //при нажатии на кнопку. |
| for (i = 0; i < 3; i++) | for (i = 0; i < 3; i++) |
| { | { |