Kódový zámek s nastavitelným kódem

   Jde o vylepšení předchozího zapojení, kde bylo možné kód zadávat pouze při programování jednočipu. K původnímu zapojení přibyla jen sériová EEPROM 24C02, ve které je zadaný kód uložen.

Popis zapojení

   Funkce je stejná jako u minulé verze. Volitelná adresa EEPROM je nastavena na 000, takže všechny adresovací vývody musí být uzemněny.
   Kód se zadává po zapnutí s propojkou na konektoru "SaveKod". Dokud nedojde ke stisku žádného tlačítka, čeká zařízení na první číslo. Po stisku libovolného tlačítka se začíná odečítat čas asi 3 vteřiny, po jehož uplynutí se zadávání kódu automaticky ukončí. Mezi jednotlivými čísly kódu tedy nesmíte udělat delší prodlevu než 3 vteřiny. Ukončení je indikováno 3x krátkým pípnutím. Následně se stejným způsobem provádí verifikace zadaného kódu. Pokud kód nezopakujete (uděláte chybu nebo uplynou 3 vteřiny), ozve se 3x dlouhé pípnutí a začíná se od začátku. Při správném zopakování kódu piezo 3x krátce pípne, do EEPROM se zapíše znak, který udává kompletní zadání kódu a zámek dále nereaguje. Následně se vyjme propojka a po dalším připojení napájení je zámek v normálním provozu. Pokud dojde během zadávání kódu k výpadku proudu nebo není připojená EEPROM nebo je připojená, ale je prázdná, využívá se kód naprogramovaný v PROM.
   Mód funkce se volí stejně jako u minulé verze pomocí propojky "Mode". Výstup je aktivní v úrovni log.0.



   Ke kódovému zámku jsem navrhl i pošný spoj s rozměry asi 50x50mm. Obsahuje vše podle schématu mimo klávesnici, která se připojuje na připravené piny. Na desce plošných spojů je připraveno i místo pro případnou odporovou síť.
DPS v rozlišení 300 dpi, osazovací plánek.

Program pro jednočip

   Na začátku kódu jsou některé konstanty, které lze menit. První z nich je zpožděné vypnutí po době nastavitelné od 4 do 255 vteřin. Další konstanta je doba, po které se vynuluje vnitřní ukazatel pozice v kódu. Tato doba se počítá vždy od stisku libovolného tlačítka, takže pokud po dobu asi 3 vteřin nedojde ke stisku, vrací se ukazatel v kódu na první číslo kódu. Tuto hodnotu lze měnit od 1 do 255 (25 = asi 1 vteřina). Poslední konstantou se ovlivňuje délka vteřiny, která je nastavena jen přibližně. Téměř na konci zdrojového kódu je zadán fixní číselný kód. Musí být vždy uzavřen v apostorfech a může mít délku až 254 cifer. Kód může mimo čísel obsahovat i znaky # a *. Na konci kódu je překódovací tabulka pro různé klávesnice. Některé mají 1, 2 a 3 dole a jiné zase nahoře (já mám klávesnici s 1, 2 a 3 dole (resp. vyměnil jsem hmatníky tlačítek, protože jsem na to zvyklý z klávesnice a kalkulaček)). Změnu lze provést buďto v programu nebo prohozením příslušných vývodů klávesnice. Přímo v kódu jsou ještě vysvětlivky, takže by to mělo být bez problémů.
Zdrojový kód, přeložený do formátu *.hex, a do formátu *.bin

(c) 2005, Stanislav Mašláň - využití programu ke komerčním účelům bez souhlasu autora je trestné.

Poslední aktualizace: 27.2.2005