Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
2 způsoby, jak spravovat klávesnici se 16 tlačítky s minimem pinů.
Krok 1: Úvod
Nedávno jsem pracoval na způsobu správy matice dotykové klávesnice 4x4 připojené ke klonu Arduino. Nastavené body byly:
-to použít pouze 4+1 piny místo 8 pinů na atmega328p
-k přidání odkazu na LCD displej 4x20 CHAR přes I2C (2 piny)
-k ovládání digitálních a analogových výstupů
Takže mít spoustu věcí k ovládání pomocí hříšného množství I/O.
Krok 2: Věci k použití:
Koupil jsem LCD displej 4x20 znaků a adaptér I2C modulu pro připojení displeje pomocí pinů SDA (A4) a SCL (A5) na můj klon arduino.
Používám slavný a nyní zastaralý MM74C922N: převodník 8 až 4 způsobů vhodný pro maticovou klávesnici 4x4.
Vytvořil jsem klon arduina na základě atmega328p a naprogramovaný přes konektor HE10 (sběrnice SPI) a kabel USBasp.
Krok 3: Schéma a rada:
Deska je vyrobena z:
-LCD klávesnice se používá pouze s Arduino IDE, není možné s LDmicro (Ladder programování)
-deska MM74C922N: 16 tlačítek kódovaných na 16 binárních hodnotách na 4 bitech DCBA. Když je stisknuto tlačítko: modrá LED se rozsvítí a na DCBA se objeví hodnota (A je LSB). Po uvolnění tlačítka: modrá LED dioda zhasne a hodnota je na DCBA resetována na nulu.
-klonová deska Arduino atmega238p.
Krok 4: Použití LDmicro s programováním žebříku:
Kód, který je třeba zadat, se skládá ze 4 hodnot mezi 16 hodnotami stisknutých kláves, takže kombinace 16x16x16x16.
Jakmile nakreslíte SFC, musíte jej přeložit do LADDERu metodou uvedenou v jednom z mých
instrukce:
www.instructables.com/id/Arduino-tomation-…
Po zadání jej zkompilovejte jako xxxx.hex a poté stáhněte pomocí programu KHAZAMA downloader.
LCD displej nelze naprogramovat na LDmicro.
Dávám LDmicro zip s náčrtem SERRURE.id a stahovacím programem KHAZAMA.
Krok 5: Použití Arduino IDE 1.8.x s Mightycore a SMlib:
Překládám SFC do stavového stroje. Pak jsem použil Arduino IDE s knihovnou Mightycore a SM uvnitř.
Zobrazuji zprávu jako: ERROR, WAITING, UNLOCK, state reach, value of the keypressed in the LCD diplay.
Dávám ti skicu a SM lib. Pro Mightycore se podívejte na toto:
www.instructables.com/id/Arduino-18x-Clone…
Krok 6: Na závěr:
Toto jsou dva způsoby, jak spravovat klávesnici 16, a trvalo mi několik hodin, než jsem našel správnou sekvenci, ale nyní to funguje dobře. Musíte respektovat tyto kroky:
-1 detekuje stisknutí klávesy na stoupající hraně pinu DA
-2 přečtěte hodnotu generovanou na DCBA a porovnejte ji s dobrou
Pokud to určitě nepůjde.
Díky všem zajímavým tutoriálům přes síť.