РЕШЕНО Малина №7 (задание)

Тема в разделе "Raspberry Pi", создана пользователем Kryastusha, 21 июн 2020.

  1. Kryastusha

    Kryastusha Нуб

    Помогите, пожалуйста выполнить задание!
    Звучит так: Пусть каждый светодиод в панели управления светится вполсилы. Используй ШИМ.
    Вот мой код, но яркость не меняется. Как была яркая, так и осталась.

    Код (Python):
    import RPi.GPIO as GPIO
    def isPressed(btn, led):
        if (GPIO.input(btn) == False):
            GPIO.output(led, GPIO.HIGH)
        else:
            GPIO.output(led, GPIO.LOW)
    button1 = 3
    button2 = 4

    GPIO.setmode(GPIO.BCM)
    GPIO.setup(button1, GPIO.IN)
    GPIO.setup(button2, GPIO.IN)
    GPIO.setup(13, GPIO.OUT)
    GPIO.setup(19, GPIO.OUT)
    pwm1 = GPIO.PWM(13, 1000)
    pwm2 = GPIO.PWM(19, 1000)
    pwm1.start(50)
    pwm2.start(50)
    try:
        while True:
            isPressed(button1, 13)
            isPressed(button2, 19)
           
    except KeyboardInterrupt:
        print('The program was stopped by keyboard.')
    finally:
        GPIO.cleanup()
        print('GPIO cleanup completed.')
     
    Заранее спасибо!
     
  2. NikitOS

    NikitOS Король шутов Администратор

    Данный код выполняется всегда:
    Смотрим код функции:
    Видим, что если кнопка не нажата, на пин подается высокий сигнал.

    Получается, что этот код не будет выполняться так, как мы хотим:
    На светодиоде всегда будет высокий сигнал, поэтому заставить светодиод светиться в полсилы не выйдет.

    Решение: перенести это:
    Сюда:
     
    bugmenot и Kryastusha нравится это.