Spisu treści:

Przykład szafki z klawiaturą Arduino Matrix 4x4: 6 kroków
Przykład szafki z klawiaturą Arduino Matrix 4x4: 6 kroków

Wideo: Przykład szafki z klawiaturą Arduino Matrix 4x4: 6 kroków

Wideo: Przykład szafki z klawiaturą Arduino Matrix 4x4: 6 kroków
Wideo: Zasada dzialania centralki alarmowej na Arduino Uno 2024, Listopad
Anonim
Przykład szafki z klawiaturą Arduino Matrix 4x4
Przykład szafki z klawiaturą Arduino Matrix 4x4

2 sposoby zarządzania 16-przyciskową klawiaturą z minimalną liczbą pinów.

Krok 1: Wprowadzenie

Ostatnio pracowałem nad sposobem zarządzania matrycą klawiatury dotykowej 4x4 podłączoną do klonu Arduino. Ustalone punkty to:

-użycie tylko 4+1 pinów zamiast 8 pinów na atmega328p

-dodanie wyświetlacza LCD 4x20 CHAR link przez I2C (2 piny)

-do sterowania wyjściami cyfrowymi i analogowymi.

Tak więc, posiadanie wielu rzeczy do kontrolowania przy grzesznej ilości I/O.

Krok 2: Rzeczy do użycia:

Rzeczy do użycia
Rzeczy do użycia

Kupiłem wyświetlacz LCD 4x20 znaków i adapter modułu I2C do połączenia wyświetlacza z pinami SDA (A4) i SCL (A5) na moim klonie arduino.

Używam słynnego i już przestarzałego MM74C922N: konwertera 8 na 4 sposoby pasującego do matrycy 4x4.

Stworzyłem klon arduino oparty na atmega328p i zaprogramowany poprzez złącze HE10 (magistrala SPI) i kabel USBasp.

Krok 3: Schemat i tablica:

Schemat i tablica
Schemat i tablica
Schemat i tablica
Schemat i tablica

Tablica wykonana jest z:

- klawiatura LCD działa tylko z Arduino IDE, nie jest możliwa z LDmicro (programowanie drabinkowe)

-płyta MM74C922N: 16 przycisków zakodowanych na 16 wartościach binarnych na 4 bitach DCBA. Po naciśnięciu przycisku: zapala się niebieska dioda, a na DCBA pojawia się wartość (A to LSB). Po zwolnieniu przycisku: niebieska dioda LED zgaśnie, a wartość zostanie wyzerowana na DCBA.

-Płytka klonowania Arduino atmega238p.

Krok 4: Używanie LDmicro z programowaniem drabinkowym:

Używanie LDmicro z programowaniem drabinkowym
Używanie LDmicro z programowaniem drabinkowym
Używanie LDmicro z programowaniem drabinkowym
Używanie LDmicro z programowaniem drabinkowym
Używanie LDmicro z programowaniem drabinkowym
Używanie LDmicro z programowaniem drabinkowym

Kod do wprowadzenia składa się z 4 wartości spośród 16 naciśniętych klawiszy, czyli 16x16x16x16 kombinacji.

Kiedy już narysujesz SFC, musisz przetłumaczyć go na DRABINĘ za pomocą metody podanej w jednym z moich

instrukcje:

www.instructables.com/id/Arduino-tomation-…

Po wpisaniu skompiluj go jako xxxx.hex, a następnie pobierz za pomocą programu do pobierania KHAZAMA.

Wyświetlacza LCD nie można zaprogramować na LDmicro.

Daję LDmicro zip ze szkicem SERRURE.id w nim i downloaderem KHAZAMA.

Krok 5: Używanie Arduino IDE 1.8.x z Mightycore i SMlib:

Korzystanie z Arduino IDE 1.8.x z Mightycore i SMlib
Korzystanie z Arduino IDE 1.8.x z Mightycore i SMlib

Tłumaczę SFC na maszynę stanów. Następnie użyłem Arduino IDE z biblioteką Mightycore i SM w środku.

Na wyświetlaczu LCD wyświetlam komunikat typu: ERROR, WAITING, UNLOCK, stan osiągnięty, wartość naciśniętego klawisza.

Daję ci szkic i bibliotekę SM. Dla Mightycore spójrz na to:

www.instructables.com/id/Arduino-18x-Clone…

Krok 6: Podsumowując:

Są to dwa sposoby zarządzania klawiaturą 16 i zajęło mi kilka godzin, aby znaleźć dobrą sekwencję, ale teraz działa dobrze. Musisz przestrzegać tych kroków:

-1 wykryj klawisz naciśnięty na rosnącej krawędzi szpilki DA

-2 odczytaj wartość wygenerowaną na DCBA i porównaj z dobrą

Chyba że na pewno nie zadziała.

Dzięki wszystkim ciekawym tutorialem w sieci.

Zalecana: