Засвети LED со GPIO на Raspberry Pi

Претходно оваа година добивте турнеја на GPIO на Raspberry Pi и исто така препорачавте некои навистина корисни пробивни табли за идентификација на бројот на пиновите. Денес ја продолжуваме оваа тема и започнуваме со користење на овие пинови во комбинација со код и хардвер.

GPIO е начинот на кој Malinberry Pi разговара со надворешниот свет - "вистински работи" - со користење на код за програмирање на сигналите и напоните до и од 40-пински заглавието.

Кодирањето со GPIO е разумно едноставно за да започнете со, особено за почетните проекти како што се LED диоди и звучници. Со само неколку компоненти и неколку линии на код можете да засветлите или блицте ЛЕР како дел од вашиот проект.

Оваа статија ќе ви покаже што ви е потребно за да го запалите ЛЕР користејќи го Python кодот на вашиот Raspberry Pi, користејќи го традиционалниот метод RPi.GPIO.

01 од 04

Што ви треба

За овој проект се потребни само неколку едноставни и евтини делови. Ричард Савил

Еве листа на сè што ќе ви треба за овој мал стартер проект. Треба да бидете во можност да ги најдете овие предмети во вашата омилена продавница за производители или онлајн аукција сајтови.

02 од 04

Креирај коло - чекор 1

Поврзете го секој игла на плочката со жици на скокачите. Ричард Савил

Ќе го употребиме 2 GPIO пина за овој проект, државен пин (физички пин 39) за нозете на ЛЕР и генерален GPIO пин (GPIO 21, физички пин 40) за напојување на ЛЕР - но само кога ние одлучивме да - каде доаѓа кодот.

Прво, исклучете ја вашата Малина Пи. Сега, користејќи ги жиците на скокачите, поврзете го држачот со лента на лента на плочката. Следно го стори истото за GPIO иглата, поврзувајќи се со различна лента.

03 од 04

Креирај коло - чекор 2

ЛЕР и отпорник го комплетираат колото. Ричард Савил

Следно ние додадете LED и отпорник на колото.

LED диоди имаат поларитет - што значи дека тие треба да се поврзат на одреден начин. Тие обично имаат подолга нога, која е анодна (позитивна) нога, и обично рамен раб на LED пластичната глава која ја означува катодната (негативна) нога.

Отпорник се користи за да се заштити и ЛЕР од добивање на премногу струја, и GPIO иглата од "давање" премногу - што може да ги оштети и двете.

Постои малку генерички резистор за стандардни LED диоди - 330ohm. Има неколку математики зад тоа, но за сега да се фокусираме на проектот - секогаш може да се погледне во омс законот и сродни теми потоа.

Поврзете една нога од резисторот на лентата GND на плочката, а другата нога на резисторот на лентата поврзана со пократка нога од вашиот ЛЕР.

Подолгиот дел од ЛЕР сега треба да се приклучи на лентата поврзана со иглата на GPIO.

04 од 04

Python GPIO код (RPi.GPIO)

RPi.GPIO е одлична библиотека за користење на пиновите на GPIO. Ричард Савил

Во моментот имаме кола за поврзување и подготвеност да одиме, но ние не му кажавме на нашиот GPIO пин да испрати секаква моќ, така што вашата ЛЕР не треба да се запали.

Ајде да направиме датотека на Python за да му кажеме на нашиот GPIO игла да испрати некоја моќност за 5 секунди, а потоа да застане. Најновата верзија на Raspbian ќе ги има веќе инсталираните GPIO библиотеки.

Отворете терминален прозорец и создадете нова скрипта на Python со внесување на следнава команда:

sudo nano led1.py

Ова ќе отвори празно датотека за нас да внесете нашиот код. Внесете ги следните редови:

#! / usr / bin / python # Увоз на библиотеките што ни треба увоз RPi.GPIO како GPIO време за увоз # Поставете го GPIO режимот GPIO.setmode (GPIO.BCM) # Поставете го LED GPIO бројот ЛЕР = 21 # Поставете го PIN-от LED GPIO како излез GPIO.setup (LED, GPIO.OUT) # Вртете го GPIO пинот на GPIO.output (LED, True) # Чекај 5 секунди time.sleep (5) # Исклучете го GPIO игла GPIO.output (LED, False)

Притиснете Ctrl + X за да ја зачувате датотеката. За да ја стартувате датотеката, внесете ја следнава команда во терминалот и притиснете enter:

sudo python led1.py

ЛЕР треба да светне 5 секунди, а потоа да се исклучи, завршувајќи ја програмата.

Зошто да не се обидеме да го смениме бројот "time.sleep" за да го осветлиме ЛЕР за различни периоди или да пробаме да го смениме "GPIO.output (LED, True)" во "GPIO.output (LED, False)" и да видиме што ќе се случи?