2 sposoby na dodanie przycisku do projektu Raspberry Pi

2 sposoby na dodanie przycisku do projektu Raspberry Pi

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





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





Będziesz potrzebować

Aby rozpocząć, upewnij się, że masz następujące składniki:





  • 1 x Raspberry Pi (Wszystko się nada, model 3B jest używany w tym samouczku)
  • 1 x przycisk
  • 1 x LED
  • Rezystor 1 x 220 Ohm (wyższe wartości są w porządku, 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 użycie obrazu NOOBS (New Out Of the Box Software). Instrukcje, jak to zrobić, są dostępne w tym filmie:



Konfiguracja obwodu

Do wykonania obwodu użyjesz pinów GPIO Pi, a jeśli nie jesteś z nimi zaznajomiony, przewodnik po pinach GPIO Raspberry Pi pomoże. Obwód tutaj jest prawie taki sam jak w naszym poprzednim Projekt Raspberry Pi LED , dodając przycisk, którego będziesz używać dzisiaj.

Skonfiguruj swój obwód zgodnie z tym schematem:





  • ten 5v oraz GND piny łączą się z szynami zasilającymi płytki stykowej.
  • Pin 12 (GPIO 18) łączy się z dodatnią nogą diody LED.
  • Jedna noga rezystor mocuje się do ujemnej nogi diody LED, a druga noga mocuje się do szyny uziemiającej płytki stykowej.
  • Pin 16 (GPIO 23) mocuje się z jednej strony przycisku, druga strona mocuje się do szyny uziemiającej płytki stykowej.

Po skonfigurowaniu powinien wyglądać tak:

Sprawdź swój 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 Pythona. Jeśli jesteś całkowicie nowy w Pythonie, jest to świetny język dla początkujących i jest wiele świetnych miejsc, w których możesz dowiedzieć się więcej o Pythonie po ukończeniu tego samouczka!

Zacznij od zaimportowania biblioteki RPi.GPIO i ustawienia trybu płytki.

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

Teraz zadeklaruj zmienne dla numerów pinów diody i przycisku.

ledPin = 12
buttonPin = 16

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

Konfiguracja przycisku

Czas ustawić piny GPIO. Ustaw pin LED na wyjście, a pin przycisku na wejście z rezystorem podciągającym

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 to włączyć, aby uzyskać czysty odczyt z przycisku. Ponieważ przycisk jest skierowany do pinu uziemienia, potrzebujemy rezystora podciągającego, aby utrzymać pin wejściowy HIGH, dopóki go nie naciśniesz.

Zanim przejdziemy dalej, spójrzmy na rezystory pull-up i pull-down.

Przerwa: Rezystory pull up/pull down

Kiedy konfigurujesz pin GPIO do wejścia, odczytuje ten pin, aby określić jego stan. W tym obwodzie musisz odczytać, czy pin jest WYSOKA lub NISKA do wyzwalania diody LED po naciśnięciu przycisku. Byłoby to proste, gdyby były to jedyne stany, jakie może mieć pin, ale niestety istnieje trzeci stan: RUCHOMY .

Pływający pin ma wartość między wysokim a niskim, co powoduje, że wejście działa nieprzewidywalnie. Rezystory pull-up/pull-down rozwiązują ten problem.

Powyższy obrazek to uproszczony schemat przycisku i Raspberry Pi. Pin GPIO łączy się z masą przez przycisk. Wewnętrzny rezystor podciągający łączy pin GPIO z wewnętrznym zasilaczem Pi. Ten prąd płynie i szpilka jest bezpiecznie podciągana do WYSOKIEGO.

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

Rezystory pull-down są używane, gdy przełącznik jest podłączony do pinu zasilania. Tym razem wewnętrzny rezystor łączy pin GPIO z masą, przytrzymując LOW aż do naciśnięcia przycisku.

Teoria rezystorów pull-up i pull-down jest na pierwszy rzut oka myląca, ale ważna podczas pracy z mikrokontrolerami. Na razie, jeśli nie do końca to rozumiesz, nie martw się!

Kontynuujmy od miejsca, w którym skończyliś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)

ten podczas gdy prawda pętla nieustannie uruchamia znajdujący się w niej kod, dopóki nie zakończymy programu. Za każdym razem, gdy się zapętla, aktualizuje Stan przycisku czytając dane wejściowe z Przypinka . Dopóki przycisk nie jest wciśnięty, pozostaje WYSOKA .

Po naciśnięciu przycisku Stan przycisku staje się NISKA . To uruchamia oświadczenie if , odkąd Fałszywe jest taki sam jak NISKA , a dioda LED zaświeci się. ten w przeciwnym razie Instrukcja wyłącza diodę LED, gdy buttonPin nie ma wartości False.

Zapisz i uruchom swój skrypt

Zapisz swój skrypt, klikając Plik > Zapisz jako i wybierając nazwę pliku. Możesz uruchomić szkic, klikając zielony Bawić się na pasku narzędzi Thonny.

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

Jeśli masz problemy, 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 w bloku pojawił się nowy dzieciak. Biblioteka zerowa GPIO była stworzony przez menedżera społeczności Raspberry Pi Bena Nuttalla z zamiarem uproszczenia kodu i łatwiejszego czytania i pisania.

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

from gpiozero import LED, Button
from signal import pause

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

Ustawienie pinów jest znacznie łatwiejsze dzięki GPIO Zero:

led = LED(18)
button = Button(23)

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

dlaczego mój facetime nie działa?

Reszta skryptu to tylko trzy linijki:

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

ten pauza() call tutaj po prostu zatrzymuje wyjście skryptu, gdy osiągnie dno. Zdarzenia dwóch przycisków są wyzwalane po każdym naciśnięciu i zwolnieniu przycisku. Zapisz i uruchom swój skrypt, a zobaczysz taki sam wynik jak poprzednio!

Dwa sposoby na dodanie przycisku do Raspberry Pi

Z dwóch sposobów ustawienia przycisku metoda GPIO Zero wydaje się najłatwiejsza. Nadal warto poznać bibliotekę RPi.GPIO jako większość początkujących projektów Raspberry Pi Użyj tego. 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 jest pełen kreatywnych pomysłów i samouczków, które możesz wypróbować! Aby zapoznać się z innym samouczkiem takim jak ten, sprawdź jak zrobić przycisk połączenia Wi-Fi .

Udział Udział Ćwierkać E-mail 5 wskazówek, jak doładować swoje maszyny VirtualBox Linux

Masz dość słabej wydajności oferowanej przez maszyny wirtualne? Oto, co powinieneś zrobić, aby zwiększyć wydajność VirtualBox.

Czytaj dalej
Powiązane tematy
  • majsterkowanie
  • Malina Pi
  • Pyton
  • GPIO
  • Samouczki dotyczące projektów DIY
O autorze Ian Buckley(216 opublikowanych artykułów)

Ian Buckley jest niezależnym dziennikarzem, muzykiem, performerem i producentem wideo mieszkającym w Berlinie w Niemczech. Kiedy nie pisze ani nie występuje na scenie, majstruje przy elektronice DIY lub kodowaniu w nadziei, że zostanie szalonym naukowcem.

Więcej od Iana Buckleya

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować