Přejít na hlavní obsah

Práce s maticovou klávesnicí Arduino: podrobný průvodce a příklady kódu

Maticová klávesnice je zařízení, které vám umožňuje připojit více tlačítek k jednomu ovladači Arduino pomocí menšího počtu vodičů. Taková klávesnice má mřížku složenou z řad a sloupců a každé tlačítko je průsečíkem řady a sloupce.

Práce s maticovou klávesnicí Arduino vám umožňuje vytvářet různé projekty, jako jsou digitální zámky, herní ovladače, Ovládací panely atd. v této příručce se podíváme na základní principy práce s maticovou klávesnicí a poskytneme příklady kódu, které vám pomohou začít vytvářet vlastní projekty.

Chcete-li pracovat s maticovou klávesnicí Arduino, budete ji muset připojit k odpovídajícím pinům ovladače. V závislosti na modelu klávesnice se počet řad a sloupců může měnit. V této příručce se podíváme na příklady pro klávesnice se 4 řadami a 4 sloupci.

Programově lze pracovat s maticovou klávesnicí Arduino pomocí knihovny "Keypad". Umožňuje pohodlně určit, které tlačítko bylo stisknuto a zpracovat danou událost. Tyto informace lze dále použít k různým činnostem, jako jsou změny stavu LED nebo odesílání dat sériovým portem.

Práce s maticovou klávesnicí Arduino: základy a instalace

Před zahájením práce s maticovou klávesnicí je na Arduinu nutné nainstalovat několik knihoven. To vám umožní používat hotové funkce a techniky pro práci s klávesnicí, což výrazně zjednoduší proces vývoje.

Zde je seznam potřebných knihoven:

  1. Keypad: tato knihovna poskytuje funkce pro práci s maticovou klávesnicí, včetně určování stisknutých tlačítek a zpracování událostí. Chcete-li nainstalovat knihovnu, přejděte do nabídky Arduino IDE, vyberte "Sketch" - > "include Library" - > "Manage Libraries", vyhledejte "Keypad" a klikněte na "Install".
  2. Wire: je to standardní knihovna Arduino, která Vám umožňuje instalovat a pracovat s připojenými zařízeními pomocí protokolu I2C. je nezbytná pro připojení některých modelů maticových klávesnic. Knihovna je již nainstalována v Arduino IDE a nevyžaduje samostatnou instalaci.

Po instalaci potřebných knihoven můžete začít připojovat maticovou klávesnici k Arduinu. K tomu budete potřebovat následující komponenty:

  • Maticová klávesnice (obvykle se skládá ze 4x4 nebo 3x4 tlačítek).
  • Arduino (jakýkoli model).
  • Odpory 10cm (pro zvedání vstupních pinů).
  • Vodiče pro připojení komponent.

Po připojení klávesnice k Arduinu použijte příklady kódu k zahájení práce se zařízením. Tyto příklady jsou k dispozici v nabídce Arduino IDE ("File" - > "Examples" - > "Keypad"). Vyberte vhodný příklad v závislosti na vaší maticové klávesnici a stáhněte si ji na Arduino.

Po stažení příkladu budete moci sledovat výstup integrovaného LED indikátoru Arduino nebo získat informace o stisknutých tlačítkách v sériovém monitoru Arduino IDE.

Nyní umíte pracovat s maticovou klávesnicí Arduino a víte, jak nainstalovat potřebné knihovny pro práci se zařízením. Tento nástroj můžete použít k vytváření různých projektů, včetně přístupových systémů, automatické palubní desky a dalších.

Instalace knihovny a připojení klávesnice k Arduinu

Pro práci s maticovou klávesnicí na Arduinu je nutné nainstalovat příslušnou knihovnu. V této příručce použijeme knihovnu Keypad, která poskytuje pohodlné funkce pro práci s klávesnicí.

Chcete-li nainstalovat knihovnu, postupujte podle následujících kroků:

  1. Otevřete vývojové prostředí Arduino IDE.
  2. Přejděte do nabídky Skeč ->Povolit knihovnu ->Správa knihoven.
  3. Do vyhledávacího pole zadejte Keypad.
  4. Najděte knihovnu Keypad a stiskněte tlačítko Nainstalovat.
  5. Po instalaci knihovny můžete zavřít nabídku správy knihoven.

Nyní, když je knihovna nainstalována, je možné připojit maticovou klávesnici k Arduinu. K připojení budete potřebovat:

  • Arduino (jakýkoli model).
  • Maticová klávesnice (obvykle 4x4 nebo 3x4).
  • Dráty pro připojení.

Pro připojení klávesnice k Arduinu postupujte podle následujících kroků:

  1. Připojte piny klávesnice k pinům Arduino pomocí vodičů. Klávesnice má obvykle 8 pinů, které jsou rozděleny do 4 řádků a 4 sloupců. V souladu s tím budete k připojení potřebovat 8 pinů Arduina.
  2. Připojte VCC (napájení) klávesnice k 5V pinu na Arduinu.
  3. Připojte GND (zemi) klávesnice k GND pinu na Arduinu.

Po správném připojení klávesnice k Arduinu můžete začít vyvíjet softwarový kód. V další části se podíváme na hlavní příklady kódu pro práci s maticovou klávesnicí na Arduinu.

Pochopení maticové klávesnice Arduino: pinout a princip fungování

Hlavním principem maticové klávesnice je, že tlačítka klávesnice jsou uspořádána jako matice, kde každé tlačítko má své vlastní jedinečné souřadnice - řádek a sloupec. Kliknutím na tlačítko se uzavřou příslušné řádky a sloupce, což vám umožní určit, které tlačítko bylo stisknuto. Arduino může číst stav každého řádku a každého sloupce a určit, které tlačítko bylo stisknuto.

Pro práci s maticovou klávesnicí na Arduinu budeme potřebovat pět pinů. Dva piny budou použity pro správu řádků (stroboskopie) a tři piny pro čtení stavu sloupců. Počet řádků a sloupců je určen konkrétní klávesnicí.

Pinout maticové klávesnice se může lišit v závislosti na výrobci, ale ve většině případů mají klávesnice portový PIN. Pokud máme například maticovou klávesnici 4x4, bude mít 4 řádky a 4 sloupce.

Příklad pinout maticové klávesnice 4x4:

Stroboskopy (kontakty připojené k pinům Arduino):

Sloupce (kolíky, které jsou čteny z pinů Arduino):

Sloupec 1-Pin 6

Sloupec 2-Pin 7

Sloupec 3-Pin 8

Sloupec 4-Pin 9

V tomto příkladu jsou řádky připojeny k pinům 2-5 a sloupce jsou připojeny k pinům 6-9. Když je třeba určit, které tlačítko je stisknuto, nejprve nastavíme napětí na jednom z řádků a poté přečteme stav všech sloupců. Poté přepneme na další řádek a postup opakujeme pro každý řádek.

Oficiální knihovna Arduino neobsahuje žádnou speciální funkci pro práci s maticovými klávesnicemi, ale její použití není náročné. Budete muset určit, která tlačítka odpovídají určitým řádkům a sloupcům, a nakonfigurovat Arduino pro čtení a analýzu stavu tlačítek.

Pin klávesnice a popis signálních vodičů

Pro práci s maticovou klávesnicí Arduino je nutné ji připojit k konektorům desky. Pinování klávesnice se může lišit v závislosti na modelu, ale obvykle se skládá ze dvou řad signálních vodičů a dvou řad vodičů společné země.

Signální vodiče se používají k přenosu informací o stisknutí kláves, zatímco obecné zemské vodiče se používají k vytvoření uzavření obvodů stisknutím kláves. Společná země se připojuje ke všem vodičům matice kláves a signální vodiče se připojují k nohám Arduina.

Umístění vodičů na klávesnici je obvykle označeno písmeny a číslicemi od A0 do F6. Příklad umístění vodičů může vypadat následovně:

A1 A2 A3 A4 A5 A6F0 [ # 9 5 1 0 RD ]F1 [ pb 8 4 3 2 rw ]F2 [ op 7 6 125 c= ]F3 [ 10 11 12 13 14]F4 [ = 16 15 14 13 12]F5 [ 0 18 17 16 15 14]F6 [ + 19 18 17 16 15]

Pomocí podobného pinout je nutné připojit signální vodiče k odpovídajícím nohám Arduina a vodiče společné země k zemním nohám desky. Kromě toho je třeba zajistit, aby se žádný vodič nepřerušoval s jinými vodiči matice, aby nedošlo ke zkratu nebo chybnému spuštění kláves.

Jakmile je klávesnice správně připojena k Arduinu, můžete začít psát kód pro zpracování stisků kláves a implementaci požadované funkce.

Princip maticové klávesnice a metody čtení stisků

Princip maticové klávesnice je založen na spojení mezi řádky a sloupci. Při absenci klepnutí jsou všechny řádky uzemněny odporem a sloupce jsou připojeny k pinům mikrokontroléru. Když uživatel stiskne tlačítko, příslušný sloupec se uzavře na požadovaný řádek.

Čtení klepnutí na maticové klávesnici lze provést několika způsoby. Jednou z nejběžnějších metod je sekvenční čtení. V tomto případě nejprve dojde k ověření prvního sloupce: mikrokontrolér zkontroluje všechny řádky, aby zkontroloval, zda existuje klepnutí. Tento proces se poté opakuje pro všechny sloupce, aby se naskenovaly Všechny klávesy klávesnice.

Dalším způsobem čtení klepnutí je použití přerušení. Při použití této metody mikrokontrolér vyšle signál přerušení, když je tlačítko na klávesnici stisknuto nebo uvolněno. Díky tomu je možné určit, které tlačítko bylo stisknuto nebo uvolněno, aniž byste museli procházet všechna tlačítka.

Při práci s maticovou klávesnicí v Arduinu je nutné pro stabilní provoz použít odpory zvedání (pull-up resistors) nebo odpory odtahování (pull-down resistors). Mezi každým sloupcem a napájením se připojují odpory zvedání a mezi každým sloupcem a zemí odpory odtahování. Tím se zabrání nežádoucím účinkům, jako je klepání na tlačítko, když stisknete tlačítko.

Pomocí těchto metod čtení klepnutí budete moci efektivně pracovat s maticovou klávesnicí na Arduinu a vytvářet různé projekty, které vyžadují zadávání dat pomocí klávesnice.

Příklady kódu pro práci s maticovou klávesnicí Arduino

#include const byte ROW_NUM = 4;const byte COLUMN_NUM = 4;char keys[ROW_NUM][COLUMN_NUM] = ,,,>;byte pin_rows[ROW_NUM] = ;byte pin_column[COLUMN_NUM] = ;Keypad keypad = Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM);void setup()void loop()>

Pomocí této knihovny lze snadno číst stisky kláves z maticové klávesnice. V kódu výše jsou definovány hodnoty, které odpovídají symbolům na klávese. Klávesy jsou znázorněny v poli dvourozměrného pole Keys a piny, ke kterým jsou připojeny řádky a sloupce matice, jsou nastaveny v polích pin_rows a pin_columns.

Ve funkci loop () probíhá dotazování klávesnice pomocí funkce getKey (), která vrací symbol stisknuté klávesy. Pokud byla stisknuta klávesa, symbol se zobrazí v monitoru sériového portu.

Kromě knihovny Keypad existují další knihovny pro práci s maticovou klávesnicí, jako je Adafruit_Trellis. Zde je příklad kódu, který ukazuje použití této knihovny:

#include #include #define NUM_TRELLIS 1Adafruit_Trellis trellis = Adafruit_Trellis();void setup() void loop() 

Tento příklad kódu ukazuje použití knihovny Adafruit_Trellis pro práci s maticovou klávesnicí. V kódu je inicializován objekt trellis, příkazem trellis.begin (0x70), který označuje adresu sběrnice I2C, na které je klávesnice umístěna. Ve funkci loop () pak probíhá průzkum stisku kláves. Pokud byla klávesa právě stisknuta nebo uvolněna, zobrazí se odpovídající zpráva do monitoru sériového portu.

Pomocí těchto příkladů kódu lze snadno začít pracovat s maticovou klávesnicí na Arduinu a vytvářet vlastní projekty.