- Wymagane składniki:
- Schemat obwodu:
- Rejestr przesuwny IC 74HC595:
- Przepływ pracy:
- Objaśnienie programowania:
Raspberry Pi to płyta oparta na architekturze ARM przeznaczona dla elektroników i hobbystów. PI jest obecnie jedną z najbardziej zaufanych platform do tworzenia projektów. Dzięki większej szybkości procesora i 1 GB pamięci RAM PI może być używany w wielu ważnych projektach, takich jak przetwarzanie obrazu i Internet rzeczy.
Aby wykonać którykolwiek z ważnych projektów, należy zrozumieć podstawowe funkcje PI. W tych samouczkach omówimy wszystkie podstawowe funkcje Raspberry Pi. W każdym samouczku omówimy jedną z funkcji PI. Pod koniec tej serii samouczków Raspberry Pi będziesz mógł samodzielnie wykonywać ważne projekty. Przejdź przez poniższe samouczki:
- Pierwsze kroki z Raspberry Pi
- Konfiguracja Raspberry Pi
- Miga dioda LED
- Interfejs przycisków Raspberry Pi
- Generacja Raspberry Pi PWM
- Sterowanie silnikiem prądu stałego za pomocą Raspberry Pi
- Sterowanie silnikiem krokowym z Raspberry Pi
W tym samouczku dotyczącym rejestru przesuwnego Raspberry Pi, będziemy interfejsem Shift Register z Pi. PI ma 26 pinów GPIO, ale kiedy wykonujemy projekty takie jak drukarka 3D, pin wyjściowe zapewniane przez PI nie wystarczają. Więc potrzebujemy więcej pinów wyjściowych, aby dodać więcej pinów wyjściowych do PI, dodajemy Shift Register Chip. Układ rejestru przesuwnego pobiera dane szeregowo z karty PI i zapewnia wyjście równoległe. Chip jest 8-bitowy, więc chip pobiera 8 bitów z PI szeregowo, a następnie dostarcza 8-bitowe wyjście logiczne przez 8 pinów wyjściowych.
W przypadku 8-bitowego rejestru przesuwnego użyjemy układu IC 74HC595. To chip 16 PIN. Konfiguracja pinów chipa została wyjaśniona w dalszej części tego samouczka.
W tym samouczku użyjemy trzech pinów GPIO PI, aby uzyskać osiem wyjść z układu Shift Register Chip. Pamiętaj, że PINS chipa są tylko do wyjścia, więc nie możemy podłączyć żadnych czujników do wyjścia chipa i oczekiwać, że PI je odczyta. Diody LED są podłączone do wyjścia chipa, aby zobaczyć 8-bitowe dane wysłane z PI.
Porozmawiamy trochę o Pinach GPIO Raspberry Pi, zanim przejdziemy dalej,
W Raspberry Pi 2 jest 40 pinów wyjściowych GPIO. Ale z 40 można zaprogramować tylko 26 pinów GPIO (GPIO2 do GPIO27). Niektóre z tych pinów pełnią specjalne funkcje. Po odłożeniu specjalnego GPIO pozostało nam tylko 17 GPIO. Każdy z tych 17 pinów GPIO może dostarczyć maksymalnie prąd 15 mA. Suma prądów ze wszystkich Pinów GPIO nie może przekraczać 50mA. Aby dowiedzieć się więcej o pinach GPIO, przejdź przez: Miga dioda LED z Raspberry Pi
Wymagane składniki:
Tutaj używamy Raspberry Pi 2 Model B z Raspbian Jessie OS. Wszystkie podstawowe wymagania sprzętowe i programowe zostały wcześniej omówione, możesz je sprawdzić we wprowadzeniu do Raspberry Pi, poza tym, czego potrzebujemy:
- Kołki łączące
- Rezystor 220Ω lub 1KΩ (6)
- Dioda (8)
- Kondensator 0,01 µF
- 74HC595 IC
- Deska do chleba
Schemat obwodu:
Rejestr przesuwny IC 74HC595:
Porozmawiajmy o PIN-ach SHIFT REGISTER, których będziemy tutaj używać.
Nazwa pinu |
Opis |
Q0 - Q7 |
Są to piny wyjściowe (czerwony prostokąt), gdzie równolegle otrzymujemy 8-bitowe dane. Podłączymy do nich osiem diod LED, aby zobaczyć wyjście równoległe. |
Pin danych (DS) |
Pierwsze dane są przesyłane bit po bicie do tego pinu. Aby wysłać 1, wyciągamy pin DATA wysoko, a aby wysłać 0, wyciągamy pin DATA. |
Pin zegara (SHCP) |
Każdy impuls na tym pinie wymusza na rejestrach pobranie jednego bitu danych z pinu DATA i zapisanie go. |
Wyjście zmiany (STCP) |
Po otrzymaniu 8 bitów podajemy impuls ten pin, aby zobaczyć wyjście. |
Przepływ pracy:
Będziemy postępować zgodnie ze schematem blokowym i napiszemy program licznika dziesiętnego w PYTHONIE. Po uruchomieniu programu w Raspberry Pi widzimy liczenie diod LED za pomocą rejestru Shift.
Objaśnienie programowania:
Po podłączeniu wszystkiego zgodnie ze schematem obwodu, możemy włączyć PI, aby napisać program w PYHTON.
Porozmawiamy o kilku komendach, których będziemy używać w programie PYHTON, Zamierzamy zaimportować plik GPIO z biblioteki, poniższa funkcja umożliwia zaprogramowanie pinów GPIO PI. Zmieniamy również nazwę „GPIO” na „IO”, więc w programie zawsze, gdy będziemy chcieli odwołać się do pinów GPIO, użyjemy słowa „IO”.
importuj RPi.GPIO jako IO
Czasami, gdy piny GPIO, których próbujemy użyć, mogą wykonywać inne funkcje. W takim przypadku podczas wykonywania programu będziemy otrzymywać ostrzeżenia. Poniższe polecenie mówi PI, aby zignorował ostrzeżenia i kontynuował program.
IO.setwarnings (fałszywe)
Możemy odnosić się do pinów GPIO PI, albo przez numer pinu na płycie, albo przez numer ich funkcji. Tak jak „PIN 29” na płycie to „GPIO5”. Więc mówimy tutaj albo będziemy reprezentować pinezkę jako „29” lub „5”.
IO.setmode (IO.BCM)
Jako wyjście ustawiamy piny GPIO4, GPIO5 i GPIO6
IO.setup (4, IO.OUT) IO.setup (5, IO.OUT) IO.setup (6, IO.OUT)
To polecenie wykonuje pętlę 8 razy.
dla y w zakresie (8):
Podczas gdy 1: jest używany do pętli nieskończoności. Za pomocą tego polecenia instrukcje wewnątrz tej pętli będą wykonywane w sposób ciągły.
Dalsze wyjaśnienia dotyczące programu znajdują się w części dotyczącej kodów poniżej. Mamy już wszystkie instrukcje potrzebne do wysłania danych do SHIFT REGISTER.