| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| ru:examples:digi:switch [2010/09/25 14:07] – eduardtlmk | ru:examples:digi:switch [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
|---|
| С помощью переключателей можно напрямую питать электрические цепи, но так же, их можно использовать в качестве датчиков. Переключатели в функции датчиков одна из тем этого упражнения, поэтому здесь не рассматриваются специфические переключатели высоких напряжений и больших токов. Переключатели отличаются количеством контактов и методами их подключений. Существуют переключатели с двумя контактами, а так же двойные выключатели, где соединяются пары контактов. Есть кнопочные-, клавишные- и движковые переключатели, а также переключатели при нажатие на которые электрическая цепь не замыкается, а размыкается. | С помощью переключателей можно напрямую питать электрические цепи, но так же, их можно использовать в качестве датчиков. Переключатели в функции датчиков одна из тем этого упражнения, поэтому здесь не рассматриваются специфические переключатели высоких напряжений и больших токов. Переключатели отличаются количеством контактов и методами их подключений. Существуют переключатели с двумя контактами, а так же двойные выключатели, где соединяются пары контактов. Есть кнопочные-, клавишные- и движковые переключатели, а также переключатели при нажатие на которые электрическая цепь не замыкается, а размыкается. |
| |
| У различных видов переключателей разное схематическое обозначение. Далее приведены переключатели, используемые в типичных электросхемах и их электрические обозначения: | У различных видов переключателей разное схематическое обозначение. Далее приведены переключатели, используемые в типичных электросхемах и их электри - \\ |
| | ческие обозначения: |
| |
| ^ Кнопочный переключатель ^ Тумблерный переключатель ^ Клавишный переключатель ^ Микро-переключатель ^ DIL-переколючатель ^ | ^ Кнопочный переключатель ^ Тумблерный переключатель ^ Клавишный переключатель ^ Микро-переключатель ^ DIL-переключатель ^ |
| |{{:examples:digi:switch:switch_pushbutton.jpg?100|}} | {{:examples:digi:switch:switch_tumbler.jpg?100|}} | {{:examples:digi:switch:switch_rocker.jpg?100|}} | {{:examples:digi:switch:switch_micro.jpg?100|}} | {{:examples:digi:switch:switch_dil.jpg?100|}} | | |{{:examples:digi:switch:switch_pushbutton.jpg?100|}} | {{:examples:digi:switch:switch_tumbler.jpg?100|}} | {{:examples:digi:switch:switch_rocker.jpg?100|}} | {{:examples:digi:switch:switch_micro.jpg?100|}} | {{:examples:digi:switch:switch_dil.jpg?100|}} | |
| | {{:examples:digi:switch:switch_sch_dpst.png?100|}} | {{:examples:digi:switch:switch_sch_spdt.png?100|}} | {{:examples:digi:switch:switch_sch_spdt.png?100|}} | {{:examples:digi:switch:switch_sch_spdt.png?100|}} | {{:examples:digi:switch:switch_sch_2_spst.png?100|}} | | | {{:examples:digi:switch:switch_sch_dpst.png?100|}} | {{:examples:digi:switch:switch_sch_spdt.png?100|}} | {{:examples:digi:switch:switch_sch_spdt.png?100|}} | {{:examples:digi:switch:switch_sch_spdt.png?100|}} | {{:examples:digi:switch:switch_sch_2_spst.png?100|}} | |
| [{{ :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++) |
| { | { |