+2 голосов
Уважаемые господа объясните пожалуйста как работает скрипт: Я так понимаю, что по команде от кнопок, он должен зажигать светодиоды. Скажите мне пожалуйста, какие кнопки нажимать и как это работает в коде. Спасибо

import RPi.GPIO as GPIO

    def isPressed(btn, led):

 state = 1 - GPIO.input(btn)

GPIO.output(led, state)    

 leds = [12, 13, 14, 18]

buttons = [2, 3, 4, 8]  

 GPIO.setmode(GPIO.BCM)

 for i in range(4):

GPIO.setup(leds[i], GPIO.OUT)

 GPIO.setup(buttons[i], GPIO.IN)

   try: while True: for i in range(4):

isPressed(buttons[i], leds[i])

 except KeyboardInterrupt:

 print('The program was stopped by keyboard.')

finally: GPIO.cleanup() print('GPIO cleanup completed.')
(49 баллов) 8 9
Питоновский текст без отступов прочитать невозможно.
Как определить эти кнопки которые работаю на пинах (какие кнопки нажимать). И где связь в коде которая определенной кнопке присваивает пин адресс ?(Только учусь, не судите строго и объясните поподробнее)

2 Ответы

+4 голосов
Кнопки на пинах 2, 3, 4 и 8 управляют светодиодами на пинах 12, 13, 14 и 18.

Если у Вас набор «Малина», то это те четыре кнопки на облачке.

Скрипт работает просто: в цикле опрашивается каждая из кнопок в массиве buttons, если кнопка нажата, то загорается соответствующий ей светодиод в массиве leds. Если нажата кнопка на клавиатуре — скрипт прекращает работу.
(1.6 тыс. баллов) 3 9 33
+2 голосов
(49 баллов) 8 9
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.

    За этот месяц ещё никого.

    ...