Spisu treści:

Instrukcja obsługi klawiatury jednopinowej Raspberry Pi: 9 kroków
Instrukcja obsługi klawiatury jednopinowej Raspberry Pi: 9 kroków

Wideo: Instrukcja obsługi klawiatury jednopinowej Raspberry Pi: 9 kroków

Wideo: Instrukcja obsługi klawiatury jednopinowej Raspberry Pi: 9 kroków
Wideo: Budowa klawiatury i zastosowanie klawiszy. 2024, Lipiec
Anonim
Instrukcja obsługi klawiatury jednopinowej Raspberry Pi
Instrukcja obsługi klawiatury jednopinowej Raspberry Pi

OŚWIADCZENIE: TO JEST PRZEWODNIK UŻYTKOWANIA PRODUKTU OPEN SOURCE: KLAWIATURA Z JEDNYM PINEM. TO NIE JEST PROJEKT DIY. JEŚLI CHCESZ SAMODZIELNIE WYKONAĆ DESKI, PLIKI ORŁA ZNAJDZIESZ NA KOŃCU SAMOUCZKA

Co to jest klawiatura jednopinowa?

Klawiatura jednopinowa znacznie ułatwia korzystanie z klawiatury matrycowej i pozwala zarezerwować cenne piny we/wy do innych celów. 16-przyciskowa klawiatura macierzowa zazwyczaj wymaga 8 wejść cyfrowych w mikrokontrolerze lub komputerze jednopłytkowym. Najpopularniejsze Arduino ograniczają Cię do 14 cyfrowych pinów, więc 16-przyciskowa klawiatura pozostawia Ci tylko 6 pinów na resztę projektu. Ten niedobór zasobów może prowadzić do kosztownych kompromisów projektowych lub bardziej kosztownej modernizacji mikrokontrolera. Moduł klawiatury jednopinowej eliminuje potrzebę stosowania wszystkich tych wejść cyfrowych. Jak sama nazwa wskazuje, klawiatura jednopinowa wykorzystuje tylko jeden pin (wejście analogowe) oraz połączenia GND i VCC, więc okablowanie klawiatury jest bardzo proste! Dla użytkowników Raspberry Pi (grupa docelowa tego samouczka) wymaga również konwertera analogowo-cyfrowego ADS1115, który jest naprawdę łatwy do podłączenia. Pakiet Python Keypad One Pin (w zestawie) upraszcza również programowanie wymagane do przetwarzania danych wejściowych z klawiatury, oszczędzając więcej czasu i wysiłku.

Aby zapoznać się z przewodnikiem użytkowania Arduino, kliknij tutaj.

Krok 1: Zbierz wszystkie części

Zbierz wszystkie części!
Zbierz wszystkie części!

Aby rozpocząć pracę z tablicą One Pin Keypad, potrzebujesz:

  • Jednopinowa tablica klawiatury
  • Arduino o pewnym smaku (w tym przypadku użyto Arduino Nano)
  • 3 kable połączeniowe M/F,
  • 4 kable M/M LUB 4 więcej kabli połączeniowych M/F, w zależności od typu złączy na Twoim Raspberry Pi
  • 16-przyciskowa klawiatura membranowa
  • Deska do krojenia chleba (tutaj używa się naprawdę małego)
  • Moduł ADS1115 (z Adafruit lub klon)
  • Raspberry Pi z połączeniem internetowym i Raspbian OS (użyłem Stretch)
  • Akcesoria Raspberry Pi (kabel HDMI, zasilacz, klucze sprzętowe, monitor itp. zależą od smaku Raspberry Pi)

Krok 2: Okablowanie

Okablowanie!
Okablowanie!
Okablowanie!
Okablowanie!

Podłącz klawiaturę jednopinową zgodnie ze schematem Fritzing, zdjęciem lub obydwoma, w zależności od preferencji.

Uwaga: notatka na schemacie Fritzing reprezentuje klawiaturę jednopinową (a skróty GND VCC i AOUT oznaczają piny płyty klawiatury jednopinowej)

Krok 3: Instalacja pakietu Pythona

Instalacja pakietu Pythona!
Instalacja pakietu Pythona!
Instalacja pakietu Pythona!
Instalacja pakietu Pythona!

Otwórz okno terminala i wpisz następujące polecenia:

aktualizacja sudo apt-get

następnie

pip3 zainstaluj Progetto-One-Pin-Keypad

zainstalować pakiet i jego niezbędne zależności

Krok 4: Instalowanie przykładów

Instalowanie przykładów
Instalowanie przykładów

Utworzyłem folder dev do przechowywania repozytorium pod home/pi, jeśli chcesz zrobić to samo (jest to całkowicie opcjonalne), uruchom to polecenie:

mkdir dev

następnie, aby przejść do folderu, wpisz:

programista cd

Na koniec, aby sklonować repozytorium, wprowadź następujące polecenie:

git clone

Krok 5: Włączenie I2C

Włączanie I2C
Włączanie I2C
Włączanie I2C
Włączanie I2C
Włączanie I2C
Włączanie I2C

ADS1115 ADC (przetwornik analogowo-cyfrowy) wykorzystuje protokół I2C (Inter-Integrated Circuit) do komunikacji z Raspberry Pi, domyślnie magistrala I2C jest wyłączona, aby ją włączyć, wpisz:

sudo raspi-config

który przeniesie Cię do niebieskiego okna konfiguracji, stamtąd za pomocą klawiszy strzałek i klawisza enter wybierz

  1. Opcje interfejsu
  2. I2C
  3. Następnie zejdź do

Wskazówka: odwołanie się do powyższych zrzutów ekranu może trochę pomóc! Jeśli nadal tkwisz, nie bój się! Zapoznaj się z tym niesamowitym poradnikiem od Sparkfun!

Krok 6: Uruchom Calibratethresholds

Uruchom progi kalibracji!
Uruchom progi kalibracji!

Przejdź do repozytorium, jeśli jeszcze tego nie zrobiłeś, i przejdź do folderu przykładów, używając tych poleceń:

Wskazówka: wpisz „cd Prog”, a następnie naciśnij Tab, powinno to automatycznie uzupełnić nazwę repozytorium!

cd Progetto_One_Pin_Keypad_Python_Package

następnie wpisz:

przykłady cd

następnie uruchom przykład kalibrowania progów za pomocą tego polecenia:

progi kalibracji python3

i postępuj zgodnie z instrukcjami wyświetlanymi na konsoli, aby skalibrować swoją tablicę. Po kalibracji wszystkich przycisków przetestuj nowe wartości analogowe, aby sprawdzić, czy działają, naciskając niektóre przyciski po wyświetleniu monitu „Rozpocznij”. Jeśli nowe wartości okażą się niedokładne, użyj Ctrl C, aby zabić program i uruchomić go ponownie.

Przykład kalibracji powinien dostarczyć ci 2 wierszy kodu, których będziesz potrzebować w następnym przykładzie, upewnij się, że konsola jest otwarta i/lub skopiuj je oba!

Krok 7: Zmodyfikuj, a następnie uruchom Readkeypad z przekroczeniem limitu czasu

Zmodyfikuj, a następnie uruchom Readkeypad z przekroczeniem limitu czasu
Zmodyfikuj, a następnie uruchom Readkeypad z przekroczeniem limitu czasu
Zmodyfikuj, a następnie uruchom Readkeypad z przekroczeniem limitu czasu
Zmodyfikuj, a następnie uruchom Readkeypad z przekroczeniem limitu czasu
Zmodyfikuj, a następnie uruchom Readkeypad z przekroczeniem limitu czasu
Zmodyfikuj, a następnie uruchom Readkeypad z przekroczeniem limitu czasu

Teraz, gdy klawiatura One Pin jest skalibrowana, nadszedł czas, aby ją użyć. Chociaż możesz to zrobić z wiersza poleceń za pomocą vi, osobiście wolę używać IDE, takiego jak IDLE.

Otwórz IDLE (będziesz chciał wersję python3) i zmodyfikuj następujące linie:

Pamiętasz tę tablicę wartości analogowych, którą skopiowałeś? Zastąp wiersz 13 (patrz poniżej) tymi nowo skalibrowanymi wartościami analogowymi.

# np: my_thresholds = [skalibrowane wartości byłyby tutaj]

otrzymuje brzmienie:

moje_progi = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]

Następnie dodaj następną linię kodu po linii 23 (patrz poniżej):

keyboard.useCalibratedThresholds(my_thresholds)

dodaje się po wierszu 23:

# np: keyboard.use_kalibrowane_progi (nazwa twojej tablicy)

sprawiając, że wiersze od 22 do 24 wyglądają na końcu tak:

# Jeśli używane są wartości kalibrowane, użyj poniżej wartości kalibrowanych:

# np: keyboard.use_kalibrowane_progi (nazwa twojej tablicy)

keyboard.use_kalibrowane_progi(moje_progi)

Po wykonaniu tej czynności uruchom kod i przetestuj go, naciskając kilka przycisków! Zapraszam do dostosowania przykładowego szkicu do swoich projektów! Pamiętaj, że read_keypad_with_timeout zwraca wciśnięty przycisk jako znak, a czas oczekiwania jest ustawiony w milisekundach! Jeśli nie chcesz przekroczyć limitu czasu, użyj stałej keyboard. NO_TIMEOUT.

Krok 8: Jak działa klawiatura jednopinowa

Jak działa klawiatura jednopinowa
Jak działa klawiatura jednopinowa
Jak działa klawiatura jednopinowa
Jak działa klawiatura jednopinowa

Duża część projektu klawiatury jednopinowej opiera się na implementacji dzielnika napięcia Hari Wiguny, aby uzyskać unikalną wartość analogową dla każdego klawisza w 16-pinowej klawiaturze. Konstrukcja klawiatury jednopinowej pozostaje w dużej mierze taka sama, z kilkoma poprawkami. Jeśli chcesz świetnego samouczka na temat działania klawiatury jednopinowej, obejrzyj niesamowity film Hari Wiguny tutaj!

Krok 9: Wniosek

Wniosek
Wniosek

W tej instrukcji omówiliśmy, jak rozpocząć pracę z tablicą One Pin Keypad. Teraz ciekawi wśród was mogli się zastanawiać, dlaczego przykładowy szkic readKeypadInstantaneous nigdy nie był używany, ponieważ nie jest on tak użyteczny, ponieważ przycisk musi być wciśnięty, gdy jest wywołany, funkcja readKeypadInstantaneous() służy przede wszystkim do uproszczenia readKeypadWithTimeout() w bibliotece. Jeśli wpadnie Ci w oko, możesz się nim zakręcić. Miłego hakowania!

Jeśli masz jakieś pytania, zostaw komentarz poniżej lub napisz do nas na adres [email protected]. Wszystkiego najlepszego, Progetto Company P. S. Zgodnie z obietnicą, link do Eagle Files zarządu.

Zalecana: