Spisu treści:

Korzystanie z klawiatury 4x4 w CircuitPython: 4 kroki
Korzystanie z klawiatury 4x4 w CircuitPython: 4 kroki

Wideo: Korzystanie z klawiatury 4x4 w CircuitPython: 4 kroki

Wideo: Korzystanie z klawiatury 4x4 w CircuitPython: 4 kroki
Wideo: NAJLEPSZE klawiatury za 200 zł | Mechaniczne i membranowe 2024, Lipiec
Anonim
Korzystanie z klawiatury 4x4 w CircuitPython
Korzystanie z klawiatury 4x4 w CircuitPython

Ta niedroga klawiatura oferuje prostą metodę wprowadzania liczb do projektów CircuitPython. Użyję go z ekspresem Adafruit ItsyBitsy M0.

Będziesz potrzebować:

  • Klawiatura - moja to 4x4
  • ItsyBitsy M0 Express lub podobna tablica
  • Mu Editor zainstalowany na twoim komputerze
  • Kabel USB do flashowania kodu

Krok 1: Jak działa klawiatura

Jak działa klawiatura
Jak działa klawiatura

Klawiatura ma 16 prostych, wolno działających przełączników bąbelkowych ułożonych w 4 na siatce z 8 połączeniami na dole. Jeśli ponumerujemy od lewej od 0 do 7, połączenia od 0 do 3 są połączone z każdym z wierszy. Połączenie 0 z górnym rzędem i połączenie 3 z dolnym rzędem. Połączenia od 4 do 7 są połączone ze słupami za pomocą połączenia 4 na lewym słupie i połączenia 7 na prawym słupie. Każdy z 16 przełączników tworzy połączenie między różnymi kombinacjami wierszy/kolumn. Jeśli naciśniemy klawisz 7 trzeci rząd zostanie połączony z lewą kolumną. Możemy wyczuć, czy klawisz 5 zostanie naciśnięty, jeśli jego wiersz jest podniesiony na WYSOKI i możemy odczytać WYSOKI w jego kolumnie. W tym celu wykonujemy WYJŚCIE do wierszy i WEJŚCIE z kolumn.

Musimy ustawić każdy wiersz po kolei na WYSOKI, podczas gdy pozostałe wiersze są na NISKI, czytaj po kolei każdą kolumnę, aż otrzymamy wejście WYSOKIE. Można to łatwo zarządzać za pomocą zagnieżdżonych pętli for.

Musimy wziąć pod uwagę fakt, że te przełączniki bąbelkowe działają dość wolno i muszą być dość mocno wciśnięte, aby je zamknąć. Skanowanie wszystkich 16 przełączników w ten sposób można wykonać bardzo szybko, ale musimy skanować wielokrotnie, aby wychwycić naciśnięcie klawisza. Musimy również „odbić się” z krótkim opóźnieniem, aby klawisze nie powtarzały się za każdym razem, gdy naciśniemy.

Ponieważ przełączniki są dość „gruchate”, potrzebujemy informacji zwrotnej dla użytkownika, aby wskazać, że naciśnięcie klawisza zostało odczytane. Wbudowana dioda LED miga za każdym razem, gdy wykryte zostanie naciśnięcie klawisza.

Krok 2: Połączenia fizyczne

Połączenia fizyczne
Połączenia fizyczne

Połączenia od lewej do prawej na KeyPad0 1 2 3 4 5 6 7

D7 D9 D10 D11 A5 A4 A3 A2 na ItsyBitsy

D7 do D11 są ustawione jako WYJŚCIA, podczas gdy A5 do A2 są ustawione jako WEJŚCIA z PULLDOWN.

Kod zawiera wiele komentarzy i powinien być dość łatwy do naśladowania.

Krok 3: Jak działa Getkey()

Jak działa Getkey()?
Jak działa Getkey()?

Ta funkcja skanuje klawiaturę w poszukiwaniu pojedynczego naciśnięcia klawisza. Szybko sprawdza każdy z kluczy po kolei maksymalnie 10 razy, aby sprawdzić, czy przełącznik kluczykowy jest zamknięty. Jeśli klawisz zostanie naciśnięty, zwraca wartość klawisza, licząc od lewej do prawej od góry do dołu (0…15) Zanotuj wartości w dolnym wierszu: 14, 0, 15, 13 (Hex E, 0, F, D). Jeśli nie został naciśnięty żaden klawisz, zwraca -999 jako kod błędu, który można łatwo odczytać w programie głównym. Wbudowana dioda LED miga, jeśli naciśnięcie klawisza zostanie odebrane jako informacja zwrotna od użytkownika. Działa to dość szybko, a oczekiwanie na odskok 0,2 sekundy jest używane tylko po naciśnięciu klawisza.

Krok 4: Getvalue(cyfry)

Pobierzwartość(cyfry)
Pobierzwartość(cyfry)

Ta procedura dostarcza wartość n cyfr z klawiszy numerycznych. Ignoruje czerwone klawisze.

Ten kod Pythona można łatwo przekonwertować, aby działał na innym urządzeniu, takim jak Raspberry Pi, prawdopodobnie wystarczy zmienić linie konfiguracji pinów u góry skryptu.

Daj mi znać, jeśli kod okaże się przydatny.

Bądź bezpieczny i baw się dobrze!

Zalecana: