- Контакты GPIO:
- Необходимые компоненты:
- Принципиальная электрическая схема:
- Объяснение работы и программирования:
Raspberry Pi - это плата на базе процессора с архитектурой ARM, разработанная для инженеров-электронщиков и любителей. PI сейчас является одной из самых надежных платформ для разработки проектов. Благодаря более высокой скорости процессора и 1 ГБ оперативной памяти PI может использоваться для многих крупных проектов, таких как обработка изображений и Интернет вещей.
Для выполнения любого из громких проектов необходимо понимать основные функции PI. В этих уроках мы рассмотрим все основные функции Raspberry Pi. В каждом туториале мы обсудим одну из функций PI. К концу этой серии руководств по Raspberry Pi вы сможете самостоятельно выполнять громкие проекты. Пройдите следующие руководства:
- Начало работы с Raspberry Pi
- Конфигурация Raspberry Pi
- Светодиод мигает
- Интерфейс кнопок Raspberry Pi
- Поколение Raspberry Pi PWM
- Управление двигателем постоянного тока с помощью Raspberry Pi
- Управление шаговым двигателем с Raspberry Pi
- Взаимодействие с регистром сдвига с Raspberry Pi
В этом руководстве мы подключим емкостную сенсорную панель к Raspberry Pi. Емкостная сенсорная панель имеет 8 клавиш от 1 до 8. Эти клавиши не совсем клавиши, это сенсорные прокладки, размещенные на печатной плате. Когда мы касаемся одной из контактных площадок, контактные площадки испытывают изменение емкости на ее поверхности. Это изменение фиксируется блоком управления, и блок управления в ответ подтягивает соответствующий штифт к высокому уровню на выходной стороне.
Мы прикрепим этот емкостный сенсорный модуль сенсорной панели к Raspberry Pi, чтобы использовать его в качестве устройства ввода для PI.
Мы немного поговорим о выводах Raspberry Pi GPIO, прежде чем двигаться дальше.
Контакты GPIO:
Как показано на рисунке выше, для PI имеется 40 выходных контактов. Но если вы посмотрите на второй рисунок ниже, вы увидите, что не все 40 контактов можно запрограммировать для нашего использования. Это всего 26 контактов GPIO, которые можно запрограммировать. Эти контакты идут от GPIO2 к GPIO27.
Эти 26 контактов GPIO могут быть запрограммированы в соответствии с потребностями. Некоторые из этих контактов также выполняют некоторые специальные функции, о которых мы поговорим позже. Если отложить специальный GPIO, у нас остается 17 GPIO (светло-зеленый цвет).
Каждый из этих 17 контактов GPIO может выдавать максимальный ток 15 мА. И сумма токов со всех GPIO не может превышать 50 мА. Таким образом, мы можем потреблять максимум 3 мА в среднем с каждого из этих контактов GPIO. Так что не следует вмешиваться в эти вещи, если вы не знаете, что делаете.
Теперь еще одна важная вещь здесь заключается в том, что логическое управление PI составляет + 3,3 В, поэтому вы не можете подавать логику более + 3,3 В на вывод GPIO PI. Если вы подадите +5 В на любой вывод GPIO PI, плата будет повреждена. Поэтому нам нужно запитать емкостную сенсорную панель от + 3,3 В, чтобы получить правильные логические выходы для PI.
Необходимые компоненты:
Здесь мы используем Raspberry Pi 2 Model B с Raspbian Jessie OS. Все основные требования к оборудованию и программному обеспечению обсуждаются ранее, вы можете найти их во введении Raspberry Pi, кроме того, что нам нужно:
- Соединительные штифты
- Емкостная сенсорная панель
Принципиальная электрическая схема:
Подключения, которые выполняются для интерфейса емкостной сенсорной панели, показаны на принципиальной схеме выше.
Объяснение работы и программирования:
Как только все будет подключено в соответствии с принципиальной схемой, мы можем включить PI, чтобы написать программу в PYHTON.
Мы поговорим о нескольких командах, которые мы собираемся использовать в программе PYHTON, Мы собираемся импортировать файл GPIO из библиотеки, функция ниже позволяет нам программировать контакты GPIO PI. Мы также переименовали «GPIO» в «IO», поэтому в программе всякий раз, когда мы хотим обратиться к контактам GPIO, мы будем использовать слово «IO».
импортировать RPi.GPIO как IO
Иногда, когда контакты GPIO, которые мы пытаемся использовать, могут выполнять другие функции. В этом случае мы будем получать предупреждения при выполнении программы. Команда ниже указывает PI игнорировать предупреждения и продолжить выполнение программы.
IO.setwarnings (Ложь)
Мы можем ссылаться на контакты GPIO PI, либо по номеру контакта на плате, либо по номеру их функции. Как и «PIN 29» на плате, это «GPIO5». Итак, мы говорим здесь, что будем обозначать булавку цифрой 29 или 5.
IO.setmode (IO.BCM)
Мы устанавливаем 8 контактов в качестве входных контактов. Мы обнаружим 8 ключевых выходов с емкостной сенсорной панели.
IO.setup (21, IO.IN) IO.setup (20, IO.IN) IO.setup (16, IO.IN) IO.setup (12, IO.IN) IO.setup (25, IO.IN) IO.setup (24, IO.IN) IO.setup (23, IO.IN) IO.setup (18, IO.IN)
Если условие в фигурных скобках истинно, инструкции внутри цикла будут выполнены один раз. Таким образом, если на выводе 21 GPIO будет высокий уровень, то операторы внутри цикла IF будут выполнены один раз. Если вывод 21 GPIO не переходит в высокий уровень, то операторы внутри цикла IF выполняться не будут.
если (IO.input (21) == True):
Команда ниже используется как бесконечный цикл, с этой командой операторы внутри этого цикла будут выполняться непрерывно.
Пока 1:
Как только мы напишем приведенную ниже программу в PYTHON и выполним ее, мы готовы к работе. При прикосновении к контактной площадке модуль подтягивает соответствующий штифт, и этот триггер обнаруживается PI. После обнаружения ИП печатает соответствующий ключ на экране.
Следовательно, у нас есть интерфейс с емкостной сенсорной панелью для PI.