По-рано тази година имахте обиколка на GPIO на Raspberry Pi и също така препоръчахте някои наистина полезни разделителни дъски за идентифициране на номера на щифтове. Днес ние продължаваме тази тема и започваме да използваме тези игли, комбинирани с код и хардуер.
В GPIO е как Raspberry Pi разговаря с външния свят - "истински неща" - използвайки код за програмиране на сигнали и напрежения към и от 40-пинов хедър.
Кодирането с GPIO е сравнително лесно, за да започнете, особено за начинаещи проекти като LED и буйове. Само с няколко компонента и няколко реда код можете да осветявате или да мигате LED като част от вашия проект.
Тази статия ще ви покаже какво ви е нужно, за да запалите LED, използвайки Python код на Вашата Raspberry Pi, използвайки традиционния метод "RPi.GPIO".
01 от 04
От какво имаш нужда
Ето списък на всичко, от което се нуждаете за този малък стартов проект. Трябва да можете да намерите тези елементи в любимия си магазин за производители или онлайн сайтове за търгове.
- Работна станция Raspberry Pi, която работи с най-новите Raspbian (Pi, екран, клавиатура, мишка, мощност, SD карта - всички свързани)
- Малък шкаф
- 5 мм LED
- Резистор с 330 ома
- 2 мъжки към женски кабелни скоби
02 от 04
Създайте схемата - стъпка 1
Ще използваме 2 GPIO щифта за този проект, заземяващ щифт (физичен щифт 39) за земния крак на светодиода и генерален GPIO щифт (GPIO 21, физичен щифт 40) за захранване на светодиода - но само когато ние решаваме - накъде идва кодът.
Първо, изключете малините Pi. Сега, като използвате проводниците на джъмпера, свържете щифта за заземяване към лентата на вашия breadboard. След това направете същото за щифта GPIO, свързвайки се с друга лента.
03 от 04
Създайте схемата - стъпка 2
След това добавете светодиода и резистора към веригата.
Светодиодите имат полярност, което означава, че те трябва да бъдат свързани по определен начин. Обикновено те имат един по-дълъг крак, който е анодният (положителен) крак и обикновено е плосък край на LED пластичната глава, който обозначава катоден (отрицателен) крак.
Резистор се използва, за да предпази двата светодиода да приемат твърде много ток, а GPIO-щифтът от "даване" твърде много - което може да увреди и двете.
Има малко общо резистор за стандартните светодиоди - 330ohm. Има някои математически зад това, но засега нека се съсредоточим върху проекта - винаги можете да погледнете в ома право и свързаните с него теми след това.
Свържете единия крак на резистора към лентата GND на вашия breadboard, а другият крак на резистора към лентата, свързана с по-късия крак на вашия светодиод.
Дългият крак на светодиода сега трябва да се присъедини към лентата, свързана с GPIO-щифта.
04 от 04
Python GPIO кодекс (RPi.GPIO)
В момента имаме схема, която е свързана и е готова да излезе, но все още не сме ви казали, че нашият GPIO щифт ще изпрати някакво захранване, така че не трябва да светва вашия светодиод.
Нека да направим Python файл, за да кажем на нашият GPIO щифт да изпрати малко захранване за 5 секунди и след това да спре. Най-новата версия на Raspbian ще има вече инсталирани библиотеки GPUS.
Отворете терминален прозорец и създайте нов Python скрипт, като въведете следната команда:
sudo nano led1.pyТова ще отвори празен файл, за да въведем нашия код. Въведете линиите по-долу:
#! / usr / bin / python # Импортиране на библиотеките, от които се нуждаем, за импортиране на RPi.GPIO като време за импортиране на GPIO # Задаване на GPIO режим GPIO.setmode (GPIO.BCM) # Задаване на LED GPIO номер LED = 21 # Изход GPIO.setup (LED, GPIO.OUT) # Завъртане GPIO щифт на GPIO.output (LED, True) # Изчакайте 5 секунди time.sleep (5) # Изключете GPIO pin от GPIO.output (LED,Натиснете Ctrl + X, за да запазите файла. За да стартирате файла, въведете следната команда в терминала и натиснете enter:
sudo python led1.pyСветодиодът трябва да светне за 5 секунди, след това да се изключи, завършвайки програмата.
Защо не се опитате да промените номера "time.sleep", за да запалите LED за различно време или опитайте да промените "GPIO.output (LED, True)" на "GPIO.output (LED, False)" и да видим какво ще се случи?