реклама

черта-RPI-GPIOАко все пак Arduino е готин, просто изчакайте, докато получите ръцете си Raspberry Pi Raspberry Pi: Неофициалният урокНезависимо дали сте настоящ собственик на Pi, който иска да научи повече, или потенциален собственик на това устройство с размер на кредитна карта, това не е ръководство, което искате да пропуснете. Прочетете още - тези неща са невероятни. Освен че са напълно функционален компютър, те имат и селекция от Обща цел Вход / Изход щифтове. Точно като Arduino, ние можем да ги използваме за създаване на проекти за електроника - и това е изненадващо лесно да започнете.

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

Това въведение служи като първа част към по-голям проект за автоматизация на дома. Кристиян вече е положил основите да започнем с Пи Raspberry Pi: Неофициалният урокНезависимо дали сте настоящ собственик на Pi, който иска да научи повече, или потенциален собственик на това устройство с размер на кредитна карта, това не е ръководство, което искате да пропуснете. Прочетете още

instagram viewer
, така че няма да повтарям първоначалните стъпки тук за изтегляне на ОС или включване на SD картата - ще приема, че имате работеща Raspian система вече създаден.

Внимание: Въпреки че Raspberry Pi мога да се използва подобно на Arduino, е необходимо малко повече грижи. Пиновете на Pi работят в 3.3v, докато Arduino използва 5 V. Въпреки че е възможно да се счупи Arduino, е много по-лесно да се счупи Pi, тъй като пиновете се свързват директно към вградения чип - изпращането на 5V там може да го запържи.

Ето защо, бъдете много внимателни, когато се опитвате да копирате проекти на Arduino на вашия Pi - или следвайте конкретен урок за Pi, или бъдете сигурни, че добре разбирате основната електроника.

Изисквания:

  • NPN транзистор, като P2N2222A
  • 1k резистор
  • Реле; Използвам 4-релеен 5V модул, който има вградена допълнителна схема за защита (така че няма нужда от допълнителни диоди
  • LED и 220 ома резистор за тестване
  • Пробивен кабел

Прекъсвач за кабел ("комплект за какавиди")

GPIO щифтовете са разположени отстрани на Pi, до гнездото за RCA видео изход.

пробив-кабел

Въпреки че технически бихте могли да свържете някои джъмперни кабели с женски край директно към тях, те не са етикетирани по никакъв полезен начин и затова е по-вероятно да счупите нещо. Вместо това вземете пробивен кабел като tнеговата от Адафрутили един от многото по-евтини клонинги на eBay. Може да се наложи да спойкате това, тъй като ще се предлага в комплект.

пробив на борда

Въпреки че страната на платката има прорез в нея, за да показва правилното поставяне на кабела, Pi страната не прави. Уверете се, че 3v и 5v щифтове в далечния ъгъл на Pi се приравняват със съответните щифтове на дъската. Разбира се, ако сте купили случай, който не разкрива заглавката на GPIO, тогава ще трябва да стартирате с гол Pi или да изрежете дупка.

ясен случай GPIO

Освен това можете да получите пълен борд, който се поставя върху вашия Pi и обикновено се предлага с подбор от полезни компоненти.

Основна верига

Настройте веригата, както е посочено по-долу. Оставих веригата на релето, тъй като това ще варира. Използвай НЕ (нормално затворени) и COM клеми на вашето реле за вашето LED или друго устройство.

верига

Използвайте щифт 4 от Raspberry Pi. На моята дъска е обозначен + GPCLK0; независимо, това е четвъртият пин, който се брои от 3V3.

pin4

Тестване на командния ред

В следващите примери, предполагам, че сте влезли през SSH или по друг начин като root потребител. Ако не, ще трябва да предговорите някои от командите със sudo за повишени привилегии.

Първо трябва да инсталираме WiringPi.

git clone git: //git.drogon.net/wiringPi cd wiringPi ./build

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

gpio -g режим 4 изход. gpio -g напиши 4 1

Първата команда е подобна на функцията за настройка на Arduino, където казваме на пина 4 да използва като изход. Следващата команда записва стойност на 1 на щифта, което трябва да задейства транзистора, активира релето, затваря веригата за светодиода и го включва.

Страхотен. Ако не стане, върнете се и проверете окабеляването. Щраква ли релето?

Питон

Въпреки че Python не е единственият начин за комуникация с GPIO игли, той обикновено се счита за най-лесният и е най-често срещаният в съществуващите проекти. За разлика от C, Python се сравнява сравнително лесно (Тук е 5 сайта, за да научите Python 5-те най-добри уебсайта за научаване на програмиране на PythonИскате ли да научите програмиране на Python? Ето най-добрите начини да научите Python онлайн, много от които са напълно безплатни. Прочетете още ).

Започнете с инсталирането на следните разширения Python:

apt-get install python-dev apt-get install python-rpi.gpio

Сега създайте нов файл, наречен test.py. ако използвате команден ред, въведете

nano test.py

Поставете или въведете следното (също на този пастбин):

импортиране на RPi. GPIO като GPIO. време за внос. GPIO.setmode (GPIO.BCM) GPIO.setup (4, GPIO.OUT) за х в диапазон (0,10): време.спя (5) GPIO. изход (4,1) време.спя (5) GPIO. изход (4,0)

Това е много прост скрипт на Python, който ще включи светодиода (или каквото свържете към релето) в продължение на 5 секунди, а след това изключен за 5 секунди, 10 пъти. Трябва да можете да разберете по-голямата част от кода. Най- GPIO.setmode линия се използва просто за обозначаване на пиновата номерационна схема, която ще използваме.

Това е! За да стартирате кода, въведете:

python test.py
завършен

Следващата седмица ще разработим настройката малко и ще направим някои вълнуващи неща като добавяне на гласов контрол. Ако ще добавите електрически елементи с високо напрежение в релейната верига, ще искате да сте сигурни, че използвате подходящо реле на живия проводники не забравяйте да затворите всичко, така че да е далеч от любопитни пръсти на бебета или на майка. Все пак сериозно, Пази се.

Моля, изпратете вашите въпроси, коментари, отзиви и хайкуси в полето по-долу - но имайте предвид, че ще ви оценявам по граматиката.

Джеймс има бакалавърска степен по изкуствен интелект и е сертифициран като CompTIA A + и Network +. Той е водещ разработчик на MakeUseOf и прекарва свободното си време, играейки VR пейнтбол и настолни игри. Той изгражда компютри още от дете.