Obsah:
- Krok 1: Začínáme
- Krok 2: Použití 12místné klávesnice
- Krok 3: Použití 16místné klávesnice
- Krok 4: Příklad projektu - PIN Access System
Video: Používání numerických klávesnic s Arduino: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Numerické klávesnice mohou poskytovat jednoduchou alternativu koncového uživatele pro různá rozhraní pro vaše projekty. Nebo pokud potřebujete spoustu tlačítek, mohou vám ušetřit spoustu času, pokud jde o konstrukci. Projdeme jejich propojením pomocí knihovny Arduino a poté skončíme s užitečným příkladem skici.
Krok 1: Začínáme
Bez ohledu na to, odkud své klávesnice pocházíte, se ujistěte, že můžete získat list s technickými údaji - protože to usnadní jejich zapojení. Například - obrázek v tomto kroku.
Datový list je důležitý, protože vám řekne, které piny nebo konektory na klávesnici jsou pro řádky a sloupce. Pokud nemáte datový list - budete muset ručně určit, které kontakty jsou pro řádky a sloupce.
To lze provést pomocí funkce kontinuity multimetru (bzučáku). Začněte umístěním jedné sondy na pin 1, druhé sondy na pin 2 a postupně stiskněte klávesy. Poznamenejte si, kdy tlačítko dokončí obvod, a poté přejděte na další kolík. Brzy budete vědět, která je která. Například piny klávesnice 1 a 5 jsou například pro tlačítko „1“, 2 a 5 pro „4“atd.…
V tomto okamžiku si prosím stáhněte a nainstalujte knihovnu Arduino klávesnice. Nyní si na jednoduchých příkladech ukážeme, jak používat obě klávesnice.
Krok 2: Použití 12místné klávesnice
K zobrazení použijeme malou černou klávesnici, kompatibilní s Arduino Uno a LCD s rozhraním I2C. Pokud nemáte LCD, můžete místo toho vždy poslat text na sériový monitor.
Připojte svůj LCD displej a poté připojte klávesnici k Arduinu následujícím způsobem: Řádek klávesnice 1 k Arduino digital 5 Řada klávesnic 2 k Arduino digital 4K Řada klávesnic 3 k Arduino digital 3 Řada klávesnic 4 k Arduino digital 2 Sloupec klávesnice 1 k Arduino digital 8 Sloupec klávesnice 2 až Arduino digital 7Klávesnice sloupec 3 až Arduino digital 6 Pokud se vaše klávesnice liší od té naší, všimněte si řádků v náčrtu z:
// definice typu klávesnice
Je třeba změnit čísla v polích rowPins [ROWS] a colPins [COLS]. Zadáváte čísla digitálních pinů připojená k řádkům a sloupcům klávesnice.
Klávesy pole navíc ukládají hodnoty zobrazené na LCD při stisknutí konkrétního tlačítka. Můžete vidět, že jsme jej sladili s použitou fyzickou klávesnicí, ale můžete jej změnit na cokoli, co potřebujete. Ale prozatím zadejte a nahrajte následující skicu, až budete spokojeni s přidělováním čísel řádků/pinů:
/ * Numerická klávesnice a I2C LCD https://tronixstuff.com Používá knihovnu klávesnic pro Arduino https://www.arduino.cc/playground/Code/Klávesnice od Mark Stanley, Alexander Brevig */
#include "Keypad.h"
#include "Wire.h" // pro I2C LCD #include "LiquidCrystal_I2C.h" // pro sběrnicový LCD modul I2C // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C lcd (0x27, 16, 2); // pro 16 znaků a 2 řádky nastavte adresu LCD na 0x27
// definice typu klávesnice
konstantní bajty Řádky = 4; // čtyři řádky konstantní byte COLS = 3; // tři sloupce znaky klíče [ŘADY] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
byte rowPins [ROWS] = {
5, 4, 3, 2}; // připojení k řádkovým vývodům bajtu klávesnice colPins [COLS] = {8, 7, 6}; // připojení ke sloupcovým vývodům klávesnice
int count = 0;
Klávesnice klávesnice = Klávesnice (makeKeymap (klávesy), rowPins, colPins, ROWS, COLS);
neplatné nastavení ()
{lcd.init (); // inicializace lcd lcd.backlight (); // zapnout podsvícení LCD}
prázdná smyčka ()
{char key = keypad.getKey (); if (klíč! = NO_KEY) {lcd.print (klíč); počet ++; if (count == 17) {lcd.clear (); počet = 0; }}}
A výsledky náčrtu jsou uvedeny ve videu. Nyní tedy vidíte, jak lze stisknutí tlačítek převést na data pro použití v náčrtu. Nyní tuto ukázku zopakujeme s větší klávesnicí.
Krok 3: Použití 16místné klávesnice
Pro zobrazení použijeme větší klávesnici 4 × 4, kompatibilní s Arduino Uno a pro změnu I2C LCD od Akafugu. Opět platí, že pokud nemáte LCD, můžete místo toho vždy poslat text na sériový monitor. Připojte kabel LCD a poté připojte klávesnici k Arduinu následujícím způsobem:
- Řádek klávesnice 1 (pin osm) na digitální Arduino 5
- Řádek klávesnice 2 (pin 1) k Arduino digital 4
- Řádek klávesnice 3 (kolík 2) na digitální Arduino 3
- Klávesnice řady 4 (pin 4) na Arduino digital 2
- Sloupec klávesnice 1 (pin 3) na Arduino digital 9
- Sloupec klávesnice 2 (pin 5) na Arduino digital 8
- Sloupec klávesnice 3 (pin 6) na Arduino digital 7
- Sloupec klávesnice 4 (pin 7) na Arduino digital 6
Nyní k náčrtu - vezměte na vědomí, jak jsme se přizpůsobili větší numerické klávesnici: další sloupec v klíčových polích pole další pin v poli colPins a byte COLS = 4.
/ * Numerická klávesnice a I2C LCD https://tronixstuff.com Používá knihovnu klávesnic pro Arduino https://www.arduino.cc/playground/Code/Klávesnice od Mark Stanley, Alexander Brevig */
#include "Keypad.h"
#include "Wire.h" // pro I2C LCD #include "TWILiquidCrystal.h" // https://store.akafugu.jp/products/26 LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
konstantní bajty Řádky = 4; // čtyři řádky
konstantní bajt COLS = 4; // čtyři sloupce znaky klíče [ŘADY] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {5, 4, 3, 2}; // připojení k řádkovým vývodům bajtů klávesnice colPins [COLS] = {9, 8, 7, 6}; // připojení ke sloupcům pinouts klávesnice int count = 0;
Klávesnice klávesnice = Klávesnice (makeKeymap (klávesy), rowPins, colPins, ROWS, COLS);
neplatné nastavení ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Test klávesnice!"); zpoždění (1000); lcd.clear (); }
prázdná smyčka ()
{char key = keypad.getKey (); if (klíč! = NO_KEY) {lcd.print (klíč); Serial.print (klíč); počet ++; if (count == 17) {lcd.clear (); počet = 0; }}}
A opět můžete vidět výsledky náčrtu výše ve videu.
Nyní k příkladu projektu, který je pravděpodobně nejžádanějším použitím numerické klávesnice…
Krok 4: Příklad projektu - PIN Access System
Zdá se, že nejžádanějším použitím numerické klávesnice je aplikace ve stylu „PIN“, kde je Arduino instruováno, aby udělal něco na základě zadání správného čísla na klávesnici. Následující skica používá hardware popsaný pro předchozí skicu a implementuje šestimístný systém zadávání PIN.
Akce, které se mají provést, lze vložit do funkcí correctPIN () a NesprávnýPIN (). A PIN se nastavuje v poli char PIN [6]. S trochou práce navíc si můžete vytvořit vlastní funkci pro změnu PINu.
// Přepínač PIN s 16místnou numerickou klávesnicí // https://tronixstuff.com #include "Keypad.h" #include #include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
konstantní bajty Řádky = 4; // čtyři řádky
konstantní bajt COLS = 4; // čtyři sloupce znaky klíče [ŘADY] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {5, 4, 3, 2}; // připojení k řádkovým vývodům bajtů klávesnice colPins [COLS] = {9, 8, 7, 6}; // připojení ke sloupcovým vývodům klávesnice
Klávesnice klávesnice = Klávesnice (makeKeymap (klávesy), rowPins, colPins, ROWS, COLS);
char PIN [6] = {
'1', '2', 'A', 'D', '5', '6'}; // náš pokus o tajný (!) počet znaků [6] = {'0', '0', '0', '0', '0', '0'}; // použité pro srovnání int z = 0;
neplatné nastavení ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print („zámek PIN“); zpoždění (1000); lcd.clear (); lcd.print ("Zadejte PIN …"); }
void correctPIN () // proveďte to, pokud je zadán správný PIN
{lcd.print (" * Správný PIN *"); zpoždění (1000); lcd.clear (); lcd.print ("Zadejte PIN …"); }
neplatný nesprávný PIN () // proveďte, pokud byl zadán nesprávný PIN
{lcd.print (" * Zkuste to znovu *"); zpoždění (1000); lcd.clear (); lcd.print ("Zadejte PIN …"); }
neplatný checkPIN ()
{int správné = 0; int i; pro (i = 0; i <6; i ++) {
if (pokus == PIN )
{správný ++; }} if (correct == 6) {correctPIN (); } else {nesprávnýPIN (); }
pro (int zz = 0; zz <6; zz ++) {pokus [zz] = '0'; }}
void readKeypad ()
{char key = keypad.getKey (); if (klíč! = NO_KEY) {pokus [z] = klíč; z ++; přepínač (klíč) {case '*': z = 0; přestávka; případ '#': z = 0; zpoždění (100); // pro extra debounce lcd.clear (); checkPIN (); přestávka; }}}
prázdná smyčka ()
{readKeypad (); }
Projekt je ukázán na videu.
Nyní tedy máte možnost používat s vašimi systémy Arduino klávesnice s dvanácti a šestnácti tlačítky. Jsem si jist, že v blízké budoucnosti vymyslíte pomocí klávesnic něco užitečného a zajímavého.
Tento příspěvek vám přináší pmdway.com - vše pro výrobce a nadšence do elektroniky s bezplatnou dodávkou po celém světě.
Doporučuje:
Používání Flux - Základy pájení: 5 kroků
Používání Flux | Základy pájení: Kdykoli pájíte, musí pájka dobře spojit součásti, na které pájíte. Kov částí a kov pájky musí přijít do přímého kontaktu, aby se vytvořilo dobré spojení. Ale protože já
Stahování a používání aplikace Android Studio s Kotlinem: 4 kroky
Stahování a používání aplikace Android Studio s Kotlinem: Dobrý den, doufám, že jste během této pandemie v pořádku. V tomto tutoriálu vás naučím, jak si stáhnout Android Studio a spustit svou první aplikaci s Kotlinem. Na konci tohoto tutoriálu byste měli vědět, jak stáhnout a vytvořit jednoduchou aplikaci pomocí Andro
MONITOROVÁNÍ ZNEČIŠŤOVÁNÍ MQ7 POUŽÍVÁNÍ VĚCÍ A NODEMCU: 4 kroky
MONITOROVÁNÍ ZNEČIŠTĚNÍ MQ7 POUŽÍVÁNÍ VĚCÍ A NODEMCU: Znečištění je hlavním problémem našeho dnešního světa. Ale jak můžeme monitorovat naše znečištění poblíž, nyní je velmi snadné ZAČÍT:
BOOST CONVERTER POUŽÍVÁNÍ COIN CELL: 4 kroky
BOOST CONVERTER POUŽÍVÁCÍ COIN CELL: Čau lidi … Tady je můj nový návod. Bateriové články se používají v každodenním životě jako zdroje energie pro napájení přenosné elektroniky. Hlavní nevýhodou článků je provozní napětí. Typická lithiová baterie má normální napětí 3,7 V, ale
Brnění z klávesnic: 7 kroků
Brnění z klávesnic: Toto je návod, jak vytvořit zbroj ze sady klávesnic. Nepoužívejte pilové pily, protože tím budou zničeny, a protože budete zacházet se všemi druhy ošklivých spotřebičů a ostrých hran, buďte velmi opatrní, abyste nezranili