Включайте и выключайте светодиод с помощью Raspberry Pi и Python.
Комментарииⓘ Cet article peut avoir été partiellement ou totalement traduit à l'aide d'outils automatiques. Nous nous excusons des erreurs que cela pourrait engendrer.
Это первое руководство из серии, посвященной использованию портов GPIO Raspberry Pi для управления электронными компонентами.
Как вы, наверное, знаете, у Raspberry Pi есть порты, называемые GPIO (General Purpose Input Output), которые позволяют управлять рядом электронных компонентов.
В этом руководстве мы увидим, как использовать эти порты GPIO для управления светодиодом с Raspberry Pi.
Необходимое оборудование
Чтобы следовать этому руководству, вам потребуются следующие материалы:
- Raspberry Pi
- его еда
- его карта MicroSD
- базовый электронный комплект со светодиодами, резисторами и тестовой пластиной.
Этому руководству можно полностью следовать без необходимости пайки каких-либо компонентов.
Кроме того, вам нужно будет установить Raspbian на SD-карту и иметь возможность управлять Raspberry Pi напрямую с помощью клавиатуры / мыши / экрана или через SSH.
Основы GPIO
Порты GPIO — это физические порты, обычно имеющие форму квадратных металлических контактов, которые позволяют передавать электрический сигнал.
Порт GPIO передает относительно двоичный сигнал (без тока или тока). В случае Raspberry Pi порты GPIO работают при напряжении 3,3 В и около 20 мА.
Таким образом, порты GPIO — это простой способ связи или управления физическими элементами.
Самые последние модели Raspberry Pi имеют 40 разъемов GPIO, которые разделены на разные категории с конкретным использованием.
- Power +: непрерывное питание
- GND: Ground = возврат на землю
- I2C: синхронный последовательный протокол
- SPI: Другой синхронный последовательный протокол
- UART: асинхронный протокол + преобразование последовательной связи в параллельную.
- GPIO: Общий порт, который можно преобразовать в I2C или SPI.
Порты GPIO пронумерованы от 1 до 40, начиная с верхнего левого угла, когда вы держите порты Raspberry pi GPIO вправо. Это так называемый режим нумерации «Доска». Существует другой режим нумерации, основанный на адресации процессора, называемый режимом «BCM».
В контексте этого руководства мы будем использовать только порты типа GPIO и GND и нумерацию «Board».
Подключите светодиод к Raspberry Pi
Для подключения мы будем использовать следующие компоненты: светодиод, резистор, макет и Raspberry.
Первым шагом нашего руководства будет разработка схемы подключения светодиода к Raspberry Pi. Не волнуйтесь, это очень просто и нам не придется строить сложные диаграммы!
Как выбрать сопротивление?
Первое, что нужно знать, это то, что в светодиоде всегда должен использоваться резистор. Это потому, что светодиоды имеют так называемое «пороговое напряжение». Проще говоря, слишком большой ток и светодиод сразу же перегорает, поэтому резистор является защитой.
Поэтому нам придется выбрать, какое сопротивление использовать. Для этого существует математическая формула для расчета размера используемого резистора.
Rmin = (Ualim - Uled) / Imax
Если у вас нет хороших остатков от уроков физики, я думаю, это вас не слишком далеко зайдет. Небольшое объяснение:
- Rmin: минимальное используемое сопротивление, выраженное в омах (Ом).
- Ualim: напряжение источника питания, выраженное в вольтах (В).
- Uled: пороговое напряжение светодиода, выраженное в вольтах (В).
- Imax: максимальная сила света светодиода, выраженная в амперах (A).
Как мы уже говорили, наши GPIO обеспечивают 3,3 В и 20 мА. Светодиод имеет максимальную интенсивность 20 мА (20 мА = 0,020 А) и пороговое напряжение 1,5 и 1,9 В.
Таким образом, формула следующая:
Rmin = (3.3 - 1.5) / 0.020
Таким образом, мы получаем минимальное сопротивление 90 Ом, которое мы округлим до 100 Ом. Мы займем немного места, выбрав вместо него резистор 270 Ом (или 330 Ом, нормализованные значения), тем самым защитив нас от возможного пика тока на GPIO.
Чтобы найти значение сопротивления, есть две возможности:
- Это указано на бумажной полоске, которая удерживает светодиоды вместе.
- Вам необходимо прочитать цветные кольца на резисторе, чтобы рассчитать его номинал. В Интернете вы найдете учебные пособия и сайты, которые помогут вам. (100 Ом = коричнево-черно-коричневый, 270 Ом = красно-пурпурный-коричневый и 330 Ом = оранжево-оранжево-коричневый)
Подключите светодиод к GPIO Raspberry Pi.
Теперь, когда мы знаем, какой резистор использовать, нам просто нужно все подключить к Raspberry Pi.
Для этого возьмем два кабеля типа папа / мама Dupont, мы выберем красный кабель для источника питания и черный кабель для возврата на землю (это соглашение).
Подключите красный кабель к порту 7 GPIO, а черный — к порту GPIO 6.
Подключите два кабеля к макетной плате, разделив их несколькими рядами. Подключите красный кабель к аноду вашего светодиода (удлиненная или длинная ножка), одну ножку резистора к катоду (другую ножку светодиода, следовательно, короткую ножку) и другую ножку резистора. к черному кабелю.
Совет: не можете вспомнить, какая ножка является анодом, а какая — катодом? Простая мнемоника, удлиненные анодные каналы!
Не очень понятно? Не паникуйте: «Лучше небольшой рисунок, чем длинная речь!»
Если вы хотите убедиться, что все работает нормально, можно провести небольшой простой тест. Отсоедините красный кабель от GPIO # 7 и подключите его к # 1. Это обеспечивает постоянное напряжение 3,3 В, при правильной разводке светодиод будет гореть :)!
Напишите программу для управления светодиодом с Raspberry
Теперь, когда наша схема готова, нам просто нужно написать программу для управления портами GPIO для включения и выключения светодиода.
Для этого мы собираемся использовать язык программирования Python. В этом руководстве мы будем оставаться очень простыми и просто приведем пример программы, объясняющий, как ее использовать и как она работает.
Так что это не курс Python. Однако, если вы хотите, мы недавно опубликовали вводный курс Python, который научит вас использовать Python для написания собственных программ для ваших проектов!
Итак, создайте папку /home/pi/electronic
и файл led.py
в этой папке и напишите там следующий код:
Обратите внимание, что тексты за #
Комментарии используются для объяснения того, что делает код, но не влияют на программу. Вам не нужно его копировать, кроме первых двух строк.
#!/usr/bin/env python3
#-- coding: utf-8 --
import RPi.GPIO as GPIO #Importe la bibliothèque pour contrôler les GPIOs
GPIO.setmode(GPIO.BOARD) #Définit le mode de numérotation (Board)
GPIO.setwarnings(False) #On désactive les messages d'alerte
LED = 7 #Définit le numéro du port GPIO qui alimente la led
GPIO.setup(LED, GPIO.OUT) #Active le contrôle du GPIO
state = GPIO.input(LED) #Lit l'état actuel du GPIO, vrai si allumé, faux si éteint
if state : #Si GPIO allumé
GPIO.output(LED, GPIO.LOW) #On l’éteint
else : #Sinon
GPIO.output(LED, GPIO.HIGH) #On l'allume
Сделав это, мы сделаем программу исполняемой. Для этого просто выполните следующую команду:
chmod +x /home/pi/electronic/led.py
Все, что вам нужно сделать, это запустить скрипт, вызвав его так:
/home/pi/electronic/led.py
Каждый раз, когда вы запускаете скрипт, светодиод будет включаться, если он не горит, и гаснуть, если он горит.
Вот и все, теперь вы знаете основы включения и выключения светодиода с помощью Raspberry Pi. Все, что вам нужно сделать, это адаптировать код под свои нужды. Для этого не стесняйтесь обращаться к нашему курсу по Python!
Все, что вам нужно сделать, это перейти к следующему руководству из этой серии, прочитать RFID-карту с Raspberry Pi!