Obsah:
- Krok 1: Sériové zobrazení
- Krok 2: Matrix klávesnice
- Krok 3: Sestavení
- Krok 4: Zdrojový kód
- Krok 5: Zobrazení příkazů
- Krok 6: Ovládání pomocí klávesnice
- Krok 7: Nastavení hesla
- Krok 8: Nastavení
- Krok 9: Smyčka
Video: Klávesnice palubní desky s LCD displejem a Arduino Uno: 9 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Jedná se o maticovou klávesnici běžící spolu s LCD displejem a Arduino Uno, nejzákladnějším, co dnes existuje. Účelem tohoto nastavení je vytvořit program, který obdrží heslo zadané na maticové klávesnici, porovná jej se správným heslem a na displeji zobrazí potvrzovací zprávu.
Je důležité si uvědomit, že maticová klávesnice i tento displej fungují s ESP8266 a ESP32.
Jak vidíte, napájíme obvod pomocí Arduina pomocí USB, protože nepoužíváme externí zdroj. Osm vodičů připojených velmi jednoduchým způsobem k portům Arduina umožňuje připojení naší klávesnice. Tato klávesnice nemá výkon a je pasivní, což výrazně usnadňuje připojení.
Displej je připojen k Arduinu přes UART, sériový port, který také napájí zařízení.
Na ukázce ve videu ukazujeme, jak náš obvod kontroluje, zda je heslo zadané na klávesnici správné nebo ne.
V PDF použitém ve videu a dostupném zde máme kompletní pinout použitého čipu.
Krok 1: Sériové zobrazení
Toto je sériový displej, který komunikuje s UART, což je RS s TXRX. Existuje také ve verzích I2C, ale další modely zůstanou pro nadcházející montáž. V tomto případě tento displej funguje u UART by RS.
Krok 2: Matrix klávesnice
Příklad maticové klávesnice, kterou používáme, je fotografie a je na pravé straně. Máme diagram, který ukazuje, jak to funguje. Ve skutečnosti má pouze řádky 4x4. Používá tedy minimální množství vodičů; jeden drát pro každý řádek a sloupec, takže celkem je osm vodičů.
Nepotřebuje napájení, protože funguje následovně: když je stisknuto 7, klávesnice zvedne 7 a připojí se k řádku a sloupci, což umožňuje identifikaci automatickým skenováním algoritmu.
Je důležité si uvědomit, že v této sestavě bude fungovat jakákoli klávesnice 4x4, která je jehličková.
Krok 3: Sestavení
V obecném schématu připojujeme osm vodičů přímo k portům Arduina, protože klávesnice nemá napájení. Na displeji máme signál RS 232 a kladný a záporný výkon. Podsvícení je stále přítomné, což je také již připojeno (identifikováno BKL).
Krok 4: Zdrojový kód
Ve zdrojovém kódu tohoto projektu musíte zahrnout sériovou a klávesnici. Má sadu RX_PIN a TX_PIN, nezbytnou pro sériový software, a také INVERTED 1. Toto bylo umístěno pod zesílením signálu, který používá vstup s invertovanou logikou.
// zobrazení biblioteky na obrazovce komunikace LCD #zahrnutí // odpověď na biblioteku a její zachycení bez ohledu na to, co #obsahuje // pino invalido apenas usado no contrutor do SoftwareSerial #define RX_PIN 255 // pino TX da nossa ligação Ard Displej LCD #define TX_PIN 3 // inverte a lógica dos pinos Rx e Tx, tratando LOW como HIGH e naopak a #define INVERTED 1
Krok 5: Zobrazení příkazů
Důležité: V tomto zobrazení nestačí na něj vložit řetězec. Musíte poslat řídicí znaky. PDF obsahuje odkaz na web, kde máte manuál k tomuto zobrazení. Pokud ale máte sériové zobrazení jiné značky, je dobré se podívat na jejich kontrolní kódy, které se toho týkají. V tomto modelu například, když posíláme určitý ovládací prvek (například informace pro tento displej), potřebujeme odeslat předponu, číslo 254, aby byla povolena komunikace.
Proto jsme pro usnadnění věcí nastavili ARRAY, což je kolekce proměnných, ke kterým se přistupuje pomocí číselného indexu. To bude odesláno na displej jako počáteční konfigurace.
// comando para limpar toda a tela do displayconst char limparTela = {254, 1}; // oficiální konfigurace/ * 254, 254 souhlasí s podsvícením 254, 1 limpa a tela 254, 253, 1 konfigurace o kontrastu em nível alt 254, 13 liga o cursor paraficar piscando */const char configInicial = {254, 254, 254, 1, 254, 253, 1, 254, 13};
Krok 6: Ovládání pomocí klávesnice
Jak funguje klávesnice? Nejprve připojí pole. Toto pole je znaku, který se tam skutečně zobrazí. Pokud tedy vložím X, když stisknu první levé tlačítko nahoře, zobrazí se. Toto je obsah klávesnice, což bude příkaz.
Další věci, pro které máme definici, jsou řádek číslo 4 a sloupec číslo 4, v případě ARRAY této klávesnice. Stále máme piny linek, což jsou piny Arduino, a piny sloupce. Stále máme customKeypad Keyboard Builder s parametry symbolů, pinů, řádků a sloupců.
konstantní bajt LINHAS = 4; // número de linhas do tecladoconst byte COLUNAS = 4; // número de colunas do teclado // define uma matriz com os símbolos que deseja ser lido do teclado char SIMBOLOS [LINHAS] [COLUNAS] = {{'A', '1', '2', 3 '}, { 'B', '4', '5', '6'}, {'C', '7', '8', '9'}, {'D', 'c', '0', 'e '}}; bajt PINOS_LINHA [LINHAS] = {8, 9, 10, 11}; // pinos que indicam as linhas do teclado byte PINOS_COLUNA [COLUNAS] = {4, 5, 6, 7}; // pinos que indicam as colunas do teclado // instancia de Keypad, responseável por capturar and tecla pressionada Keypad customKeypad = Keypad (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS);
Krok 7: Nastavení hesla
V této části definujeme heslo a poté potřebujeme zadat heslo, což je prázdný řetězec. Níže uvádíme instanci softwareSerial.
// variáveis resposnsáveis por armazenar as senhasconst String SENHA_ESPERADA = "1234ABCD"; Řetězec SENHA_DIGITADA = ""; // instancia de SoftwareSerial para nos comunicar com o Zobrazení přes sériový SoftwareSerial displaySerial = SoftwareSerial (RX_PIN, TX_PIN, INVERTED);
Krok 8: Nastavení
Pokud jde o nastavení, zde je displaySerial.begin (2, 400), což je o rychlosti. V našem případě to stačí k odeslání bajtu. Následně se čeká 700 milisekund. Zahrneme displaySerial.print (initialConfig) z počáteční konfigurace s novým zpožděním 10 milisekund a přejdeme na funkci start. Do funkce start vložíme displaySerial.print ("heslo:").
neplatné nastavení () {Serial.begin (2400); // inicializace a sériový komunikační displej // důležitý pro přenosovou rychlost 2400 displaySerial.begin (2400); // tempo de espera pela inicialização do display delay (700); // seta a configuração inicial do display displaySerial.print (configInicial); zpoždění (10); inicio (); } // funkce odpovědí za tisk obrázků a obrázků s digitálním a ságovým // é chamada toda vez q a senha foi digitada e comparada, também quando // a tecla limpar display for foi pressionada. void inicio () {displaySerial.print ("Senha:"); }
Krok 9: Smyčka
Ve smyčce vytvoříme customKey = customKeypad.getKey () a v pořadí zadáme příkaz Switch.
// captura a tecla pressionada do teclado char customKey = customKeypad.getKey (); // caso alguma tecla foi pressionada if (customKey) {Serial.println (customKey); přepínač (customKey) { /… /}}
Přepínač smyčky, část 1
Uvnitř příkazu Switch: zobrazuje seznam možností tisknutelných kláves, pokud jsou stisknuty, a zvyšuje heslo: převezme customKey a zřetězí zadané heslo. Dále displaySerial.print (customKey) zobrazuje klíčový obsah.
switch (customKey) {// caso alguma das teclas imprimíveis foi pressionada case 'A': case 'B': case 'C': case 'D': case '0': case '1': case '2': case '3': případ '4': případ '5': případ '6': případ '7': případ '8': případ '9': // concatena o novo símbolo a senha que estamos digitando SENHA_DIGITADA+= customKey; Serial.println (SENHA_DIGITADA); // imrpime na tela nebo simbolo pressionado displaySerial.print (customKey); přestávka;
Přepínač smyčky, část 2
V tomto kódu zobrazujeme scénář, pokud je stisknuta klávesa CLEAR. Pokud zadáte písmeno C a vymažete proměnnou, která obsahuje heslo, které píšete, zavolá příkaz k vymazání obrazovky a restartuje se.
// caso a tecla CLEAR tenha sido pressionada case 'c': // limpa a variável que guarda a senha que está sendo digitada SENHA_DIGITADA = ""; // chama o comando para limpar a tela displaySerial.print (limparTela); // konfigurace a výběr pro digitální a senha inicio (); přestávka;
Přepínač smyčky, část 3
Další možností je zadat písmeno E. V takovém případě bude obrazovka vyčištěna a analyzována, zda je zadané heslo správné nebo nesprávné. Dále dáme nové zpoždění 2 sekundy, vyčistíme obrazovku, resetujeme proměnnou hesla a vrátíme se na začátek.
// caso a tecla ENTER seja pressionada, devemos comparar as senhas case 'e': // limpa a tela displaySerial.print (limparTela); // se senha digitada foi igual a ESPERADA if (SENHA_ESPERADA == SENHA_DIGITADA) {Serial.println ("Senha Correta!"); // zobrazení mensagem de senha correta displaySerial.print ("Senha Correta !!!"); } // caso senha esteja errada else {Serial.println ("Senha Incorreta!"); // zobrazení mensagem de senha začlenit displaySerial.print ("Senha Incorreta!"); } // aguarda 2 segundos para limpar a tela novamente e esperar uma nova senha ser digitada delay (2000); displaySerial.print (limparTela);
Doporučuje:
LCD obrazovka STONE pro palubní desku automobilu: 5 kroků
LCD obrazovka STONE pro palubní desku automobilu: S rychlým rozvojem ekonomiky a postupným zlepšováním spotřeby lidí se auta staly každodenní potřebou běžných rodin a každý věnuje větší pozornost pohodlí a bezpečnosti automobilů
TripComputer - GPS palubní počítač a modul počasí pro vaše vozidlo: 11 kroků (s obrázky)
TripComputer - GPS palubní počítač a modul počasí pro vaše vozidlo: Skvělý projekt maliny pi, který využívá modul GPS Breakout a 2 malé displeje Digole, aby měl na palubní desce navigační počítač
Monitor palubní desky a baterie elektrického jízdního kola (EBike): 12 kroků (s obrázky)
Palubní deska a monitor baterie elektrického kola (EBike): Tento projekt je obvod Arduino, který monitoruje napětí a proud baterie pomocí modulu ACS 712. Měření jsou sdělována přes Bluetooth s modulem HC-05 do zařízení Android. V zásadě přepojíte negativní spojení mezi
Robot Brain: Postavte jeden palubní počítač za večer: 11 kroků
Robot Brain: Postavte si večer jednodeskový počítač: Dochází vám paměť na vašem Picaxe nebo Arduinu? Ale PC je pro tu práci přehnané? Podívejte se na tento open source jednodeskový počítač, který lze naprogramovat v jazycích jako C, Basic, Forth, Pascal nebo Fortran. Tato deska využívá levné integrované obvody a del
Čištění hliníkové klávesnice Apple . nebo jakékoli jiné soft-touch klávesnice: 5 kroků
Čištění hliníkové klávesnice Apple …. nebo jakékoli jiné klávesnice s měkkým dotykem: Jakkoli se vy nebo já můžeme pokusit udržet naše hliníkové klávesnice Apple, začnou být po roce špinavé. Tento návod vám pomůže vyčistit ho. Buďte opatrní, protože nejsem zodpovědný, pokud se vám při tom rozbije klávesnice …. SUCKS F