#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
.
Смотрите пример здесь.