Arduino a modul RTC DS3231

Při potřebě práce s reálným časem na Arduinu je potřeba použít modul reálného času (RTC). Modulů se nabízí několik základních typů, ale jako nejlepší se ukazuje modul s čipem DS3231. Modul má vlastní záložní baterii a komunikuje po sběrnici I2C. Z výroby je nastavená adresa 0x68. Modul pracuje při napětí 3.3V i 5V, a tak jde použít s různými řídícími jednotkami.

modul ze strany IO
Pokračování textu Arduino a modul RTC DS3231

Arduino a klávesnice M5 Stack

Pro připravovaný projekt jsem scháněl dostatečně malou kompletní klávesnici, nakonec se mi podařilo najít klávesnici od M5 Stack.
Klávesnice je velikosti kreditní karty a obsahuje všechny písmena abecedy, čísla, různé symboly, pár funkčních kláves a RGB LED. Komunikuje po sběrnici I2C na adrese 5Fh.

Klávesnice defaultně píše malá písmena a čísla.
Přepnutím Shiftem (LEDka bliká červeně), napíše velké písmeno. Při dvou rychlích zmáčkutích Shiftu (LEDka svítí červeně), píše velká písmena až do opětovné deaktivace.
Přepnutím klávesou SYM (LEDka bliká zeleně), napíše symbol u příslušného tlačítka. Při dvou rychlých zmáčknutích (LEDka svítí zeleně), píše symboly až do opětovné deaktivace.
Přepnutím klávesou „fn“ (LEDka bliká modře), pošle třetí kód klávesy kterému lze přiřadit vlastní funkce. Při dvou rychlých zmáčknutích (LEDka svítí modře), posílá kódy až do opětovné deaktivace.

Testovací program vypisuje znak stisknuté klávesy a její hexadecimární kód po sériové lince.

Kódový zámek s bluetooth

Tento kódový zámek vznikl pro použití na speciální hasičské soutěži.

ovládací panel

Zámek komunikuje s nadřízeným systémem se sériovým terminálem pomocí bluetooth. Řízení obstarává Arduino nano a napájení je přes DC měnič.
Vlastní zámek ovládá jednoduché servo. Kód k odemčení se zadává na klávesnici, přičemž se rozsvěcí indikační LEDky nahoře.
Dolní tři ledky indikují stav zámku – červená = zamčeno, zelená = odemčeno, oranžová = čekání na nové zadání.

Po spuštění je zámek odemčen a čeká se na zadání přes bluetooth. Hlavní menu má 4 možnosti:
a – načtení nového náhodného kódu
b – zobrazení aktuálního kódu
c – spuštění funkce zámku
d – skok do hlavního menu

Při spuštění funkce zámku dojde k uzamčení a čeká se na zadání kódu. Při chybném zadání se čeká 3s, přičemž svítí žlutá LED, a potom je možný nový pokus.
Při správném zadání dojde k odemknutí, rozsvítí se zelená LED a program skočí do hlavního menu.

mechanická část

Reléová 2-bitová binární úplná sčítačka

Sčítačka je jeden ze základních obvodů aritmeticko logické jednotky (ALU) každého procesoru (CPU). Její funkcí je sečíst dvě čísla v binárním tvaru.

schéma zapojení

Zapojení obsahuje 9 relé, 1 na přičtení jedničky vstupním přenosem a dále vždy 2 na každý vstupní bit (při použití relé se čtyřmi kontakty je možné použít jen jedno na každý bit).

Sčítačka sčítá dvě 2bitová čísla (A0,A1 a B0,B1) a výsledek zobrazí jako 2bitové číslo (OUT0, OUT1) a příznak přetečení carry (C OUT, /C OUT).
Díky vstupu C je možné přičíst další jedničku na nejnižší bit. Sčítačku je možné zřetězit pro sčítání delších čísel.

částečná pravdivostní tabulka
testovací zapojení

Reléový 4-bitový registr / latch

Registr, nebo také latch, je velmi důležitý obvod. Jeho funkcí je zapamatování vstupní hodnoty a její opětovné vyvolání. V podstatě jde o rychlou paměť.
Zapojení obsahuje 8 relé, 4 pro uložení dat, 2 pro řízení zápisu a čtení, a 2 pro oddělení datové sběrnice (zde spínačů a diod). Oddělovací relé by stačilo jedno ale se čtyřmi kontakty.

schéma zapojení

Funkce je následující jednoduchá. Pomocí spínačů C, D ,E a F, zvolíme vstupní hodnotu k uložení, kterou ihned jí vidíme i na výstupech Q, R, S a T, a následně hodnotu zapíšeme pomocí spínače WRITE – B.
Opětovné vyvolání uložené hodnoty provedeme spínačem READ – A.

testovací zapojení

Reléový 4-bitový binární čítač s přednastavením

Jedná se o upravený klasický 4-bitový binární čítač, který je rozšířený o další 4 vstupy (B,C,D a E), jenž slouží k nastavení výchozí hodnoty čítače.
Před nastavením nové hodnoty je potřeba čítač vynulovat odpojením napájecího napětí. Pokud je v čítané hodnotě potřeba změnit jen bity z log.0 na log.1, pak není nulování nutné.

schéma zapojení
testovací zapojení

Reléový 4-bitový binární čítač

Čítač se skládá z klopných obvodů typu T, které jsou zapojené v řadě za sebou. Pokud na vstup připojíme obdelníkový signál, tak při každé sestupné hraně změní výstup svůj stav. Díky propojení jednotlivých klopných obvodů se výstup jednoho přenese na vstup druhého a dál. Tím dochází k čítání vstupních impulsů v binárním tvaru a zároveň i k jejich dělení 2, 4, 8 a 16.

schéma zapojení
časové průběhy vstupu a výstupu
testovací zapojení
testovací zapojení s rotačním číselníkem
testovací zapojení s generátorem signálu
generátor signálu

Jako generátor signálu jsem použil arduino s rotačním enkodérem a OLED displejem. Napsal jsem jednoduchý program který generuje obdélníkový signál s možností změny enkodérem a zobrazuje na displeji dobu trvání logických stavů.

Reléový klopný obvod typu T

Klopný obvod typu T je velice důležitý klopný obvod. Má široké možnosti využití od děličů frekvence a čítačů, po zapínání a vypínání spotřebiče jedním tlačítkem. K jeho konstrukci jsou potřeba minimálně 2 relé, 2 diody a přepínač. Při použití 3 relé je možné ovládat vstup tlačítkem nebo přímo signálem. Funkce je následující:
Pokud na vstup IN připojíme obdelníkový signál, tak při každé sestupné hraně změní výstup svůj stav. V podstatě dělí vstupní frekvenci dvěma.

schéma zapojení
časové průběhy vstupu a výstupu
testovací zapojení

Reléový klopný obvod typu RS

Klopný obvod typu RS je jeden z nejjednodušších klopných obvodů. K jeho konstrukci stačí pouze 2 relé. Funkce je následující:
Pokud je na obou vstupech S (set, nastavení) a R (reset, nulování) logická 0, výstup Q zůstává nezměněn. Po nastavení logické 1 na vstup S, se výstup Q změní také na logickou 1, a zůstane nastaven. Po nastavení logické 1 na vstup R se výstup Q vynuluje. Při nastavení obou vstupů na logickou 1, je obvod v neurčitém stavu, proto je tento stav zakázaný.

schéma zapojení
pravdivostní tabulka
testovací zapojení