2 sposoby dodania przycisku do projektu Raspberry Pi

  • Edmund Richardson
  • 0
  • 2981
  • 377
Reklama

Nauka używania pinów GPIO na twoim Raspberry Pi otwiera cały świat możliwości. Podstawowe zasady wyuczone w projektach dla początkujących torują drogę do przydatnej wiedzy zarówno o elektronice DIY, jak i programowaniu.

Ten samouczek pokaże dwa sposoby dodania przycisku do projektu Raspberry Pi. Przycisk będzie używany do sterowania diodą LED. Pisemne instrukcje są dostępne pod filmem.

Będziesz potrzebować

Aby rozpocząć, upewnij się, że masz następujące komponenty:

  • 1 x Raspberry Pi (dowolne, w tym samouczku użyto modelu 3B)
  • 1 x przycisk
  • 1 x LED
  • 1 x 220 Ohm Rezystor (wyższe wartości są w porządku, Twoja dioda LED będzie po prostu przyciemniona)
  • 1 x deska do krojenia chleba
  • Podłącz przewody

Po zebraniu powinieneś mieć komponenty, które wyglądają mniej więcej tak:

Będziesz także potrzebować karty SD z zainstalowanym systemem operacyjnym Raspbian. Najszybszym sposobem na to jest skorzystanie z obrazu NOOBS (New Out Of the Box Software). Instrukcje, jak to zrobić, są dostępne w tym filmie:

Konfiguracja obwodu

Będziesz używał pinów GPIO Pi do wykonania obwodu, a jeśli nie jesteś z nimi zaznajomiony, nasz przewodnik po pinach GPIO Raspberry Pi pomoże. Obwód tutaj jest prawie taki sam, jak w naszym poprzednim projekcie Raspberry Pi LED, z dodatkiem przycisku, którego będziesz używać dzisiaj.

Skonfiguruj obwód zgodnie z tym schematem:

  • The 5v i GND kołki łączą się z szynami zasilania płyty chlebowej.
  • Pin 12 (GPIO 18) łączy się z dodatnią nogą diody LED.
  • Jedna noga rezystor przymocowuje się do ujemnej nogi diody LED, a drugą nogę mocuje się do szyny uziemiającej płyty chlebowej.
  • Pin 16 (GPIO 23) przymocowuje się do jednej strony przycisku, drugą stronę do szyny uziemiającej płyty chlebowej.

Po skonfigurowaniu wygląda to tak:

Sprawdź obwód, aby upewnić się, że jest poprawny, a następnie włącz Raspberry Pi.

Metoda 1: Biblioteka RPi.GPIO

Po uruchomieniu Pi przejdź do menu i wybierz Programowanie> Thonny Python IDE. Otworzy się nowy skrypt Python. Jeśli jesteś zupełnie nowy w Pythonie, jest to świetny język dla początkujących i istnieje wiele wspaniałych miejsc, w których można dowiedzieć się więcej o Pythonie po zakończeniu tego samouczka!

Zacznij od zaimportowania biblioteki RPi.GPIO i ustawienia trybu tablicy.

import RPi.GPIO jako GPIO GPIO.setmode (GPIO.BOARD) 

Teraz zadeklaruj zmienne dla diod LED i numerów styków przycisków.

ledPin = 12 przycisk Pin = 16 

Zauważ, że ponieważ mamy ustawiony tryb tablicy DESKA używamy raczej numerów pinów niż numerów GPIO. Jeśli jest to dla ciebie mylące, wykres pinout Raspberry Pi może pomóc to wyjaśnić.

Konfigurowanie przycisku

Czas skonfigurować piny GPIO. Ustaw pin LED na wyjściu, a pin przycisku na wejście za pomocą rezystora podciągającego

GPIO.setup (ledPin, GPIO.OUT) GPIO.setup (buttonPin, GPIO.IN, pull_up_down = GPIO.PUD_UP) 

Tekst po GPIO.IN odnosi się do wewnętrzny rezystor podciągający Raspberry Pi. Musisz włączyć tę opcję, aby uzyskać czysty odczyt z przycisku. Ponieważ przycisk przechodzi do styku uziemiającego, potrzebujemy rezystora podciągającego, aby przytrzymać styk wejściowy WYSOKI, dopóki go nie naciśniesz.

Zanim przejdziemy dalej, spójrzmy na rezystory podciągające i podciągające.

Przerwa: Rezystory pull up / pull down

Po skonfigurowaniu wejścia GPIO do wejścia odczytuje on ten pin, aby określić jego stan. W tym obwodzie musisz przeczytać, czy jest pin WYSOKI lub NISKA aby włączyć diodę LED po naciśnięciu przycisku. Byłoby to proste, gdyby były to jedyne stany, które może mieć szpilka, ale niestety istnieje trzeci stan: RUCHOMY.

Pływający pin ma wartość od wysokiej do niskiej, co powoduje, że sygnał wejściowy działa nieprzewidywalnie. Rezystory pull-up / pull-down rozwiązują ten problem.

Powyższe zdjęcie to uproszczony schemat przycisku i Raspberry Pi. Pin GPIO łączy się z ziemią za pomocą przycisku. Wewnętrzny rezystor podciągający łączy pin GPIO z wewnętrznym zasilaczem Pi. Ten prąd płynie, a kołek jest bezpiecznie wyciągnięty do WYSOKI.

Po naciśnięciu przycisku pin GPIO łączy się bezpośrednio z pinem uziemienia, a przycisk odczytuje niski poziom.

Rezystory rozkładane są przeznaczone, gdy przełącznik jest podłączony do styku zasilania. Tym razem wewnętrzny rezystor mocuje pin GPIO do masy, przytrzymując LOW do momentu naciśnięcia przycisku.

Teoria podciągania i opuszczania jest myląca na pierwszy rzut oka, ale jest ważną wiedzą, którą trzeba mieć podczas pracy z mikrokontrolerami. Na razie, jeśli nie do końca rozumiesz, nie martw się!

Kontynuujmy tam, gdzie przerwaliśmy.

Pętla programu

Następnie skonfiguruj pętlę programu:

while True: buttonState = GPIO.input (buttonPin) if buttonState == False: GPIO.output (ledPin, GPIO.HIGH) else: GPIO.output (ledPin, GPIO.LOW) 

The podczas gdy prawda Pętla nieprzerwanie uruchamia w nim kod, dopóki nie zakończymy programu. Za każdym razem, gdy pętla jest aktualizowana buttonState czytając dane wejściowe z buttonPin. Gdy przycisk nie jest wciśnięty, pozostaje WYSOKI.

Po naciśnięciu przycisku, buttonState staje się NISKA. To uruchamia instrukcja if, od Fałszywe jest taki sam jak NISKA, i włącza się dioda LED. The jeszcze instrukcja wyłącza diodę LED, ilekroć przycisk Pin nie jest fałszywy.

Zapisz i uruchom skrypt

Zapisz skrypt, klikając Plik> Zapisz jako i wybranie nazwy pliku. Możesz uruchomić szkic, klikając zielony Grać przycisk na pasku narzędzi Thonny.

Teraz naciśnij przycisk, a dioda LED powinna się zaświecić! Naciśnij czerwony Zatrzymać w dowolnym momencie, aby zatrzymać program

W przypadku problemów sprawdź dokładnie kod i konfigurację obwodu pod kątem błędów i spróbuj ponownie.

Metoda 2: Biblioteka Zero GPIO

Biblioteka RPi.GPIO jest fantastyczna, ale na bloku jest nowy dzieciak. Biblioteka GPIO Zero została stworzona przez menedżera społeczności Raspberry Pi Bena Nuttalla, aby uprościć kod oraz ułatwić czytanie i pisanie..

Aby przetestować nową bibliotekę, otwórz nowy plik Thonny i zaimportuj bibliotekę.

z diody importu gpiozero, przycisk z pauzy w imporcie sygnału 

Zauważysz, że nie zaimportowałeś całej biblioteki. Ponieważ używasz tylko diody LED i przycisku, potrzebujesz tylko tych modułów w skrypcie. Sprowadzamy również Pauza z biblioteki sygnałów, która jest biblioteką Pythona do zarządzania zdarzeniami.

Konfiguracja pinów jest znacznie łatwiejsza dzięki GPIO Zero:

led = przycisk LED (18) = przycisk (23) 

Ponieważ biblioteka GPIO Zero ma moduły LED i przycisku, nie musisz konfigurować wejść i wyjść jak wcześniej. Zauważysz, że chociaż szpilki się nie zmieniły, liczby tutaj są inne niż powyżej. Jest tak, ponieważ GPIO Zero używa tylko numerów pinów GPIO (znanych również jako numery Broadcom lub BCM).

Reszta skryptu to tylko trzy linie:

button.when_pressed = led.on button.when_released = led.off pause () 

The pauza() Wywołanie tutaj po prostu zatrzymuje wyjście skryptu, gdy osiągnie dno. Zdarzenia z dwoma przyciskami są uruchamiane po każdym naciśnięciu i zwolnieniu przycisku. Zapisz i uruchom skrypt, a zobaczysz taki sam wynik jak poprzednio!

Dwa sposoby dodania przycisku do Raspberry Pi

Spośród dwóch sposobów ustawienia przycisku metoda GPIO Zero wydaje się najłatwiejsza. Warto dowiedzieć się więcej o bibliotece RPi.GPIO, ponieważ korzysta z niej większość początkujących projektów Raspberry Pi. Tak prosty jak ten projekt, wiedza może być wykorzystana do wielu rzeczy.

Używanie pinów GPIO to świetny sposób na naukę i wymyślanie własnych urządzeń, ale daleko mu do wszystkiego, co możesz zrobić z Pi. Nasz nieoficjalny przewodnik po Raspberry Pi Raspberry Pi: Nieoficjalny samouczek Raspberry Pi: Nieoficjalny samouczek Bez względu na to, czy jesteś obecnym właścicielem Pi, który chce dowiedzieć się więcej, czy potencjalnym właścicielem tego urządzenia o wielkości karty kredytowej, nie jest to przewodnik chcesz przegapić. jest pełen kreatywnych pomysłów i samouczków, które możesz wypróbować sam! W kolejnym takim samouczku sprawdź, jak zrobić przycisk połączenia Wi-Fi Jak zrobić własny przycisk połączenia Wi-Fi za pomocą ESP8266 Jak zrobić własny przycisk połączenia Wi-Fi za pomocą ESP8266 W tym samouczku dowiesz się, jak aby utworzyć przycisk z obsługą Wi-Fi za pomocą NodeMCU i IFTTT. .




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.