Raspberry Pi:Примеры/Подключение кнопки

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Проверка/Оформление/Редактирование: Мякишев Е.А.



Подключение кнопки

Данный пример демонстрирует подключение кнопки, при нажатии на которую, выводится сообщение.

При нажатии кнопки 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 с шиной заземления.

Необходимое оборудование

Схема

Будьте осторожны при обращении с портами 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)

См.также

Внешние ссылки