Съдържание:

Управление на множество светодиоди с Python и GPIO щифтовете на Raspberry Pi: 4 стъпки (със снимки)
Управление на множество светодиоди с Python и GPIO щифтовете на Raspberry Pi: 4 стъпки (със снимки)

Видео: Управление на множество светодиоди с Python и GPIO щифтовете на Raspberry Pi: 4 стъпки (със снимки)

Видео: Управление на множество светодиоди с Python и GPIO щифтовете на Raspberry Pi: 4 стъпки (със снимки)
Видео: Python скрипты для работы с GPIO Raspberry Pi. v1 2024, Ноември
Anonim
Управление на множество светодиоди с Python и GPIO щифтовете на Raspberry Pi
Управление на множество светодиоди с Python и GPIO щифтовете на Raspberry Pi

Тази инструкция демонстрира как да контролирате няколко GPIO пина на вашия RaspberryPi, за да захранвате 4 светодиода. Той също така ще ви запознае с параметри и условни изявления в Python.

Нашите предишни инструкции за използване на GPIO щифтовете на Raspberry Pi за управление на светодиод демонстрират как да включвате и изключвате един светодиод с помощта на командата GPIO.output. Тази инструкция се основава на тези знания, за да ви научи как да получите повече контрол върху вашата верига.

Стъпка 1: Какво ще ви трябва

Какво ще ви трябва
Какво ще ви трябва
Какво ще ви трябва
Какво ще ви трябва

- RaspberryPi с вече инсталиран Raspbian. Също така ще трябва да имате достъп до Pi с помощта на монитор, мишка и клавиатура или чрез отдалечен работен плот. Можете да използвате всеки модел на Raspberry Pi. Ако имате един от моделите Pi Zero, може да искате да запоите някои щифтове за заглавки към порта GPIO.

- Червени, сини, жълти и зелени светодиоди

- Електронна дъска за прототипиране без запояване

- 4 x 330 ома резистори

- Някои проводници от мъжки към женски

Стъпка 2: Изградете своята схема

Изградете вашата верига
Изградете вашата верига
Изградете вашата верига
Изградете вашата верига

Изградете горната схема на макета си, като се уверите, че нито един от компонентите не докосва и че светодиодите са свързани правилно.

Как идентифицирате положителните и отрицателните проводници (полярността) на вашите светодиоди? Ако погледнете светодиода отблизо, ще видите, че той има две малки парчета метал вътре в цветния корпус. Те се наричат анод и катод. Катодът е най -големият от двата и също е свързан с отрицателния проводник на светодиодите.

След като проверите веригата си, свържете джъмперните кабели на вашите GPIO щифтове на Raspberry Pi, като следвате горната диаграма.

Стъпка 3: Създайте скрипт за управление и тестване на светодиодите

Създайте скрипт за управление и тестване на светодиодите
Създайте скрипт за управление и тестване на светодиодите

На вашия Raspberry Pi отворете IDLE (Меню> Програмиране> Python 2 (IDLE)).

Отворете нов проект, отидете на Файл> Нов файл. След това въведете (или копирайте и поставете) следния код:

импортирайте RPi. GPIO като GPIO

време за импортиране GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. OUT) GPIO.setup (18, GPIO. OUT) GPIO.setup (22, GPIO. OUT) GPIO.setup (23, GPIO. OUT) GPIO.output (17, True) time.sleep (3) GPIO.output (17, False) time.sleep (1) GPIO.output (18, True) time.sleep (3) GPIO.output (18, False) time.sleep (1) GPIO.output (22, True) time.sleep (3) GPIO.output (22, False) time.sleep (1) GPIO.output (23, True) time.sleep (3) GPIO. изход (23, False)

Запишете проекта си като multilights.py (File> Save As) във вашата папка Raspberry Pis Documents.

На вашия Raspberry Pi отворете терминал (Меню> Аксесоари> Терминал) и отидете до папката Документи, като въведете следното:

cd/home/pi/Документи

Вече можете да стартирате новия си скрипт, като въведете следното:

python multilights.py

Светлините ще го вземат на свой ред за включване и изключване. Горният скрипт използва командата time.sleep, за да създаде пауза между всяка стъпка, като накара всяка лампа да остане включена за 3 секунди и да изчака 1 секунда, преди да включи следващата светлина.

Стъпка 4: Добавяне на гъвкавост чрез използване на параметри и условни изявления

С помощта на параметри и условни изявления можем да направим горния скрипт много по -гъвкав.

Параметърът ви позволява да съхранявате стойност, която можете да използвате по -късно в скрипта. Най -често срещаните типове стойности са низове (текст), цели числа (цели числа) или плаващи (десетични числа).

Условно изявление ще определи дали даден сегмент от код трябва да бъде изпълнен, като провери дали е изпълнено определено условие. Условието може да включва и параметри.

Отворете IDLE на вашия Raspberry Pi и отворете нов проект (Файл> Нов файл). След това въведете следното. Бъдете внимателни, за да сте сигурни, че всички отстъпи (раздели) са включени, като използвате клавиша Tab:

импортирайте RPi. GPIO като GPIO

време за импортиране от sys импортиране argv което = argv [1] ledaction = argv [2] LEDa = 17 LEDb = 18 LEDc = 22 LEDd = 23 GPIO.setmode (GPIO. BCM) GPIO.setup (LEDa, GPIO. OUT) GPIO. setmode (GPIO. BCM) GPIO.setup (LEDb, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDc, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDd, GPIO. OUT) if ledaction == "off": if whichled == "a": GPIO.output (LEDa, False) if whichled == "b": GPIO.output (LEDb, False) ifledled == "c": GPIO.output (LEDc, False), ако е = = "d": GPIO.output (LEDd, False) if whichled == "all": GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. изход (LEDc, False) GPIO.output (LEDd, False) if ledaction == "on": if whichled == "a": GPIO.output (LEDa, True) ifledled == "b": GPIO.output (LEDb, True) if whichled == "c": GPIO.output (LEDc, True) if whichled == "d": GPIO.output (LEDd, True) if whichled == "all": GPIO.output (LEDa, True) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)

Запазете проекта си като controllight.py (File> Save As) в папката Documents. Сега отворете Terminal (Menu> Accessories> Terminal) и въведете следната команда:

python controllight.py b включен

Вторият светодиод трябва да се включи. Сега въведете следното:

python controllight.py b изключен

Вторият светодиод трябва да се изключи.

В редове 5, 6, 7 и 8 създаваме параметрите LEDa, LEDb, LEDc и LEDd, за да съхраним кой GPIO щифт сме свързали към кой светодиод. Това ни позволява да използваме алтернативни GPIO пинове, без да се налага да правим съществени промени в скрипта.

Например, ако трябва да свържем първите светодиоди към Pin 3 (GPIO 2), просто ще трябва да променим ред 5 на следното:

LEDa = 2

Ред 4 съхранява стойностите, които сте въвели след controllight.py в параметрите, които са (c) и ledaction (on). След това скриптът използва тези параметри, заедно с редица условни изявления, за да реши кой светодиод да контролира и дали да го включи или изключи.

Ред 16 (ако ledaction == "on":) е условно изявление. Отстъпените редове, които следват това изявление, ще се изпълняват само ако условието на израза е изпълнено. В този сценарий условието е ledaction да съдържа текста.

Четейки другите условия на скрипта, можете ли да предвидите какво ще се случи, когато въведете следната команда в терминала?

python controllight.py всичко включено

Защо не опитате и не публикувате отговора си в секцията за коментари по -долу.

Препоръчано: