Какой порт GPIO я должен использовать?

#python #raspberry-pi

#python #raspberry-pi

Вопрос:

Я пытаюсь выполнить этот скрипт python на Raspberry pi, но я получаю сообщение об ошибке, относящееся к порту. Мой код

 import neopixel
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
pixels = neopixel.NeoPixel(GPIO.D5, n= 30)
pixels[1] = (255, 0, 0)
 

все это работает нормально, за исключением того, что я получаю сообщение об ошибке в библиотеке GPIO

 AttributeError: module 'RPi.GPIO' has no attribute 'D5'
 

D5 — это порт данных, который я использую. Это точно или я должен вместо этого использовать входное питание или землю? Должен ли я использовать для этого полностью другой порт?
TIA

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

1. Это не вопрос изменения номера порта. Этого конкретного атрибута нет в модуле GPIO. Вы можете обнаружить, что другие тоже нет. Посмотрите, какие атрибуты есть в GPIO, возможно, используя dir(GPIO) или читая исходный код.

Ответ №1:

GPIO не определяет имена контактов (вместо этого вы устанавливаете их напрямую, например GPIO.setup(5, GPIO.IN, pull_up_down=GPIO.PUD_UP) , etc.)

Вы, вероятно, имеете в виду board.D5 вместо этого.

Эта библиотека ( board ) является частью CircuitPython, такой же, как neopixel .

Смотрите пример здесь.