Как я могу использовать контакты GPIO в качестве цифровых выходов?

28

Я читал, что Raspberry Pi имеет несколько входных и выходных контактов.

  • Как я могу их поменять? (из питона?)
  • Какая логика напряжения?
  • Нужны ли подтягивающие или понижающие резисторы?
  • Нужно ли переключать контакты с входов на выходы?
  • Какие контакты доступны?
Алекс Л
источник
Ваш второй вопрос не ясен
Сохан Арафат

Ответы:

16

Выводы GPIO имеют напряжение 3,3 В, а максимальный ток составляет 16 мА. Это означает, что вы не сможете питать почти все напрямую. Вот почему вам нужно по крайней мере использовать транзисторный переключатель, если не более продвинутую схему защиты. Вы можете прочитать больше о них в RPi Tutorial EGHS: Схемы защиты GPIO .

Общее руководство - RPi Низкоуровневая периферия .

Гил
источник
3
Не могли бы вы расширить свой ответ? Я бы хотел видеть ответы на все вопросы и краткую информацию в приведенных ссылках. На данный момент информация о RTC неверна (RTC не имеет значения)
Alex L
11

Эти инструкции не относятся к Python, но могут помочь вам начать экспериментировать с GPIO. /raspberrypi//a/350/668 содержит информацию о библиотеке и использовании для Python.

Когда вы загрузили Raspberry Pi, используя рекомендуемый дистрибутив Debian, GPIO отключается. Вы должны включить каждый штифт индивидуально.

Если вы делаете это через / sys, вы найдете «Пути в Sysfs» интересными (поиск в https://www.kernel.org/doc/Documentation/gpio/sysfs.txt ). В частности, вы бы активировали пин-код, «экспортировав» его. Любые команды, представленные ниже, предполагают, что вы работаете с правами суперпользователя (sudo или иным) или изменили права доступа / владельца изменяемых виртуальных файлов.

echo 4 > /sys/class/gpio/export

Это активирует вывод 4 GPIO, который затем вызывает существование / sys / class / gpio / gpio4, который содержит несколько виртуальных файлов. Эти файлы включают в себя «direction», которое определяет, является ли это входной или выходной вывод, «value», которое доступно только для чтения для ввода или доступно для записи для вывода и содержит текущее значение, и другие.

echo out > /sys/class/gpio/gpio4/direction # set it as an output pin
echo 1 > /sys/class/gpio/gpio4/value # set the value to ON
echo 0 > /sys/class/gpio/gpio4/value # set the value to OFF
echo in > /sys/class/gpio/gpio4/direction # set it as input
cat /sys/class/gpio/gpio4/value # get the value
echo 4 > /sys/class/gpio/unexport # disables pin 4 and removes the gpio4 directory

Конечно, вы, вероятно, предпочтете использовать некоторую ранее существующую библиотеку для GPIO, поставляемого или совместимого с выбранным вами языком. Но если вам нужно что-то простое, вы можете просто взаимодействовать напрямую с sysfs для создания очень простого GPIO.

Эммали Уилсон
источник
0

Импортируйте библиотеку Python, и вы сможете легко контролировать контакты. В Интернете есть множество учебных пособий. Вам нужно знать и поддерживать python и базовые знания о программировании на python.

Контакты GPIO доступны для входов и выходов.

Сохан Арафат
источник