Stiskněte "Enter" pro přeskočení obsahu

Arduino – logování docházky (docházkový systém)

0

Tento modul vznikl v podstatě ze dne na den kvůli „nutnosti“ zaznamenávat příchody a odchody. Jedná se o velice jednoduchý modul na záznam docházky, něco jako docházkový systém. HW modul pouze zobrazuje datum a čas a čeká na stisknutí tlačítka (v budoucnu přiložení čipové karty) – čas stisknutí tlačítka (přiložení karty) loguje do paměti na Micro SD kartě.

Samotný modul se skládá z Arduino Nano (Čínský klon), modulu DS3231, modulu pro micro SD kartu, třech kapacitních „tlačítek“. Původně byl použit ještě enkodérový ovladač, který se nakonec nepoužívá. V budoucnu bych chtěl k přidat čtečku RFID karet. Program si můžete zde. Napájení je provedeno USB kabelem připojeným přímo do modulu. S provozem na baterku nepočítám.

Příště bych už modul Arduino Nano nepoužil kvůli malé paměti. Tenhle se mi tu válel, tak jsem ho tam zakomponoval… Knihovna pro ovládání displeje zabírá dost místa a tak nelze použít více fontů. Dále jsem chtěl aby zařízení mělo paměť na posledních, řekněme 50 záznamů (proto ten ovladač). Ale při zaplňovaní paměti se modul restartoval atd… Bylo by tedy nutné použít externí paměť, nebo načítat data z té karty. To není nějak extra potřeba, takže se to nepoužívá. Lepší by bylo použít místo Atmega328 procesor STM32, viz Vývojová deska „Arduino“ s procesorem STM32.

Vrabčí hnízdo

Zapojení pinů:

  • D4 – tlačítko 1
  • D5 – tlačítko 2
  • D6 – tlačítko 3
  • D9 – výstup na piezo (piezo připojen přímo na výstup – odběr max 7 mA)
  • D10 – CS (rozhraní SPI) pro čtečku SD
  • D11 – MOSI (rozhraní SPI) pro čtečku SD
  • D12 – MISO (rozhraní SPI) pro čtečku SD
  • D13 – SCK (rozhraní SPI) pro čtečku SD
  • A4 – SDA (rozhraní I2C) pro displej
  • A5 – SCL (rozhraní I2C) pro displej
  • Napájení je provedeno přes USB, ostatní periferie jsou napájeny z pinu +5V a GND

Obsluha je jednoduchá – po připojení napájení se na displeji zobrazí aktuální datum a čas. Stisknutím tlačítka (později přiložením karty) dojde k uložení dat ve formátu uzivatek;den.mesic.rok hodina:minuta:sekunda. Na displeji problikne ikona SD karty, ozve se krátké pípnutí a začne se zobrazovat čas posledního záznamu. A to je vlastně vše…

Modul je ovládán pouze přes sériovou linku jednoduchými příkazy. Pro ovládání lze použít buď obyčejný terminál, nebo aplikaci, která dokáže s daty přímo pracovat. Není nutné kartu ze zařízení vyjímat. Odesláním znaku „r“ (read) dojde k odeslání všech dat z SD karty na sériovou linku. Konec souboru je potvrzen odesláním „eol“ (end of list). Odesláním znaku „d“ (delete) dojde k vymazání souboru na kartě. Vymazání souboru je potvrzeno odesláním „dlt“ (deleted), nebo „err“ (error). Dále se dají nastavit hodiny odesláním vždy dvou znaků – první znak je parametr, který se bude nastavovat a druhý parametr je hodnota. Parametry jsou jednoduše znaky „A“ až „G“, kde A je rok, G je den v týdnu. Hodnota je zakódována jako tisknutelný znak ASCII. Mezera (kód 32) je číslo 0, vykřičník (kód 33) je číslo 1, atd. Odesláním znaků „B&“ dojde k nastavení měsíce na 6, tedy červen. Další funkce by šli jednoduše dodělat…

Samotnou kapitolou je vlastní aplikace pro počítač. Opět jde o velice jednoduchý program, který umožňuje se k zařízení připojit, načíst z něho data, vymazat kartu a nastavit čas. Reprezentace dat je závislá na konečném použití. Mě stačí pouze filtrování podle uživatelů a spočítání rozdílu časů mezi dvěma záznamy.

Aplikace pro načtení záznamů

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *