Обява

Свий
Няма добавени обяви.

Raspberry Pi 3 - Въпроси и отговори

Свий
X
 
  • Филтър
  • Час
  • Покажи
Изчисти всичко
нови мнения

  • Raspberry Pi 3 - Въпроси и отговори

    Здравейте колеги!
    От година имам Raspberry Pi 2b и съвсем скоро го смених за 3ката
    Преди го ползвах да си хоствам една страница, но покрай коледа си взех от aliexpress доста копчета, сензорчета и други подобни.
    Към момента мъча една "Push buttons" платка (с 8 бутончета).
    Успях да "накарам" 2 от бутоните да изпълняват някакъв shell script , но до там.
    Python скрипта (ако може да се нарече такъв) е следния:
    Код:
    import RPi.GPIO as GPIOimport time
    #added
    import subprocess
    #
    GPIO.setmode(GPIO.BCM)
    
    
    GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
    GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP)
    GPIO.setup(15, GPIO.IN, pull_up_down=GPIO.PUD_UP)
    
    
    while True:
        input_state = GPIO.input(18)
        if input_state == False:
            subprocess.call(['/home/pi/vol_up.sh'])
            print('volume up')
            time.sleep(0.2)
    
    
    
    
       input_state = GPIO.input(17)
        if input_state == False:
            subprocess.call(['/home/pi/vol_dw.sh'])
            print('volume down')
            time.sleep(0.2)
    
    
            input_state = GPIO.input(15)
        if input_state == False:
            subprocess.call(['/home/pi/vol_dw.sh'])
            print('next station')
            time.sleep(0.2)
    Toyota RAV4 XA2 2.0 D4D 2004г. | Honda XRV 750 Africa Twin RD04 1992 г.
    Piaggio Vespa PK50S 1983 г. | Puch Maxi N 1982 г.
    Спортен Клуб Стрелба с Лък - Етър 78 В.Търново

  • #2
    От: Raspberry Pi 3 - Въпроси и отговори

    Ми на два бутона имаш еднакви функции!!

    input_state = GPIO.input(17)
    if input_state == False:
    subprocess.call(['/home/pi/vol_dw.sh'])
    print('volume down')
    time.sleep(0.2)


    input_state = GPIO.input(15)
    if input_state == False:
    subprocess.call(['/home/pi/vol_dw.sh']


    Не преписваш качествено!
    Мисли малко.
    Отделно изкарах 2 бири ...

    Последно редактирано от CarTest™; 24-01-17, 21:22.
    Кольо "Дупетата вървят и с мастика... "

    Ясен Супер Модератор: "Абе при мене как не увисва?" "хм, представих си Багера по бельо."

    Коментар


    • #3
      От: Raspberry Pi 3 - Въпроси и отговори

      Т'ва е питонски скрипт. Интервалите са важни, защото задасват началото и края на блоковете с код. Ако това по-горе е 1:1 с това което имаш пуснато на Raspberry Pi-то не виждам как ще работи. И премести тоя sleep на края и да е част от while цикъла, че така ако няма натиснат бутон ще товариш единият процесор на макс. Отделно, че не е най-удачният начин да четеп GPIO-то, ама и тъй ще работи.

      И скрипта ти е само за 3 бутона и както са ти казали по-горе - тоя на крак 15 и 17 правят едно и също - volume down. Т.е. имаш общо две функции - един бутон за volume up и два бутона за volume down.

      Коментар


      • #4
        От: Raspberry Pi 3 - Въпроси и отговори

        Проблема се оказаха наистина интервалите.
        Като цяло днес за пръв път се мъча да правя нещо с Python (не знам никакви програмни езици) .... уча за ландшафтен архитект

        И премести тоя sleep на края и да е част от while цикъла
        Това не го разбрах
        Toyota RAV4 XA2 2.0 D4D 2004г. | Honda XRV 750 Africa Twin RD04 1992 г.
        Piaggio Vespa PK50S 1983 г. | Puch Maxi N 1982 г.
        Спортен Клуб Стрелба с Лък - Етър 78 В.Търново

        Коментар


        • #5
          Re: От: Raspberry Pi 3 - Въпроси и отговори

          Първоначално публикуван от Faca Преглед на мнение
          Като цяло днес за пръв път се мъча да правя нещо с Python (не знам никакви програмни езици) .... уча за ландшафтен архитект
          Така няма да ти се получи, ще се наложи малко да прочетеш. Не само за конкретния език а като цяло за програмирането.

          Коментар


          • #6
            От: Raspberry Pi 3 - Въпроси и отговори

            Ясно, че трябва да чета. Но предпочитам да уча с конкретни примери.
            Снощи стигнах до 4 активни бутона (които изпълняват различни функции).
            Проблема остава с натоварването на процесора (благодаря на brum , че ме светна за него).
            Toyota RAV4 XA2 2.0 D4D 2004г. | Honda XRV 750 Africa Twin RD04 1992 г.
            Piaggio Vespa PK50S 1983 г. | Puch Maxi N 1982 г.
            Спортен Клуб Стрелба с Лък - Етър 78 В.Търново

            Коментар


            • #7
              От: Raspberry Pi 3 - Въпроси и отговори

              Мръдни sleep-на наляво за да застане на вертикалното ниво на if-овете.

              python-a е супер първи език за учене.

              Коментар

              Активност за темата

              Свий

              В момента има 1 потребители онлайн. 0 потребители и 1 гости.

              Най-много потребители онлайн 8,787 в 16:37 на 21-06-23.

              Зареждам...
              X