Работа с GPIO

Тема в разделе "Raspberry Pi", создана пользователем Faberge, 10 дек 2017.

  1. Faberge

    Faberge Administrator Администратор

    Не могу понять, что не так делаю:

    1) Открываю на RPi А+ интерпретатор Питона3
    2) Ввожу следующие команды:
    Код (C++):

    import RPi.GPIO as GPIO
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(18, GPIO.OUT)
    GPIO.output(18, GPIO.HIGH)
    3) По идее в этот момент должен загореться светодиод, подключенный к 11 пину (GPIO18) через резистор (на землю). Но ничего не происходит.
    4) При этом указать в скетче GPIO17 почему-то нельзя, выдает ошибку.

    Что я делаю не так, подскажите.
     
  2. Igor68

    Igor68 Гуру

  3. Faberge

    Faberge Administrator Администратор

    Спасибо, попробовал способ через
    Код (C++):
    echo 1 > /sys/class/gpio/gpio17/value
    на GPIO17, все работает, светодиод горит и выключается. А с Питоном по-прежнему проблема, не работает. В чем причина, никак не пойму.
     
  4. Salomatin

    Salomatin Гик

    А так?
    Подробнее Управляем светодиодом

    Код (Python):
    [code=python]#! /usr/bin/env python
    # coding: utf-8

    import RPi.GPIO as GPIO
    import time, os

    GPIO.setmode(GPIO.BCM)
    GPIO.setwarnings(False)
    GPIO.setup(17, GPIO.OUT)

    while True :
    GPIO.output(17,True),
    time.sleep(0.5)
    GPIO.output(17,False),
    time.sleep(1)
    [/code]
     
  5. Faberge

    Faberge Administrator Администратор

    Спасибо, дело было в строке

    Код (Python):
    GPIO.setmode(GPIO.BOARD)
    Надо было

    Код (Python):
    GPIO.setmode(GPIO.BCM)
    Теперь все работает
     
  6. a91234

    a91234 Нерд

    GPIO.setmode(GPIO.BOARD) #Pin
    GPIO.setmode(GPIO.BCM) #GPIO

    Если BOARD(Pin)-18, то BCM(GPIO)-24. Скачайте файлик с распиновкой и соответствие PIN и GPIO.
     
    Securbond нравится это.