Съдържание:
- Стъпка 1: Какво ще ви трябва
- Стъпка 2: Изградете своята схема
- Стъпка 3: Създайте скрипт за управление и тестване на светодиодите
- Стъпка 4: Добавяне на гъвкавост чрез използване на параметри и условни изявления
Видео: Управление на множество светодиоди с Python и GPIO щифтовете на Raspberry Pi: 4 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Тази инструкция демонстрира как да контролирате няколко 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 всичко включено
Защо не опитате и не публикувате отговора си в секцията за коментари по -долу.
Препоръчано:
DIY FLOODLIGHT W/AC светодиоди (+ЕФЕКТИВНОСТ VS DC светодиоди): 21 стъпки (със снимки)
DIY FLOODLIGHT W/AC LED (+ЕФЕКТИВНОСТ VS DC светодиоди): В този инструкционен/видео ще направя прожектор с изключително евтини AC LED чипове без драйвери. Те добри ли са? Или са пълен боклук? За да отговоря на това, ще направя пълно сравнение с всичките си направени DIY светлини. Както обикновено, за евтини
Как да прочетете множество аналогови стойности, използвайки един аналогов щифт: 6 стъпки (със снимки)
Как да прочетете множество аналогови стойности с помощта на един аналогов щифт: В този урок ще ви покажа как да четете множество аналогови стойности, използвайки само един аналогов входен щифт
Как да намерите щифтовете на мотора на пералнята: 6 стъпки
Как да намерим щифтовете на двигател на перална машина: Намиране на щифтове на мотор на пералня с помощта на цифров мултицет. Нуждаем се от мултицет в режим на тестер за непрекъснатост и подобен универсален двигател на пералня като този на снимката по -горе. Ние ще започнете първо с визуална проверка на
Модул с множество LED дисплеи: 6 стъпки (със снимки)
Модул с множество LED дисплеи: Здравейте, обичам да работя с LED дисплеи със 7 сегмента или с матрица и вече направих много различни проекти с тях. Всеки път, когато те са интересни, защото има някаква магия в това как те могат да работят, защото това, което виждате
Използвайте Bluetooth 4.0 HC -08 модул за управление на адресируеми светодиоди - урок за Arduino Uno: 4 стъпки (със снимки)
Използвайте Bluetooth 4.0 HC -08 модул за управление на адресируемите светодиоди - урок за Arduino Uno: Влизали ли сте вече в комуникационни модули с Arduino? Bluetooth отваря свят на възможности за вашите проекти на Arduino и използване на интернет на нещата. Тук ще започнем с бебешка стъпка и ще научим как да управляваме адресируемите светодиоди с малко