- Необходими компоненти:
- Електрическа схема:
- Shift Register IC 74HC595:
- Работен поток:
- Обяснение на програмирането:
Raspberry Pi е ARM архитектура базирана на процесор платка, предназначена за електронни инженери и любители. PI е една от най-надеждните платформи за разработване на проекти в момента. С по-висока скорост на процесора и 1 GB RAM, PI може да се използва за много високопрофилни проекти като Обработка на изображения и Интернет на нещата.
За да направите някой от високопрофилните проекти, трябва да разберете основните функции на PI. В тези уроци ще разгледаме всички основни функционалности на Raspberry Pi. Във всеки урок ще обсъдим една от функциите на PI. До края на тази серия с уроци за Raspberry Pi ще можете сами да правите проекти с висок профил. Преминете през уроци по-долу:
- Първи стъпки с Raspberry Pi
- Конфигурация на Raspberry Pi
- LED мигащ
- Интерфейс на бутон Raspberry Pi
- Raspberry Pi PWM поколение
- Управление на DC мотор с помощта на Raspberry Pi
- Управление на стъпков двигател с Raspberry Pi
В този урок за регистър за смяна на Raspberry Pi ще свържем регистъра за смяна на Pi с Pi. PI има 26 GPIO пина, но когато правим проекти като 3D принтер, изходните щифтове, предоставени от PI, не са достатъчни. Така че имаме нужда от повече изходни щифтове, за добавяне на повече изходни щифтове към PI, ние добавяме Shift Register Chip. Чип Shift Register взема данни от PI платката последователно и дава паралелен изход. Чипът е от 8 бита, така че чипът взема 8 бита от PI последователно и след това осигурява 8 битов логически изход през 8 изходни щифта.
За 8-битов регистър на смяна ще използваме IC 74HC595. Това е 16 PIN чип. Конфигурацията на щифтовете на чипа е обяснена по-долу в този урок.
В този урок ще използваме три GPIO пина на PI, за да получим осем изхода от Shift Register Chip. Не забравяйте, че PINS на чипа са само за изход, така че не можем да свържем никакви сензори към изхода на чипа и да очакваме PI да ги прочете. Светодиодите са свързани към изхода на чипа, за да видят 8-битовите данни, изпратени от PI.
Ще обсъдим малко за Raspberry Pi GPIO Pins, преди да продължим по-нататък,
В Raspberry Pi 2 има 40 изходни щифта GPIO. Но от 40 само 26 GPIO пина (GPIO2 до GPIO27) могат да бъдат програмирани. Някои от тези щифтове изпълняват някои специални функции. Със специалния GPIO настрана, остават ни само 17 GPIO. Всеки от тези 17 GPIO щифта може да достави максимум 15 mA ток. И сумата от токове от всички GPIO пинове не може да надвишава 50mA. За да научите повече за GPIO щифтовете, преминете през: LED мига с Raspberry Pi
Необходими компоненти:
Тук използваме Raspberry Pi 2 Model B с Raspbian Jessie OS. Всички основни хардуерни и софтуерни изисквания са обсъдени преди това, можете да ги потърсите във въведението на Raspberry Pi, различно от това, от което се нуждаем:
- Свързващи щифтове
- 220Ω или 1KΩ резистор (6)
- LED (8)
- 0,01µF кондензатор
- 74HC595 IC
- Дъска за хляб
Електрическа схема:
Shift Register IC 74HC595:
Нека поговорим за ПИНОВЕТЕ НА SHIFT REGISTER, които ще използваме тук.
Име на ПИН |
Описание |
Q0 - Q7 |
Те са изходните щифтове (червен правоъгълник), където получаваме 8 битови данни паралелно. Ще свържем към тях осем светодиода, за да видим паралелния изход. |
ПИН за данни (DS) |
Първите данни се изпращат бит по бит към този щифт. За да изпратим 1, издърпваме DATA пина високо и за изпращане 0 ще издърпваме DATA пина. |
Часовник (SHCP) |
Всеки импулс на този пин принуждава регистрите да поемат по един бит данни от DATA пин и да ги съхраняват. |
Shift изход (STCP) |
След като получим 8 бита, ние осигуряваме импулс на този щифт, за да видим изхода. |
Работен поток:
Ще следваме диаграмата и ще напишем програма за десетичен брояч в PYTHON. Когато стартираме програмата, виждаме светодиодно броене, използвайки Shift Register в Raspberry Pi.
Обяснение на програмирането:
След като всичко е свързано според схемата, можем да включим PI, за да напишем програмата в PYHTON.
Ще говорим за няколко команди, които ще използваме в програмата PYHTON, Ще импортираме GPIO файл от библиотеката, функцията по-долу ни позволява да програмираме GPIO пинове на PI. Преименуваме също „GPIO“ на „IO“, така че в програмата, когато искаме да се позовем на GPIO щифтове, ще използваме думата „IO“.
импортирайте RPi.GPIO като IO
Понякога, когато GPIO щифтовете, които се опитваме да използваме, може да изпълняват някои други функции. В този случай ще получим предупреждения, докато изпълняваме програмата. Командата по-долу казва на PI да игнорира предупрежденията и да продължи с програмата.
IO.setwarnings (False)
Можем да отнесем GPIO пиновете на PI, или чрез пинов номер на борда, или чрез номера на тяхната функция. Подобно на „ПИН 29“ на платката е „GPIO5“. Така че ние казваме тук, или ще представим щифта тук с '29' или '5'.
IO.setmode (IO.BCM)
Задаваме щифтове GPIO4, GPIO5 и GPIO6 като изход
IO.setup (4, IO.OUT) IO.setup (5, IO.OUT) IO.setup (6, IO.OUT)
Тази команда изпълнява цикъла 8 пъти.
за y в диапазон (8):
Докато 1: се използва за безкрайност. С тази команда операторите в този цикъл ще се изпълняват непрекъснато.
Допълнително обяснение на програмата е дадено в раздела за кодове по-долу. Имаме всички инструкции, необходими за изпращане на данни до SHIFT REGISTER сега.