10 przyciskowy zamek szyfrowy z procesorem AT89C2051





10-przyciskowy zamek szyfrowy
1
0
p
r
z
y
c
i
s
k
o
w
y
z
a
m
e
k
s
z
y
f
r
o
w
y
10-przyciskowy zamek szyfrowy
1
0
p
r
z
y
c
i
s
k
o
w
y
z
a
m
e
k
s
z
y
f
r
o
w
y
z procesorem AT89C2051
z
p
r
o
c
e
s
o
r
e
m
A
T
8
9
C
2
0
5
1
z procesorem AT89C2051
z
p
r
o
c
e
s
o
r
e
m
A
T
8
9
C
2
0
5
1
3001
Tym projektem inaugurujemy seriÄ™
zapisywania go na kartce, a tym samym wiąza- przeciwny, to znaczy, że np. pierwsze wybra-
µ
 µProjekty - 3000 . To wielkie wy- Å‚oby siÄ™ z ograniczeniem komfortu obsÅ‚ugi nie kodu otwiera drzwi, a drugie je zamyka,
urządzenia. Jednak odgadnięcie nawet liczby - w drugim trybie wprowadzenie popraw-
darzenie w dziejach EdW, dlatego
10-cyfrowej jest w zasadzie niemożliwe, nego kodu powoduje otwarcie drzwi na okres
koniecznie przeczytajcie najpierw
a w każdym razie równie trudne, jak trafienie ok. 20 sekund, po czym układ automatycznie
głównej wygranej w Toto Lotka. Istnieje także zamyka strzeżone pomieszczenie.
 Manifest na stronie 17.
możliwość stosowania i zapamiętywania liczb 4. Umieszczenie całej "inteligencji" układu we-
dłuższych: po prostu jako fragmentów takiego wnątrz zaprogramowanego procesora pozwoli-
Do czego to służy? kodu należy stosować sobie tylko znane i do- ło na radykalne uproszczenie urządzenia. Kon-
"... Moim zdaniem, stosowanie typowej wie- brze pamiętane dane liczbowe, np. daty urodzin strukcja zamka jest banalnie prosta i możliwa
loprzyciskowej klawiatury w nowoczesnej kon- członków rodziny czy numery telefonów znajo- do wykonania nawet dla zupełnie początkują-
strukcji zamka szyfrowego automatycznie dys- mych. Nie radzę jedynie wprowadzania do ko- cych elektroników. Program umieszczony
kwalifikuje takie urządzenie i naraża konstruk- du daty własnego ślubu lub własnych urodzin. w procesorze został napisany i skompilowany
tora na posądzenie o pójście na łatwiznę, chy- Tę pierwszą wartość z pewnością zapomną z wykorzystaniem pakietu BASCOM, a opis
ba że jego konstrukcja w założeniu miała być mężczyzni, a drugą - kobiety. działania układu będzie poparty obszernymi li-
jedynie zabawką. Złamanie kodu takiego za- 2. Układ wyposażony jest w typowe wyjście stingami, tak aby Studenci prowadzonego na
mka jest zawsze dziecinnie łatwe, nawet bez przekaznikowe, do którego dołączyć można łamach EdW BASCOM College mogli spróbo-
analizowania stanu zużycia klawiszy... " praktycznie dowolny odbiornik energii elek- wać własnych sił i napisać własny program ste-
No cóż, moi Drodzy Czytelnicy, będę trycznej. Jest to jednak tylko jedno z dwóch rujący pracą zamka.
strzelał do własnej bramki! Powyższy cytat wyjść układu zamka. Przewidując, że propo-
pochodzi nie z niczego innego, jak z mojego nowany układ znajdzie zastosowanie głównie Rys. 1 Płytka zamka szyfrowego
własnego artykułu, który napisałem nie tak jako urządzenie do blokowania dostępu do po- AVT-144 z EdW 1/96
dawno temu. A zatem, muszę się Wam wytłu- mieszczeń, wyposażyłem je w drugie wyjście, (12x8cm, 12 układów scalonych)
maczyć, dlaczego tak nagle zmieniłem zdanie, radykalnie rozwiązujące problemy z mecha-
i proponuję Wam budowę niedawno wyśmia- nicznym układem zamka do drzwi. Powszech-
nego urzÄ…dzenia. nie stosowane rygle elektromagnetyczne majÄ…
Powód zmiany moich poglądów jest bardzo jedną, dość istotną wadę: zamknięte za ich po-
prosty: zmieniły się także czasy, w Elektronice mocą drzwi można otworzyć bez najmniej-
dla Wszystkich dokonano wielkiego przełomu, szych problemów za pomocą ... nieco moc-
udostępniając Czytelnikom technikę mikropro- niejszego kopnięcia! Natomiast stosowanie
cesorową. Pisząc powyżej cytowane słowa, mia- solidnych zasuw napotykało jak dotąd na pro-
łem na myśli prymitywne konstrukcje, zbudo- blemy z wykonaniem poruszającej je mecha-
wane z przerzutników i innych elementów za- niki. Nasz zamek rozwiązuje wszystkie te pro-
wartych w kostkach rodzin 74 i 4000. Natomiast blemy, sterując bezpośrednio dowolną liczbą
wykorzystując technikę mikroprocesorową mo- serwomechanizmów modelarskich. Serwome-
żemy zbudować zamek szyfrowy o "klasycz- chanizm bez najmniejszego trudu może poru-
nej", 10-przyciskowej konstrukcji, który wcale szyć nawet najcięższą i najsolidniejszą zasu-
nie będzie zabawką, ale w pełni profesjonalnym wę, skutecznie chroniącą zabezpieczane po-
systemem zabezpieczającym nasze mienie. Zre- mieszczenie przed wtargnięciem niepowoła-
sztą, niech parametry proponowanego urządze- nych osób. Zastosowanie kilku serwomecha-
nia powiedzą same za siebie: nizmów lub dodatkowej przekładni mecha-
1. Nasz zamek szyfrowy umożliwia używanie nicznej umożliwi natomiast konstruowanie
jako kodu dostępu liczby o praktycznie dowol- skomplikowanych, wieloryglowych blokad,
nej liczbie cyfr. Przez "praktycznie dowolnej" niemożliwych do sforsowania bez użycia cze-
rozumiem, że maksymalna długość kodu wy- goś w rodzaju M1A1 ABRAMS.
nosi aż 253 cyfr. Stosowanie kodów dłuższych 3. Układ może pracować w dwóch, ustawia-
niż dziesięć, no powiedzmy 20 cyfr jest niereal- nych za pomocą jumpera, trybach:
ne, ponieważ zapamiętanie tak długiego ciągu - w pierwszym trybie każde prawidłowe
znaków wymagałoby już (dla większości osób) wybranie kodu zmienia stan wyjść układu na
skala 1:2
Elektronika dla Wszystkich
18
Jeżeli ktoś ma jeszcze wątpliwości w ocenie
możliwości techniki mikroprocesorowej,
to prosimy porównać tę konstrukcję z ukła-
dem zamka szyfrowego, jaki opublikowałem
w EdW 1/96. Ówczesny układ miał znacznie
uboższe możliwości funkcjonalne, ale zawie-
rał 12 układów scalonych na płytce o wymia-
rach 14 x 8 cm (rys. 1).
Jak to działa?
Schemat elektryczny zamka szyfrowego został
pokazany na rysunku 2. Jak już wspomniano,
sercem układu jest dobrze nam znany procesor
typu AT89C2051, wspomagany przez jeden tyl-
ko dodatkowy układ: pamięć EEPROM typu
AT24C04. Zastosowanie tego układu było abso-
lutnie konieczne, ponieważ procesor
AT89C2051 nie posiada wewnętrznej nieulotnej
pamięci danych. Pamięć zewnętrzna pozwoli na
przechowywanie kodu zamka, bez ryzyka "wy-
walenia" się całej konstrukcji w przypadku wy-
stąpienia przerwy w zasilaniu. Pozostała część
urządzenia to już tylko garstka elementów dys-
kretnych niezbędnych do prawidłowego funk-
cjonowania układu, zasilacz zbudowany z wy-
korzystaniem scalonego stabilizatora napięcia
typu 7805, i oczywiście, klawiatura z 12 przyci-
skami. W wykonaniu praktycznym układ został
podzielony na dwie części umieszczone na osob-
nych płytkach obwodów drukowanych i połą-
czonych za pomocą złącza CON2 + CON3.
Sądzę, że analizę sposobu działania układu, mocą którego będziemy mogli otwierać nasz
a właściwie zaszytego w pamięci EEPROM pro- Rys. 2 zamek. Podprogram ten wygląda następująco:
cesora programu, najlepiej rozpocząć w momen-
Sub Rejestracja
cie pierwszego włączenia zasilania, kiedy to z dużym prawdopodobieństwem, czy w pa-
For Licznik = 1 To 10 'dziesięciokrotnie:
w pamięci EEPROM IC2 nie ma jeszcze zapi- mięci zapisane są już potrzebne do pracy za-
Call Ledshort 'wezwij podprogram
sanych jakichkolwiek informacji. mka dane. Dlaczego napisałem " z dużym
krótkiego włączenia diody LED i sygnału akustycznego
Pierwszą czynnością, jaką program ma do prawdopodobieństwem", a nie z pewnością? Next Licznik 'jeszcze raz
Licznik = 0 'wyzeruj zmiennÄ… LICZNIK
wykonania, będzie właśnie sprawdzenie za- Dlatego, że takie sprawdzenie zawartości EE-
Do 'wejście w pętle DO ....
wartości pamięci EEPROM i próba ustalenia, PROM-u daje całkowitą pewność jedynie
LOOP
czy został w niej zapisany jakikolwiek kod. w przypadku kostki "fabrycznie nowej",
Digit = 255 'zmienna DIGIT przyjmuje
Wykonanie następujących instrukcji: której cała zawartość zapisana jest wyłącznie
wartość FF
Call Keyscan 'wezwij podprogram
FF-ami (FF(HEX) = 255(DEC)). Tylko w tym
Call Read_eeprom 255 , Value 'odczytaj
skanowania klawiatury
przypadku nieodczytanie spod adresu 255 me-
zawartość adresu 255 pamięci EEPROM
If Digit < 10 Then 'jeżeli wartość odczytana
tafizycznej (ukłon w stronę naszego Wieszcza
If Value <>44 Then 'jeżeli
z klawiatury jest mniejsza niż 10, to:
Narodowego) wartości 40 i 4 (zapisywanej
odczytana wartość nie jest równa 44 to: Call Write_eeprom Licznik , Digit 'zapisz ją w
pamięci pod adresem LICZNIK
Call Rejestracja 'wezwij tam podczas rejestracji szyfru) jest dowodem,
Incr Licznik 'zwiększ zmienną LICZNIK
podprogram REJESTRACJA
że kostka nie była jeszcze nigdy użyta do za-
End If 'koniec uwarunkowania
End If 'koniec
pisywania kodów zamka szyfrowego. Jeżeli
If Digit = 11 Or Licznik = 254 Then 'jeżeli
uwarunkowania
jednak zastosowaliśmy w układzie używany
wartość odczytana z klawiatury równa jest
element, w którym były już zapisywane dane, 11 (klawisz 'ENTER) lub jeżeli wprowadzono już
253 cyfry (mało 'prawdopodobne!), to:
gdzie podprogram: to mamy jedną szansę na 256, że układ zle zin-
For R = 1 To 10 'dziesięciokrotnie:
terpretuje odczytaną wartość i będziemy mu-
Call Ledshort 'wezwij podprogram
Sub Read_eeprom(adres As Byte , Value As
sieli uruchomić go powtórnie, tym razem ze
krótkiego włączenia diody LED i sygnału akustycznego
Byte)
zwartym jumperem JP2. Fakt ten zostanie wy- Next R ' jeszcze raz
I2cstart 'start transmisji I2C
Call Write_eeprom 255 , 44
kryty przez podprogram:
I2cwbyte 160 'podanie adresu
'zapisz w EEPROM wartość 44 pod adresem 255
pamięci EEPROM
Call Write_eeprom , 254 , Licznik 'zapisz w
Set P1.1 'ustaw na
I2cwbyte Adres 'podanie adresu
EEPROM ilość cyfr w kodzie
wejściu P1.1 stan wysoki
spod jakiego mają zostać odczytane dane
Licznik = 0 'wyzeruj zmiennÄ… LICZNIK
If P1.1 = 0 Then 'jeżeli próba
I2cstart 'ponowny start Exit Do 'wyjdz z pętli
Return 'powróć do programu
transmisji I2C nieudana, to:
głównego
I2cwbyte 161 'ustawienie pamięci
Call Rejestracja 'wezwij podprogram
End If 'koniec uwarunkowania
w tryb odczytu danych
REJESTRACJA
Loop 'kontynuuj pracę w pętli
I2crbyte Value , Ack 'odczytaj wartość
End If 'koniec
programowej
bajtu z potwierdzeniem
End Sub 'koniec podprogramu
uwarunkowania
I2cstop 'koniec transmisji
danych
Zarówno w pierwszym, jak i drugim opisy- Wykonanie powyższego podprogramu
End Sub
wanym przypadku następuje wywołanie pod- spowoduje, że w pamięci EEPROM zosta-
odczytuje wartość "VALUE" spod wskaza- programu REJESTRACJA, który umożliwi nie zapisany szyfr, który może zostać wyko-
nego adresu pamięci, pozwala na ustalenie nam wprowadzenie do pamięci kodu, za po- rzystany do otwierania zamka, i informacje
Elektronika dla Wszystkich
19
o liczb i cyfr w kodzie oraz o fakcie jego za-
End If 'koniec uwarunkowania OTWIERANIE
programowania. Wprowadzanie kodu, pod-
........... End If 'koniec uwarunkowań
czas którego wykorzystujemy wszystkie cy-
Set Row1 : Reset Row2 'ustaw stan niski tylko End If
fry dostępne z klawiatury, kończymy naci-
w drugim rzędzie matrycy klawiatury End If
śnięciem klawisza S12 - ENTER. Set Col1 'ustaw stan wysoki w End If
pierwszej kolumnie matrycy klawiatury If Digit = 11 Then 'jeżeli odczytana z
Warto teraz wyjaśnić, w jaki sposób proce-
klawiatury wartość to 11 (klawisz ENTER), to:
If Col1 = 0 Then 'jeżeli stan COL1 w dalszym
sor odczytuje dane z dwunastoprzyciskowej
If Digits = Licznik Then 'jeżeli
ciągu pozostaje niski (naciśnięty klawisz S2), to:
klawiatury. Popatrzmy jeszcze raz na schemat:
wprowadzono właściwą ilość cyfr, to:
Digit = 4 'zmienna DIGIT (wartość
wszystkie klawisze zostały połączone w ma-
If Flag1 = 1 Then ',jeżeli zmienna FLAG1
odczytana z klawiatury) przyjmuje wartość 4
trycę składającą się z czterech rzędów (ROW1 równa jest 1 (wszystkie cyfry były poprawne), to:
Call Ledshort 'błyśnij raz diodą LED i podaj
If Fl = 0 Then 'jeżeli zmienna FL równa
sygnał akustyczny
... ROW4) i trzech kolumn (COL1 ... COL3).
jest 0, to:
While Col1 = 0 'poczekaj na puszczenie
Każda kolumna i każdy rząd dołączone zosta-
Licznik = 0 'wyzeruj licznik
klawisza
ły do wyprowadzeń portu P1 i P3 procesora.
Call Otwieranie2 'wezwij podprogram
Wend
Aby ułatwić sobie pisanie programu i uwolnić
OTWIERANIE2
End If
się od konieczności ciągłego spoglądania na End If 'koniec uwarunkowań
...........
End If
schemat, nadajmy odpowiednim wyprowadze- End Sub 'koniec podprogramu
End If
skanowania klawiatury
niom procesora nowe nazwy, wykorzystujÄ…c
End If
wygodne polecenie ALIAS. A więc:
If Digit = 10 Then 'jeżeli odczytana z
Skanowanie klawiatury odbywa się nastę- Po zarejestrowaniu kodu (należy teraz
klawiatury wartość to 10 (klawisz SET) to:
pująco: usunąć jumper JP2) układ przechodzi w stan If Digits = Licznik Then 'jeżeli
wprowadzono właściwą ilość cyfr, to:
czuwania, podczas którego nieustannie skanu-
Row1 Alias P1.2 'pin P1.2 możemy
If Flag1 = 1 Then ',jeżeli zmienna FLAG1
je klawiaturÄ™, oczekujÄ…c na wprowadzenie
odtąd nazywać "ROW1" równa jest 1 (wszystkie cyfry były poprawne), 'to:
prawidłowego szyfru. Program sprawdza też
Licznik = 0 'wyzeruj licznik
Row2 Alias P3.7 'pin P3.7 możemy
stan jumpera JP1, który decyduje, a w jakim
Call Rejestracja 'ponownie wezwij
odtąd nazywać "ROW2"
trybie układ ma pracować. Jeżeli teraz naci-
podprogram rejestracji kodu
Row3 Alias P1.3 'pin P1.3 możemy
End If 'koniec uwarunkowań
śnięty zostanie którykolwiek z klawiszy, to
odtąd nazywać "ROW3"
End If
Row4 Alias P1.7 'pin P1.7 możemy program przystępuje do analizy wprowadza-
End If
odtąd nazywać "ROW4" nych cyfr i porównywania ich z zapisanym
Digit = 255 'zmienna DIGIT przyjmuje
Col1 Alias P1.6 'pin P1.6
w pamięci kodem dostępu. Badaniem popraw-
wartość 255
możemy odtąd nazywać "COL1"
ności wprowadzonego szyfru zajmuje się pro- Loop 'zamknięcie pętli pro-
Col2 Alias P1.4 'pin P1.4
gram główny: gramowej
możemy odtąd nazywać "COL2"
End Sub
Col3 Alias P1.5 'pin P1.5
Sub Mainloop
możemy odtąd nazywać "COL3"
Do
Warto jeszcze wspomnieć o sposobie, w jaki
Set P3.1 'ustaw stan wysoki na
program pozycjonuje położenie wału napędo-
wejściu P3.1 (jumper JP1)
1. Procesor kolejno ustawia na wyjściach wego serwomechanizmu. Służą temu niedawno
If P3.1 = 1 Then 'jeżeli udało się, to:
ROW1 ... ROW4 stan niski. Fl = 1 'zmienna Fl przyjmuje opracowane przez MCS Electronics polecenia:
wartość 1
2. Następnie procesor stara się wymusić na CONFIG SERVOS = [liczba zastosowanych
Else 'w przeciwnym przypadku:
kolejnych wejściach COL1 ... COL3 stan wy- serwomechanizmów (ograniczona jedynie
Fl = 0 'zmienna FL przyjmuje
soki. liczbą dostępnych wyprowadzeń procesora)]
wartość 0
3. Jeżeli powyższa próba się nie udaje, to SERVO[x] = pin (poinformowanie kompila-
End If 'koniec uwarunkowania
oznacza to, że naciśnięty został klawisz odpo- Flag1 = 1 'zmienna FLAG1
tora, do których wyprowadzeń zostały dołą-
przyjmuje wartość 1
wiadający aktualnie wybranemu rzędowi i ko- czone serwa)
Call Read_eeprom 254 , Value 'odczytaj
lumnie matrycy. SERVO [numer serwa] = [kÄ…t obrotu]
zawartość pamięci pod adresem 254
Przykładowo przeanalizujmy fragmenty Gdzie kąt obrotu może być określony liczbą
Digits = Value 'zmienna DIGITS (liczba
podprogramu KEYSCAN: z przedziału 5 ... 24 (przy stosowaniu standar-
cyfr w kodzie) przyjmuje odczytaną wartość
dowych serw modelarskich daje to obrót wału
Call Keyscan 'sprawdz stan klawiatury
Sub Keyscan O
If Digit < 10 Then 'jeżeli naciśnięty został o blisko 180 ). Wał serwa możemy pozycjono-
Reset Row1 'ustaw stan niski na
klawisz 0 ... 9, to:
wać w 19 położeniach, z krokiem co około
pierwszym rzędzie matrycy klawiatury
Call Read_eeprom Licznik , Value 'odczytaj z
O
9,5 . Ograniczało to nieco stosowanie serwo-
Set Col1 'ustaw stan wysoki
pamięci kolejną cyfrę kodu
mechanizmów do wykonywania precyzyjnych
w pierwszej kolumnie matrycy klawiatury
Incr Licznik 'zwiększ stan zmiennej
If Col1 = 0 Then 'jeżeli stan COL1 w dalszym czynności i spowodowało konieczność modyfi-
LICZNIK
ciągu pozostaje niski (naciśnięty klawisz S1), to:
End If 'koniec uwarunkowania kacji polecenia SERVO. W kolejnej edycji BA-
Digit = 7 'zmienna DIGIT (wartość
If Digit < 10 Then 'jeżeli naciśnięty został
SCOM-a będzie ono umożliwiać poruszanie
odczytana z klawiatury) przyjmuje wartość 7
klawisz 0 ... 9 to: O
serwomechanizmu z krokiem co 1 . Na szczÄ™-
Call Ledshort 'błyśnij raz diodą LED i podaj
If Digit <> Value Then 'jeżeli odczytana z
ście, w naszym programie zamka szyfrowego
sygnał akustyczny
klawiatury cyfra nie odpowiada kolejnej cyfrze
ograniczenie pierwszej wersji polecenia
While Col1 = 0 'poczekaj na puszczenie
'kodu, to:
klawisza
Flag1 = 0 'zmienna FLAG1 przyjmuje SERVO nie miało najmniejszego znaczenia,
Wend
wartość 0
End If 'koniec uwarunkowania
Licznik = 0 'wyzerowanie licznika
End If 'koniec uwarunkowania
Set Col2 'ustaw stan wysoki w
End If 'koniec uwarunkowania
drugiej kolumnie matrycy klawiatury
If Digit = 11 Then 'jeżeli odczytana z
If Col2 = 0 Then 'jeżeli stan COL2 w dalszym klawiatury wartość to 11 (klawisz ENTER), to:
ciągu pozostaje niski (naciśnięty klawisz S5), to: If Digits = Licznik Then 'jeżeli
Digit = 8 'zmienna DIGIT (wartość wprowadzono właściwą liczbę cyfr, to:
odczytana z klawiatury) przyjmuje wartość 8 If Flag1 = 1 Then ,jeżeli zmienna FLAG1
Call Ledshort 'błyśnij raz diodą LED i podaj równa jest 1 (wszystkie cyfry były poprawne), to:
sygnał akustyczny If Fl = 1 Then 'jeżeli zmienna FL równa
While Col2 = 0 'poczekaj na puszczenie jest 1, to:
klawisza Licznik = 0 'wyzeruj licznik
Wend Call Otwieranie 'wezwij podprogram
Elektronika dla Wszystkich
20
ponieważ wał serwa ustawiany jest jedynie nałożyć na całość trzecią płytkę - płytę czoło- Pobór prądu przez serwo może wynieść nawet
w dwóch skrajnych pozycjach. wą układu. Po dociśnięciu płyty czołowej do 1,5A (przez 1 ... 2 sekundy podczas przesuwa-
płytki klawiatury możemy mieć całkowitą nia rygla), co należy uwzględnić podczas pro-
Montaż i uruchomienie pewność, że wszystkie przyciski oraz dioda jektowania układu zasilającego.
Na rysunku 3 zostały pokazane płytki dru- LED zostaną przylutowane idealnie równo.
Programowanie
kowane, które możemy wykorzystać do budo- Zmontowane płytki musimy połączyć ze
wy naszego zamka. Płytek tych jest wyjątkowo sobą za pomocą 10 odcinków srebrzanki przy- zamka szyfrowego
dużo, aż pięć, ale tylko dwie z nich są absolut- lutowanych do punktów lutowniczych ozna- Po pierwszym włączeniu zasilania układ
nie niezbędne do wykonania proponowanej czonych jako CON1 i CON3. Jest to jedyna automatycznie przechodzi w tryb programo-
konstrukcji. Trzy pozostałe to płyta czołowa nieco trudniejsza czynność, jaką będziemy wania, co zostaje zasygnalizowane dziesięcio-
zamka i dwie płytki stanowiące uchwyt do za- musieli wykonać podczas budowy zamka, po- ma sygnałami akustycznymi i błyśnięciami
mocowania serwomechanizmu. nieważ lutować musimy od strony ścieżek, diody LED. Gdyby, co jest bardzo mało praw-
Montaż rozpoczniemy od wlutowania a przewody powinny być jak najkrótsze. dopodobne, tak się nie stało, to należy ze-
w płytkę główną wszystkich elementów elek- Trzy płytki: płytkę bazową, klawiaturę wrzeć jumper JP2 i ponownie włączyć zasila-
tronicznych, rozpoczynając od zamontowania i płytę czołową łączymy ze sobą za pomocą nie. Kod wprowadzamy korzystając z nume-
podzespołów o najmniejszych gabarytach, czterech śrubek M3 i tulejek dystansowych. rycznej sekcji klawiatury, wprowadzając ko-
a kończąc na kondensatorach elektrolitycz- W przypadku braku odpowiednich tulejek mo- lejne cyfry kodu. Każde naciśnięcie klawisza
nych i przekazniku, o ile mamy zamiar go wy- żemy wykorzystać dodatkowe nakrętki, mo- potwierdzane jest sygnałem akustycznym
korzystywać. Pod układy scalone należy za- cujące poszczególne płytki (szczegóły wi- i błyskiem diody LED. Po zakończeniu wpisy-
stosować podstawki. Opcjonalne jest także doczne są na fotografiach). wania szyfru naciskamy klawisz ENTER, co
użycie stabilizatora napięcia IC4. Jeżeli bę- Płyta czołowa zamka jest nieco większa od spowoduje zapisanie danych w pamięci
dziemy dysponować zródłem napięcia o war- płytek obwodów drukowanych, a umieszczone i przejście układu w stan oczekiwania. Za-
tości 4,5 ... 6VDC, to elementu tego nie musi- w jej rogach otwory ułatwiają zamocowanie kończenie wprowadzania kodu kwitowane
my montować, a także możemy pominąć kon- całej konstrukcji np. w otworze wyciętym jest, podobnie jak jego rozpoczęcie, dziesię-
densatory C5 i C6. w drzwiach wejściowych do strzeżonego po- cioma sygnałami akustycznymi i optycznymi.
Po zmontowaniu płytki głównej wezmy się mieszczenia. Po wprowadzeniu kodu musimy jeszcze
za klawiaturę. Jednak przed rozpoczęciem tego Po zmontowaniu całego układu zamka zdecydować, w jakim trybie pracy ma praco-
etapu pracy warto zastanowić się nad sposobem wkładamy układy scalone w podstawki i dołą- wać nasz zamek.
wykonania klawisza S8, służącego do wywoły- czamy zasilanie. Jeżeli mamy zamiar wykorzy- 1. Tryb pracy 1. Zwarcie jumpera JP1 spo-
wania programu ponownego ustawiania kodu. stywać przekaznik RL1, to napięcie zasilające woduje, że każde kolejne wybranie kodu bę-
Sądzę, że klawisz ten powinien być o kilka mi- musi wynosić około 12VDC. Jeżeli wykorzy- dzie powodowało naprzemiennie otwieranie
limetrów krótszy niż pozostałe. Uniemożliwi to stywać będziemy jedynie serwomechanizm, to i zamykanie zamka.
jego przypadkowe naciśnięcie po wybraniu ko- po usunięciu stabilizatora napięcia IC4 może- 2. Tryb pracy 2. Jeżeli jumper JP1 pozosta-
du, pozostawiając możliwość naciśnięcia go za my zastosować zasilanie napięciem z przedzia- wimy rozwarty, to po wybraniu szyfru zamek
pomocą np. zapałki lub śrubokręta. łu 4,8 ... 6VDC. Tu bardzo ważna uwaga: sam będzie pozostawał otwarty przez około 20 se-
Równe wlutowanie w płytkę dwunastu układ elektroniczny pobiera bardzo mało prą- kund, po czym automatycznie zostanie za-
przycisków nie jest bynajmniej sprawą najła- du, czego niestety nie można powiedzieć o ser- mknięty.
twiejszą i dlatego też proponuję najpierw wło- womechanizmie pracującym pod obciążeniem. Otwieranie zamka szyfrowego
żyć wyprowadzenia wszystkich przycisków Wprowadzamy ustawiony uprzednio kod
oraz diody LED D2 w przeznaczone na nie Rys. 3 wykorzystując dziesięć klawiszy klawiatury
otwory w punktach lutowniczych, a następnie numerycznej. Po wprowadzeniu wszystkich
zaprogramowanych cyfr, naciskamy klawisz
ENTER. Podanie prawidłowego kodu skwito-
Wykaz elementów
wane zostanie przez układ podwójnym sygna-
C1, C2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39pF
C
1
,
C
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
9
p
F
C3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100µF/16 Å‚em akustycznym i optycznym (bÅ‚yÅ›niÄ™ciami
C
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
0
0
µ
F
/
1
6
C4, C6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100nF
C
4
,
C
6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
0
0
n
F
diody LED). Jeżeli zamek pracuje w trybie 2,
C5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470µF/25V
C
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
7
0
µ
F
/
2
5
V
to dioda LED pozostanie włączona przez cały
C7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10µF/16V
C
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
0
µ
F
/
1
6
V
czas otwarcia zamka.
R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .560&!
R
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
6
0
&!
Zmiana ustawionego szyfru
R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3,3k&!
R
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
,
3
k
&!
IstniejÄ… dwie metody zmiany ustawionego
R3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1k&!
R
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
k
&!
kodu. Jedna z nich została już opisana wyżej:
D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1N4148
D
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
N
4
1
4
8
zwieramy jumper JP2 i po ponownym włącze-
D2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .LED f 3mm
D
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
L
E
D
f
3
m
m
niu zasilania wprowadzamy z klawiatury no-
IC1 . . . . . . . . . . .zaprogramowany procesor 89C2051
I
C
1
.
.
.
.
.
.
.
.
.
.
.
z
a
p
r
o
g
r
a
m
o
w
a
n
y
p
r
o
c
e
s
o
r
8
9
C
2
0
5
1
IC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .AT24C04 wy szyfr. Jednak taka metoda nie zawsze by-
I
C
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A
T
2
4
C
0
4
IC3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7805
I
C
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
8
0
5
łaby wygodna, chociażby ze względu na brak
T1BC548
T
1
B
C
5
4
8
łatwego dostępu do płytki zamka. Dlatego też
CON1 . . . . . . . . . . . . . . . . . . . . . . . .2x5 goldpin ów
C
O
N
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
x
5
g
o
l
d
p
i
n
ó
w
istnieje druga, łatwiejsza metoda, w której
CON2 . . . . . . . . . . . . . . . . . . . . . . . . . . . .3x goldpin
C
O
N
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
x
g
o
l
d
p
i
n
wszystkie operacje wykonywane sÄ… z klawia-
CON4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ARK3
C
O
N
4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A
R
K
3
tury.
CON5 . . . . . . . . . . . . . . . . . . . . . . . . .ARK2 (3,5mm)
C
O
N
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A
R
K
2
(
3
,
5
m
m
)
1. Wybieramy ustawiony uprzednio szyfr.
JP1, JP2 . . . . . . . . . . . . . . . . . .2 x goldpin + jumper
J
P
1
,
J
P
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
x
g
o
l
d
p
i
n
+
j
u
m
p
e
r
2. Zamiast klawisza ENTER naciskamy
Q1 . . . . . . . . . . . . . . .rezonator kwarcowy 11,059MHz
Q
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
r
e
z
o
n
a
t
o
r
k
w
a
r
c
o
w
y
1
1
,
0
5
9
M
H
z
klawisz SET. Jeszcze raz zwracam uwagę, że
Q2 . . . . . . . . . . . . . . . . . . . . . . .Piezo z generatorem
Q
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
P
i
e
z
o
z
g
e
n
e
r
a
t
o
r
e
m
RL1 . . . . . . . . . . . . . . . . . .przekaznik typu RM96/12V klawisz ten powinien być krótszy od pozosta-
R
L
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
p
r
z
e
k
a
z
n
i
k
t
y
p
u
R
M
9
6
/
1
2
V
S1 ... S12 microswitch 10 mm (S8 - 3mm)
S
1
.
.
.
S
1
2
m
i
c
r
o
s
w
i
t
c
h
1
0
m
m
(
S
8
3
m
m
)
łych, tak aby nie było możliwe jego przypad-
Serwomechanizm i płytki do jego mocowania nie
S
e
r
w
o
m
e
c
h
a
n
i
z
m
i
p
Å‚
y
t
k
i
d
o
j
e
g
o
m
o
c
o
w
a
n
i
a
n
i
e
kowe naciśnięcie.
wchodzą w skład kitu.
w
c
h
o
d
z
Ä…
w
s
k
Å‚
a
d
k
i
t
u
.
3. Wprowadzamy nowy kod i potwierdza-
my klawiszem ENTER.
Komplet podzespołów i trzy płytki są
Zbigniew Raabe
dostępne w sieci handlowej AVT jako
e-mail: zbigniew.raabe@edw.com.pl
kit szkolny AVT-3001
Elektronika dla Wszystkich
21


Wyszukiwarka

Podobne podstrony:
zamek szyfrowy z jednym przyciskiem
zamek szyfrowy z systemem alarmowym
prosty zamek szyfrowy
2388 Kolowy zamek szyfrowy
2367 Zamek szyfrowy
Zamek szyfrowy
2003 12 Zamek szyfrowy na karty telefoniczne
Zdalnie sterowany zamek szyfrowy
uniwersalny zamek szyfrowy
zamek szyfrowy sterowany kodem DTMF
2003 10 Ministerownik z procesorem AT90S2313

więcej podobnych podstron