Как использовать библиотеку servoKit и контакты GPIO

#python #gpio #nvidia-jetson #nvidia-jetson-nano #adafruit-circuitpython

Вопрос:

Я боролся из-за библиотеки adafruit_servokit, которая мешала мне назначать пины. Когда я пытаюсь это сделать:

 from adafruit_servokit import ServoKit # Servo library that works with Jetson
import RPi.GPIO as GPIO                # Part of PWM DC motor control 
GPIO.setmode(GPIO.BOARD)               # Error here
 

Он возвращает ошибку, в которой говорится следующее:

 Traceback (most recent call last):
  File "brew.py", line 4, in <module>
    GPIO.setmode(GPIO.BOARD)
  File "/usr/lib/python3/dist-packages/Jetson/GPIO/gpio.py", line 317, in setmode
    raise ValueError("A different mode has already been set!")
ValueError: A different mode has already been set!
 

Мне просто нужен способ управлять своими сервоприводами и одновременно использовать контакты GPIO.

Я также открыт для покупки новых деталей.

Комментарии:

1. Согласно этому ответу raspberrypi.stackexchange.com/questions/12966/… режим установки определяет только то, как вам нужно установить номера используемого порта. Учитывая, что, похоже, ServoKit уже установил режим в режим BCM, не могли бы вы использовать этот режим в своем коде?

Ответ №1:

Оказывается, мне просто нужно было использовать digitalio: https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/digital-i-o