Klávesnice 4x4 je vstupní modul pro Arduino. Tato klávesnice je složena z 16 tlačítek, které jsou umístěny v matici 4x4. Díky tomu nemusíme používat 16 vodičů pro propojení, ale pouze 8 (počet řádků + počet sloupců).
Pro úspěšné propojení klávesnice s Arduinem je nutné zapojit celkem 8 vodičů. Já jsem propojil postupně všechny vodiče na datové piny D2-D9, přičemž správné nastavení řádků a sloupců řešeno v programu. Pro všechny datové piny lze také využít jiné volné, jen je nutné tuto volbu provést také na začátku programu.
Pro úspěšné nahrání uvedeného ukázkového kódu je nutné stáhnout a naimportovat knihovnu Keypad, návod, jak na to, je uveden zde. Ukázkový kód obsahuje na svém začátku připojení potřebné knihovny. V dalším kroku jsou vytvořeny proměnné udávající počet řádků a sloupců a společně s nimi je také vytvořeno pole s pojmenováním jednotlivých tlačítek. Já jsem v ukázce pojmenoval tlačítka 1-15(F) dle hexadecimální soustavy a poslední tlačítko 16 je označeno mřížkou #. Po nastavení pojmenování následuje vytvoření proměnných, které obsahují čísla propojovacích pinů. A všechny zapsané údaje jsou následně použity při vytvoření instance klávesnice z knihovny. V podprogramu setup provedeme jediný krok, a to nastavení komunikace po sériové lince rychlostí 9600 baudů. Nekonečná smyčka loop je díky použití knihovny jednoduchá. V prvním kroku vždy načteme do lokální proměnné hodnotu stisknuté klávesy. Poté pomocí podmínky if ověříme, jestli byla nějaká klávesa stisknuta a pokud je tato podmínka splněna, tak si vytiskneme nastavený znak po sériové lince.
// Arduino klávesnice 4x4 16 tlačítek
// navody.dratek.cz
// připojení knihovny
#include <Keypad.h>
// vytvoření proměnných údávajících
// počet řádků a sloupců klávesnice
const byte radky = 4;
const byte sloupce = 4;
// vytvoření pole s rozmístěním kláves
char keys[radky][sloupce] = {
{'1', '2', '3', '4'},
{'5', '6', '7', '8'},
{'9', 'A', 'B', 'C'},
{'D', 'E', 'F', '#'}
};
// nastavení čísel pinů pro spojení s klávesnicí
byte pinyRadku[radky] = {5, 4, 3, 2};
byte pinySloupcu[sloupce] = {6, 7, 8, 9};
// vytvoření instance klavesnice z knihovny Keypad
Keypad klavesnice = Keypad( makeKeymap(keys), pinyRadku, pinySloupcu, radky, sloupce);
void setup() {
// komunikace přes sériovou linku rychlostí 9600 baud
Serial.begin(9600);
}
void loop() {
// načtení hodnoty stisknuté klávesy do proměnné
char klavesa = klavesnice.getKey();
// kontrola obsahu proměnné se stisknutou klávesou
// pokud bylo cokoli stisknuto, vytiskneme klávesu
// po Sériové lince
if (klavesa) {
Serial.print("Stisknuta klavesa: ");
Serial.println(klavesa);
}
}
Po nahrání ukázkového kódu do Arduino desky s připojenou klávesnicí dostaneme například tento výsledek:
Klávesnice 4x4 je jednoduchým modulem, který hlavně začátečníkům může pomoci s pochopením funkce maticových klávesnic (matice=pole kláves). V tomto případě můžeme zjistit, že jednoduchou konstrukcí můžeme pomocí pouze osmi datových pinů číst stav šestnácti kláves. Tato klávesnice se díky jednoduchému a malému provedení může hodit hlavně pro testování či pro zařízení, kde nemáme příliš místa a chceme mít k dispozici 16 tlačítek. Její výhodou je pak rozhodně velmi nízká cena a jednoduchá obsluha.
Motorizovaný kulový ventil. Má široké uplatnění v různých průmyslových a obytných instalacích. Může být integrován do automatických systémů řízení, kde je možné ovládat průtok dálkově nebo automatizovaně podle předem nastavených podmínek.
Motorizované kulové vently s obvodem CR01, CR02, CR03 nebo CR04 je poměrně jednoduché po elektrické stránce správně zapojit. U ventilu s obvodem CR05 je tomu ale trochu jinak - ventil si sám nehlídá krajní polohy otevření, nebo zavření. Z toho důvodu vznikl tento článek, ukazující některé výhody, použití a především správné zapojení ventilu s obvodem CR05.