Spisu treści:
- Krok 1: Zbierz wszystkie części
- Krok 2: Okablowanie
- Krok 3: Instalacja pakietu Pythona
- Krok 4: Instalowanie przykładów
- Krok 5: Włączenie I2C
- Krok 6: Uruchom Calibratethresholds
- Krok 7: Zmodyfikuj, a następnie uruchom Readkeypad z przekroczeniem limitu czasu
- Krok 8: Jak działa klawiatura jednopinowa
- Krok 9: Wniosek
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
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
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
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
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
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
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
- Opcje interfejsu
- I2C
- 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
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
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
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
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.