Raspberry Pi:Примеры/Подключение кнопки
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Подключение кнопки
Данный пример демонстрирует подключение кнопки, при нажатии на которую, выводится сообщение.
При нажатии кнопки 12-ый вывод GPIO(18-ый по нумерации BCM) подтягивается к земле(GND). При отпущенной же кнопке 12-ый вывод GPIO(18-ый по нумерации BCM) подтягивается к шине 3,3В, благодаря третьему параметру функции RPi.GPIO.setup():
GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
Каждый вывод GPIO Raspberry Pi имеет подтягивающие к шине питания и земле резисторы, которыми можно управлять программно. При установке вывода как входа, к нему можно подключить оба, один или ни одного подтягивающего резистора. Если при этом опустить третий параметр функции RPi.GPIO.setup(), внутренние подтягивающие резисторы не будут использованы, что приведет к "плавающему" потенциалу на входе(на входе будет периодически появляться сигнал высокого или низкого уровня).
Если третьему параметру функции присвоить значение RPi.GPIO.PUD_UP, то внутренний подтягивающий резистор будет соединен с шиной питания, а при значении RPi.GPIO.PUD_DOWN с шиной заземления.
Необходимое оборудование
- плата Raspberry Pi - 1шт.;
- кнопка - 1шт.;
- пара перемычек;
- макетная плата - 1шт.;
Схема
Будьте осторожны при обращении с портами GPIO вашего Raspberry Pi. Помните входы и выходы GPIO расссчитаны на напряжение +3,3В |
Несмотря на то,что у кнопки 4 вывода, как 2 левых так и 2 правых вывода соединены между собой.
Все манипуляции по подключению производите только при отключенном питании платы Raspberry Pi |
Код
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
while True:
input_state = GPIO.input(18)
if input_state == False:
print('Button Pressed')
time.sleep(0.2)