- Wyświetlacz siedmiosegmentowy:
- Wymagane składniki:
- Objaśnienie obwodu i 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 wyższej szybkości procesora i 1 GB pamięci RAM, PI może być używany do wielu ważnych projektów, takich jak przetwarzanie obrazu i IoT.
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ł nauczyć się Raspberry Pi i samodzielnie tworzyć dobre projekty. Przejdź przez poniższe samouczki:
- Pierwsze kroki z Raspberry Pi
- Konfiguracja Raspberry Pi
- Miga dioda LED
- Interfejs przycisków
- Generacja Raspberry Pi PWM
- Interfejs LCD z Raspberry Pi
- Sterowanie silnikiem prądu stałego
- Sterowanie silnikiem krokowym
- Interfejs rejestru przesuwnego
- Samouczek Raspberry Pi ADC
- Sterowanie serwomotorem
- Pojemnościowy panel dotykowy
W tym samouczku zajmiemy się interfejsem wyświetlania 7-segmentowego Raspberry Pi. Wyświetlacze siedmiosegmentowe są najtańsze w przypadku wyświetlacza. Kilka z tych segmentów ułożonych razem może służyć do wyświetlania temperatury, wartości licznika itp. Połączymy 7-segmentowy wyświetlacz z GPIO PI i sterujemy nimi, aby odpowiednio wyświetlać cyfry. Następnie napiszemy program w PYTHONIE dla siedmiosegmentowego wyświetlacza liczącego od 0-9 i resetującego się do zera.
Wyświetlacz siedmiosegmentowy:
Istnieją różne typy i rozmiary wyświetlaczy 7-segmentowych. Omówiliśmy szczegółowo Seven Segment tutaj. Zasadniczo istnieją dwa typy 7 segmentów, typ wspólnej anody (wspólny dodatni lub wspólny VCC) i typ wspólnej katody (wspólny ujemny lub wspólny grunt).
Wspólna anoda (CA): W tym przypadku wszystkie ujemne zaciski (katoda) wszystkich 8 diod LED są połączone razem (patrz schemat poniżej), nazwane COM. Wszystkie dodatnie zaciski są pozostawione same.
Wspólna katoda (CC): W tym przypadku wszystkie dodatnie zaciski (anody) wszystkich 8 diod LED są połączone razem, nazywane COM. I wszystkie ujemne termiki pozostają w spokoju.
Te siedmiosegmentowe wyświetlacze CC i CA są bardzo przydatne podczas multipleksowania kilku komórek razem. W naszym tutorialu użyjemy wyświetlacza CC lub siedmiosegmentowego wyświetlacza z wspólną katodą.
Połączyliśmy już 7 segmentów z 8051, Arduino i AVR. W wielu naszych projektach zastosowaliśmy również wyświetlacz 7-segmentowy.
Porozmawiamy trochę o GPIO Raspberry Pi, zanim przejdziemy dalej, W Raspberry Pi 2 jest 40 pinów wyjściowych GPIO. Ale z 40, tylko 26 pinów GPIO (GPIO2 do GPIO27) można zaprogramować, patrz rysunek poniżej. Niektóre z tych pinów pełnią specjalne funkcje. Po odłożeniu specjalnego GPIO pozostało 17 GPIO.
Sygnał GPIO (pin 1 lub 17) + 3.3 V wystarczy do wysterowania 7-segmentowego wyświetlacza. Aby zapewnić ograniczenie prądu, użyjemy rezystora 1KΩ dla każdego segmentu, jak pokazano na schemacie obwodu.
Aby dowiedzieć się więcej o pinach GPIO i ich wyjściach prądowych, przejdź do: 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
- 7-segmentowy wyświetlacz ze wspólną katodą (LT543)
- Rezystor 1KΩ (8 sztuk)
- Płytka prototypowa
Objaśnienie obwodu i pracy:
Połączenia, które są wykonywane w celu podłączenia 7-segmentowego wyświetlacza do Raspberry Pi, są podane poniżej. Użyliśmy tutaj segmentu Common Cathode 7:
PIN1 lub e ------------------ GPIO21
PIN2 lub d ------------------ GPIO20
PIN4 lub c ------------------ GPIO16
PIN5 lub h lub DP ---------- GPIO 12 // nieobowiązkowe, ponieważ nie używamy kropki dziesiętnej
PIN6 lub b ------------------ GPIO6
PIN7 lub ------------------ GPIO13
PIN9 lub f ------------------ GPIO19
PIN10 lub g ---------------- GPIO26
PIN3 lub PIN8 ------------- podłączony do uziemienia
Będziemy więc używać 8 pinów GPIO PI jako 8-bitowego PORTU. Tutaj GPIO13 to LSB (najmniej znaczący bit), a GPIO 12 to MSB (najbardziej znaczący bit).
Teraz, jeśli chcemy, aby wyświetlić numer „1”, musimy segmentów energetycznych B i C. Aby zasilić segment B i C, musimy zasilić GPIO6 i GPIO16. Zatem bajt funkcji „PORT” będzie miał wartość 0b00000110, a wartość szesnastkowa „PORT” będzie równa 0x06. Gdy oba piny są wysoko, na wyświetlaczu pojawia się „1”.
Zapisaliśmy wartości dla każdej cyfry, która ma być wyświetlana, i zapisaliśmy te wartości w ciągu znaków o nazwie „WYŚWIETLANIE” (sprawdź sekcję Kod poniżej). Następnie nazwaliśmy te wartości jedną po drugiej, aby pokazać odpowiednią cyfrę na wyświetlaczu, używając funkcji „PORT”.
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)
Ustawiamy 8 pinów GPIO jako piny wyjściowe, dla pinów danych i sterujących LCD.
IO.setup (13, IO.OUT) IO.setup (6, IO.OUT) IO.setup (16, IO.OUT) IO.setup (20, IO.OUT) IO.setup (21, IO.OUT) IO.setup (19, IO.OUT) IO.setup (26, IO.OUT) IO.setup (12, IO.OUT)
Jeśli warunek w nawiasach klamrowych jest prawdziwy, instrukcje wewnątrz pętli zostaną wykonane raz. Więc jeśli bit 0 8-bitowego „pinu” jest prawdziwy, PIN13 będzie WYSOKI, w przeciwnym razie PIN13 będzie NISKI. Mamy osiem warunków 'if else' dla bitu 0 do bitu 7, więc odpowiednia dioda LED wewnątrz 7-segmentowego wyświetlacza może być ustawiona jako wysoka lub niska, aby wyświetlać odpowiednią liczbę.
if (pin & 0x01 == 0x01): IO.output (13,1) else: IO.output (13,0)
To polecenie wykonuje pętlę 10 razy, przy czym x jest zwiększane od 0 do 9.
dla x w zakresie (10):
Poniższe polecenie jest używane jako pętla wieczna, z tym poleceniem instrukcje wewnątrz tej pętli będą wykonywane w sposób ciągły.
Podczas gdy 1:
Wszystkie inne funkcje i polecenia zostały wyjaśnione w poniższej sekcji „Kod” za pomocą „Komentarze”.
Po napisaniu programu i wykonaniu go, Raspberry Pi wyzwala odpowiednie GPIO, aby pokazać cyfrę na 7-segmentowym wyświetlaczu. Program jest napisany tak, aby wyświetlacz liczył od 0 do 9 w sposób ciągły.