Jak nainstalovat integraci Drátek eInk do Home Assistantu
Průvodce instalací integrace Drátek eInk do Home Assistantu pomocí obchodu HACS.
Membránová klávesnice 4x4 je vhodná jako ovládací panel pro různé zabezpečovací systémy, kalkulačky či měřící zařízení. Její velkou výhodou je její tenký profil a jednoduché upevnění pomocí oboustranné lepicí pásky, která je již od výroby nalepena na spodku membránové klávesnice.
Pro propojení klávesnice s Arduino deskou slouží 8 pinový konektor. Všechny piny zapojíme do Arduino desky nejlépe do po sobě jdoucích pinů, protože první čtyři piny jsou propojeny s řádky a další čtyři piny se sloupci matice klávesnice 4x4. Já jsem v tomto případě zvolil digitální piny 5-12.
Pro zjednodušení práce s touto membránovou klávesnicí 4x4 jsem využil knihovnu Keypad, návod na práci s knihovnami je zde. Ukázkový kód na začátku obsahuje připojení knihovny Keypad a dále vytvoření proměnných s počtem řádků a sloupců. Poté vytvoříme pole se znaky, které máme na své klávesnici a následně nastavíme čísla pinů do proměnných pinyRadku a pinySloupcu. Jako další vytvoříme instanci klavesnice z knihovny Keypad a v podprogramu setup nastavíme komunikaci po Sériové lince, abychom mohli pohodlně číst výsledky. V nekonečné smyčce loop pak vždy načteme do proměnné klávesa hodnotu stisknuté klávesy a následně pomocí if zkontrolujeme, jestli byla stisknuta nějaká klávesa. V případě, že byla stisknuta klávesa, vypíšeme na sériovou linku její název.
// Membránová klávesnice 4x4
// 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','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
// nastavení čísel pinů pro spojení s klávesnicí
byte pinyRadku[radky] = {12, 11, 10, 9};
byte pinySloupcu[sloupce] = {8, 7, 6, 5};
// 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í programu do Arduino desky dostaneme například tento výpis:
Stisknuta klavesa: 1 Stisknuta klavesa: 5 Stisknuta klavesa: 9 Stisknuta klavesa: D
Membránová klávesnice 4x4 je v kombinaci s knihovnou Keypad velmi jednoduše použitelná pro každý projekt, kde potřebujeme nějakým způsobem nastavovat číselné hodnoty a obecně komunikovat s dalšími komponentami.
Seznam použitých komponent:
http://dratek.cz/arduino-vstupni-periferie/824-arduino-klavesnice-membranova-4x4.html
http://dratek.cz/arduino/974-arduino-uno-r3-atmega328p-1424115860.html
http://dratek.cz/arduino-kabelaz-propoje-rozsireni/827-arduino-vodice-samec-samec-65-kusu.html
Průvodce instalací integrace Drátek eInk do Home Assistantu pomocí obchodu HACS.
Návod, jak jednoduše přidat a nastavit Drátek e-ink displej do Home Assistant