FAQ | Points | Add... | Recent posts | Search | Register | Log in


Zamek szyfrowy v.1.0 made by PTH


Post new topic  Reply to topic      Main Page -> Forum Index -> DIY Structures -> Zamek szyfrowy v.1.0 made by PTH
Author
Message
Pth
Poziom 20
Poziom 20


Joined: 12 Oct 2005
Posts: 1084
Location: Kraków

Post#1 Post from the author of the topic 22 Aug 2006 15:31   

Zamek szyfrowy v.1.0 made by PTH


Zamek szyfrowy v.1.0 made by PTH
Przedstawiam mój zamek szyfrowy.
Pomysł zrodził się już klika miesięcy temu kiedy to wpadłem że taki zamek można zrobić na tyrystorach ale układ byłby wtedy zbyt skomplikowany.
Wiec od razu jak nauczyłem się obsługi procesorów skończyłem mój projekt.

Zamek ten otwiera np. zamek elektromagnetyczny po wpisaniu odpowiedniego 4-syfrowego kodu. Główną jednostką miał być tańszy i poostrzy Attiny2313 ale planuję w przyszłości zrobić obsługę LCD do zamka tak więc w swojej konstrukcji użyłem mikrokontroler AVR ATmega8535, który posiada więcej wyjsć/wejść i posiada 4 razy większa pamięć flash.

Układ składa się z dwóch części : manipulatora (klawiatury) i układu sterującego.

Manipulator :
Składa się z 12 przycisków od 0 do 12 + * i #. Umieściłem tam też dwukolorową diodę normalnie świecąca na czerwono a po podaniu stanu wysokiego na bazę jednego z tranzystorów zawarty w manipulatorze zmienia ona kolor na zielony.
Wszystkie przyciski zwierają do masy.

Układ sterujący :
Jak już wcześniej wspomniałem użyłem procesor Atmega8353. W układzie sterującym znajduje się także programator i zasilacz stabilizowany +5V/1,5A
W skład zasilacza wchodzi mostek kondensatory i stabilizator LM7812

Cały program napisałem w BASCOMIE.

Na razie wpisałem do niego 4 dostępne kody które otwierają zamek. Teoretycznie można wpisać dowolną liczbę.

Do pisania i kompilacji programu użyłem programu BASCOM AVR DEMO 11.8.3

W tytule napisałem, że to wersja 1.0 ponieważ będą następne, chociażby wersja rozszerzona o wyświetlacz alfanumeryczny LCD. :)

A koszty? Hm...


Code:



Procesor   15
podstawka   0,3
stabilizator   1
gniazda   4
obudowa   3
przyciski   8,4
kondesatory   3
rezystory   0,5
mostek   0,5
kable   3
diody   1,2
tranzystory   0,4
potencjometr   0,8
piezo   1
kwarc   0,4
RAZEM :    42,5
[/url]


potem jeszcze postaram się schamt namalowac na komputerze bo narazie mam go na kartce.

Czekam na Waszeopinie! :D

AHA : no i jeszcze sam program :

Code:
' CODE LOCK
   ' Ports confuguration, konfiguracja portów

      ' A ports, porty A
Config Porta.0 = Input                                      ' 1
Config Porta.1 = Input                                      ' 2
Config Porta.2 = Input                                      ' 3
Config Porta.3 = Input                                      ' 4
Config Porta.4 = Input                                      ' 5
Config Porta.5 = Input                                      ' 6
Config Porta.6 = Input                                      ' 7
Config Porta.7 = Input                                      ' 8

Porta.0 = 1                                                 ' 1
Porta.1 = 1                                                 ' 2
Porta.2 = 1                                                 ' 3
Porta.3 = 1                                                 ' 4
Porta.4 = 1                                                 ' 5
Porta.5 = 1                                                 ' 6
Porta.6 = 1                                                 ' 7
Porta.7 = 1                                                 ' 8

      ' C ports, porty C
Config Portc.0 = Input                                      ' 9
Config Portc.1 = Input                                      ' *
Config Portc.2 = Input                                      ' 0
Config Portc.3 = Input                                      ' #
Config Portc.4 = Output                                     ' LED output, wyjscie sterujace LED
Config Portc.5 = Output                                     ' Speaker Output , Wyjscie Glosnikowe
Config Portc.6 = Output                                     ' transistor output, wyjście sterujące tranzystorem
Config Portc.7 = Output                                     ' LCD_led, podswietlenie LCD

Portc.0 = 1                                                 ' 9
Portc.1 = 1                                                 ' *
Portc.2 = 1                                                 ' 0
Portc.3 = 1                                                 ' #
Portc.4 = 0                                                 ' LED output, wyjscie sterujace LED : wylączany / czerwony
Portc.5 = 0                                                 ' Speaker Output , Wyjscie Glosnikowe : wylączany
Portc.6 = 0                                                 ' transistor output, wyjście sterujące tranzystorem : wylączany
Portc.7 = 0                                                 ' LCD_led, podswietlenie LCD  : wyłączone


   ' Variables , zmienne
Dim A As Integer                                            ' help variable no.1, zmienna pomocnicza nr.1
Dim B As Byte                                               ' code digit no., numer cyfr z kodu
Dim Code1 As Integer                                        ' code1, kod
Dim Code2 As Integer                                        ' code2, kod
Dim Code3 As Integer                                        ' code3, kod
Dim Code4 As Integer                                        ' code4, kod
Dim T1 As Integer                                           ' time 1, czas 1
Dim T2 As Integer                                           ' opening time, czas otwarcia zamka

Dim Dur As Integer                                          ' time 1, czas 1
Dim Fra As Integer

Begin:

A = 0
B = 0

Code1 = 1234                                                '
Code2 = 2345                                                '
Code3 = 3456                                                '
Code4 = 4567                                                '

T1 = 60                                                     ' debounce
T2 = 1                                                      ' seconds, sekundy
Dur = 30
Fra = 400


   ' Main program, glowny program


Do

   If Pina.0 = 0 Then                                       '1

     If B = 0 Then A = A + 1000
     If B = 1 Then A = A + 100
     If B = 2 Then A = A + 10
     If B = 3 Then A = A + 1
     Sound Pinc.5 , Dur , Fra
     P1:
     Waitms T1
     If Pina.0 = 0 Then Goto P1
     Incr B
   End If

   If Pina.1 = 0 Then                                       '2

     If B = 0 Then A = A + 2000
     If B = 1 Then A = A + 200
     If B = 2 Then A = A + 20
     If B = 3 Then A = A + 2
     Sound Pinc.5 , Dur , Fra
     P2:
     Waitms T1
     If Pina.1 = 0 Then Goto P2
     Incr B
   End If

   If Pina.2 = 0 Then                                       '3

     If B = 0 Then A = A + 3000
     If B = 1 Then A = A + 300
     If B = 2 Then A = A + 30
     If B = 3 Then A = A + 3
     Sound Pinc.5 , Dur , Fra
     P3:
     Waitms T1
     If Pina.2 = 0 Then Goto P3
     Incr B
   End If

   If Pina.3 = 0 Then                                       '4

     If B = 0 Then A = A + 4000
     If B = 1 Then A = A + 400
     If B = 2 Then A = A + 40
     If B = 3 Then A = A + 4
     Sound Pinc.5 , Dur , Fra
     P4:
     Waitms T1
     If Pina.3 = 0 Then Goto P4
     Incr B
   End If

   If Pina.4 = 0 Then                                       '5

     If B = 0 Then A = A + 5000
     If B = 1 Then A = A + 500
     If B = 2 Then A = A + 50
     If B = 3 Then A = A + 5
     Sound Pinc.5 , Dur , Fra
     P5:
     Waitms T1
     If Pina.4 = 0 Then Goto P5
     Incr B
   End If

   If Pina.5 = 0 Then                                       '6

     If B = 0 Then A = A + 6000
     If B = 1 Then A = A + 600
     If B = 2 Then A = A + 60
     If B = 3 Then A = A + 6
     Sound Pinc.5 , Dur , Fra
     P6:
     Waitms T1
     If Pina.5 = 0 Then Goto P6
     Incr B
   End If

   If Pina.6 = 0 Then                                       '7

     If B = 0 Then A = A + 7000
     If B = 1 Then A = A + 700
     If B = 2 Then A = A + 70
     If B = 3 Then A = A + 7
     Sound Pinc.5 , Dur , Fra
     P7:
     Waitms T1
     If Pina.6 = 0 Then Goto P7
     Incr B
   End If

   If Pina.7 = 0 Then                                       '8

     If B = 0 Then A = A + 8000
     If B = 1 Then A = A + 800
     If B = 2 Then A = A + 80
     If B = 3 Then A = A + 8
     Sound Pinc.5 , Dur , Fra
     P8:
     Waitms T1
     If Pina.7 = 0 Then Goto P8
     Incr B
   End If

   If Pinc.0 = 0 Then                                       '9

     If B = 0 Then A = A + 9000
     If B = 1 Then A = A + 900
     If B = 2 Then A = A + 90
     If B = 3 Then A = A + 9
     Sound Pinc.5 , Dur , Fra
     P9:
     Waitms T1
     If Pinc.0 = 0 Then Goto P9
     Incr B
   End If

   If Pinc.1 = 0 Then                                       '*
      Waitms 25
     Sound Pinc.5 , 200 , 500
     Waitms 100
     Sound Pinc.5 , 200 , 500
     Goto Begin

   End If

   If Pinc.2 = 0 Then                                       '0
      Sound Pinc.5 , Dur , Fra
     P11:
     Waitms T1
     If Pinc.2 = 0 Then Goto P11
     Incr B
   End If


   If Pinc.3 = 0 Then                                       '#

     Goto Check
   End If
Loop

Check:

   If Code1 = A Or Code2 = A Or Code3 = A Or Code4 = A Then
     Sound Pinc.5 , 100 , 300
     Sound Pinc.5 , 100 , 200

     P12:
      Portc.4 = 1
      Portc.6 = 1
      Waitms T1
     If Pinc.3 = 0 Then Goto P12
     Wait T2
     Portc.4 = 0
     Portc.6 = 0
     Goto Begin
   End If

   If Code1 <> A Then
     Portc.4 = 0
     Portc.6 = 0
     Sound Pinc.5 , 100 , 200
     Sound Pinc.5 , 100 , 300
     P13:
     Waitms T1
     If Pinc.3 = 0 Then Goto P13
     Goto Begin
   End If

End                                                         ' End program


program nie jest idealny, ma liczne błędy ale ważne, że sie nie da złamać kodu :)



manipulator_out.jpg
 Filesize:  57.02 KB

manipulator_out.jpg



sterownik_top.jpg
 Filesize:  81.04 KB

sterownik_top.jpg


Back to top
   
RaideR_87
Poziom 13
Poziom 13


Joined: 26 Sep 2004
Posts: 135

Post#2 22 Aug 2006 17:27   

Re: Zamek szyfrowy v.1.0 made by PTH


Z czego jest on zasilany?
Back to top
   
bishop
Poziom 15
Poziom 15


Joined: 24 Apr 2003
Posts: 227
Location: Kraków

Post#3 22 Aug 2006 17:55   

Re: Zamek szyfrowy v.1.0 made by PTH


Jesli zasilacz jest 5V i 1,4 A to w jego wskład wchodzi LM 7805..ale to literówka. Na drgajace styki bascom ma komende debounce...(ale osobiscie nie polecam bo czasem jaja robi). Podczas wpisywania kodu mozna zrobic inazej(mniej kombiinowania). Kod zrobic jako string i np po wcisnieciu 1 a=a+"1" dla 2 a=a+"2" itd....czyli wciskajac 1 pozniej 2 otrzymujemy
a ="12" .... jesli nadal chcialbys ulepszac ten program to bascom ma funkcje do klawiatury(cos jak macierz i dla klaw. 16 przyciskowej uzywasz bodajze 8 wejsc uP). Ja osobiscie wole uP MEGA8 chociazby dlatego ze kosztuje 4 zł brutto.... ogólnie fajna konstrkcja pozdrawiam.
Back to top
   
Google

Google Adsense


Post# 22 Aug 2006 17:55   





Back to top
   
Krzysztof33
Poziom 14
Poziom 14


Joined: 04 Aug 2006
Posts: 188
Location: Bobowa

Post#4 22 Aug 2006 18:00   

Re: Zamek szyfrowy v.1.0 made by PTH


Na pewno sporo się musiałeś nagłówkować nie tylko nad samą konstrukcją, ale nad kombinacjami kodu, jeśli się nie mylę, mam jedno zastrzerzenie co do wyglądu tej klawiatury, ale ogólnjie jest dobrze. 4+/6. Czy ta płytka jest zainstalowana wewnątrz klawiatury, czy masz do tego inną skrzynkę??
Back to top
   
Pth
Poziom 20
Poziom 20


Joined: 12 Oct 2005
Posts: 1084
Location: Kraków

Post#5 Post from the author of the topic 22 Aug 2006 18:11   

Re: Zamek szyfrowy v.1.0 made by PTH


Procesor jak i caly ukłąd steryjący nie moga byc zamontowane w manipulatorze bo takto ktoś z zewnątrz móglby otworzyć zamek...
Back to top
   
bishop
Poziom 15
Poziom 15


Joined: 24 Apr 2003
Posts: 227
Location: Kraków

Post#6 22 Aug 2006 18:28   

Re: Zamek szyfrowy v.1.0 made by PTH


aha. i co do bezpieczenstwa..... mozna zczytac z uP flesh i kod jest miecy offsetem 154-157.... :D ae to taka dygresja......
Back to top
   
jam_es
Poziom 14
Poziom 14


Joined: 28 Aug 2003
Posts: 180
Location: Gdańsk

Post#7 22 Aug 2006 18:37   

Re: Zamek szyfrowy v.1.0 made by PTH


Witam

Proponowałbym zastosowanie klawiatury matrycowej. Ta sama ilość klawiszy wykorzytuje nie 3x4=12 pinów portów, ale 3+4=7.
Jesli planujesz w przyszłości podpięcie LCD, to oczywiście w konfiguracji 4-bitowej - też ograniczysz wymaganą ilość użytych pinów.
Polecam też zainteresowanie się mikrokontrolerem ATMega8. Bardzo fajny sprzęt - peryferia i cena (6,90zł) :D

Pozdrawiam
Back to top
   
elektryk1e
Poziom 19
Poziom 19


Joined: 16 Mar 2005
Posts: 680
Location: poznan

Post#8 22 Aug 2006 18:40   

Re: Zamek szyfrowy v.1.0 made by PTH


ladny ladny, ale tylko do uzytku wewnetrznego chyba bo ta klawiaturka nie zbyt bezpiecznie wyglada. na zewnatrz musialbys miec taka z automatu telefonicznego. tam klawisze sa z cisnieniowo wtryskiwanego aluminium.
Back to top
   
Google

Google Adsense


Post# 22 Aug 2006 18:40   





Back to top
   
Pth
Poziom 20
Poziom 20


Joined: 12 Oct 2005
Posts: 1084
Location: Kraków

Post#9 Post from the author of the topic 22 Aug 2006 19:31   

Re: Zamek szyfrowy v.1.0 made by PTH


Sterownik jest po jednej a manimulator jest bo drugiej stronie sciany wiec nie ma jak zczytać kodu... własnie dlatego nie montowałem sterownika w manimulatorze...

pierwsze zdjecie pzredstawia manimulator zamonowany na ścianie przed moim pokojem :D
Back to top
   
kamiljus
Poziom 13
Poziom 13


Joined: 13 Mar 2004
Posts: 133
Location: Łomża

Post#10 22 Aug 2006 19:59   

Re: Zamek szyfrowy v.1.0 made by PTH


Projekt całkiem całkiem. Ja bym jednak proponował zastosować klawiaturę membranową. Koszt 10zł. Ładnie wygląda, można przylepić do ściany. Oczywiście zależy gdzie ma być to montowane. Bo jeśli jest z góry zdane na niszczycielskie ręce wandali to membranowa odpada. Ale jeśli w domu czy coś takiego to membranowa będzie lux.
Back to top
   
Veehraz
Poziom 17
Poziom 17


Joined: 09 Jul 2005
Posts: 374
Location: N/A

Post#11 22 Aug 2006 20:22   

Re: Zamek szyfrowy v.1.0 made by PTH


Ładna płytka i fajny pomysł, no ale obudowa to rzeźnia :P otwory robiłec rozgrzanym prętem? nie lepiej było wirtarką w imadle?
Back to top
   
vankej
Poziom 13
Poziom 13


Joined: 24 Feb 2006
Posts: 148
Location: Nowy Sacz

Post#12 22 Aug 2006 20:51   

Re: Zamek szyfrowy v.1.0 made by PTH


bardzo mi sie podoba ten pomysl bardzo ladnie jest wykonana plytak nieco gorzej wykonana jest obudowa pomysl cos nad jakas matryca

pozdrawiam
Back to top
   
wader_669
Poziom 22
Poziom 22


Joined: 21 Nov 2003
Posts: 1534
Location: Kanalizacja poznania

Post#13 22 Aug 2006 21:58   

Re: Zamek szyfrowy v.1.0 made by PTH


http://www.serasidis.gr/circuits/lcd_keys/lcd_keys.htm
Zwroc uwage na klawiatrue na 16 przyciskow uzywa tylko 8 pinow
Back to top
   
Pth
Poziom 20
Poziom 20


Joined: 12 Oct 2005
Posts: 1084
Location: Kraków

Post#14 Post from the author of the topic 22 Aug 2006 21:58   

Re: Zamek szyfrowy v.1.0 made by PTH


nie mam pojęcia jak sterowac z matrycowej klawiaturki :D ale ja wpadłem na lepszy pomysł. W klawiaturce bedzie jakiś procek - powiedz attiny2313 normalnie podłaczony do każdego przucisku. i teraz z tego procka będa szły tylko 2 kable zamiast 12 wysyłające sygnały go głównego procesora (np drugi attiny). jednym kablem bedzie przsyłana informacja o nadchodzącym kodzie a drugi kabel to będzie kod w postaci taktów o danej ilośći np. dla 1 bedzie jeden takt , dla 2 bedą dwa takty i tak dalej... Tak wiec już przy wersji zamka z LCD zredukuje ilosc kabelków z 12 do 2 :)
gdybym teraz chciał dołożyć LCdD'ka to było by 6 dodatkowych żył (EN, RW , data 4-7)... Tylko narazie ten zamek nic nie otwiera bo nie kupiłem jeszcze zamka elektromagnetycznego... Problemem jest to czy uda mi się załatwić w miare cichy zamek, który nie bedzie buczyeć bardzo przy otwieraniu :)
Nie wiecie w jakiej cenie mogą być takie zamki?
Back to top
   
vankej
Poziom 13
Poziom 13


Joined: 24 Feb 2006
Posts: 148
Location: Nowy Sacz

Post#15 22 Aug 2006 22:20   

Re: Zamek szyfrowy v.1.0 made by PTH


widzialem kidys w nomi zamki za 24V i kosztowaly okolo 20 zl nie wiem czy byly one takie dobre ale cena nei najgorsza a co do gornej granicy cenowej to...
znalazlem taki jeden zamek podobny do tego co widzielm a nomi
http://my.aukcje24.pl/accdb/viewItem.asp?IDI=24205955&ListingType=0&ListingSort=1&PageNum=1&Catg=18935

pozdrawiam



zamek.jpg
 Filesize:  57.24 KB

zamek.jpg


Back to top
   
Google

Google Adsense


Post# 22 Aug 2006 22:20   





Back to top
   
zupik15
Poziom 8
Poziom 8


Joined: 11 Aug 2006
Posts: 25
Location: pszczyna

Post#16 22 Aug 2006 23:01   

Re: Zamek szyfrowy v.1.0 made by PTH


albo klawiaturka od jakiegos domofonu mozesz sie pokusic o zamek na karte np.z bankomatu
Back to top
   
KaW
Poziom 22
Poziom 22


Joined: 25 Oct 2005
Posts: 1519
Location: LODZ

Post#17 22 Aug 2006 23:09   

Re: Zamek szyfrowy v.1.0 made by PTH


ja na taki ostatnio pokazany mowie -Zaczep -typ poznanski duzy-
jest odporny na ciezka prace -kiedys mial jezyk z mosiadzu -a od pewnego czasu -roznica w cenie klkulowanego moaiadzu a aluminium-czy cynku -jest duza -to teraz ktos to robi z alu i maluje zlotkiem na mosiaż/.../.
Mysla ,ze ja takich kantow nie znam -oczywiscie -dzika reka rynku tego nie wie i kupuje jak leci... sa rozne wykonania zaczepow .
Co do tego elektronicznego zamka kodowego to dac mu dobra klawiature -od ap wrzutowych-trudna do rozwalenia i juz stanowi zagrozenie dla leniwych producentow podobnych wyrobow stosujacych
jakies dziecinne klawiatury z gumy silikonowej z cyferkami .koszt takiej
-komplet -nowy ok 120-130 zl plus troche blachy -cala elektronika-jest w jednym malym pudelku...
Duze dzieci -wyrywaja te gumy z cyframi i rysuja gwosdziem po matrycy klawiatury -.............. tak sie maja mikroprocesory pod strzechami ......
Klawisze cyferek w ap wrzut sa odlewane z cynku -potem miedziowane i chromowane ..........na aluminium nie da sie zrobic tanio tej sztuki...
Back to top
   
kamiljus
Poziom 13
Poziom 13


Joined: 13 Mar 2004
Posts: 133
Location: Łomża

Post#18 22 Aug 2006 23:14   

Re: Zamek szyfrowy v.1.0 made by PTH


http://www.lcel.com.pl/strona.php?p=63&item=312 Może to kryptoreklama, ale chcę pomóc.
Cyframi oznaczyłem numery pinów na klawiaturce.
Sterowanie taką klawiaturą nie jest trudne. Już wyjaśniam o co chodzi. Mamy 12 przycisków , podłączamy do wejść mikrokontrolera pierwsze 4 (1,2,3,4) żyły i do wyjść pozostałe 3 (5,6,7) . Do 5,6 i 7 po kolei podajemy stan wysoki z uC i sprawdzamy stany na 1,2,3,4. I teraz powiedzmy. ustawiliśmy +vcc na pin 5 i zczytujemy po kolei piny 1,2,3,4, okazuje się , że +vcc jest na pinie 2. Wniosek taki, że został wciśnięty przycisk nr [4]. (Ponieważ na pinie piątym i pinie drugim możemy zauważyć podłączenie do przycisku nr [4])
Mam nadzieję, że pomogłem. Choć 7 żył to jeszcze nie jest satysfakcjonujące. PS. W swojej klawiaturce możesz również użyć 1wire to będziesz miał tylko jeden kabel (Oprócz zasilania).
Pozdrawiam
Back to top
   
kiler129
Poziom 21
Poziom 21


Joined: 05 Jun 2005
Posts: 1346
Location: Siedlce

Post#19 23 Aug 2006 09:53   

Re: Zamek szyfrowy v.1.0 made by PTH


A moze tak schemacikiem zucisz ?
I jak zaprogramowac kod ?

p.s. Dalbys rade przepisac kod na innego procka ? Ten jest dosydz drogi :(
Back to top
   
szrapnel
Poziom 5
Poziom 5


Joined: 27 Mar 2006
Posts: 12
Location: Zielona Góra

Post#20 23 Aug 2006 10:29   

Re: Zamek szyfrowy v.1.0 made by PTH


Witam!
Podoba mi się, że pomysł zrealizowany samodzielnie do początku do końca. Sam na czymś podobnym myślałem do drzwi do mieszkania w bloku ale słabym punktem jest stosowanie elektrozaczepu, który nadaje się chyba tylko do domofonu albo do wewnątrz mieszkania. A może ktoś wie czy można dostać zamki elektromagnetyczne z prawdziwego zdarzenia?
Pozdrówka :)
Back to top
   
sysio10
Poziom 13
Poziom 13


Joined: 30 Dec 2002
Posts: 110
Location: Gliwice

Post#21 23 Aug 2006 10:37   

Re: Zamek szyfrowy v.1.0 made by PTH


Projekt dla mnie dziwny, zrobiłem coś podobnego na atmega8 i atmega16. Zamek od lipca obsługuje domofon w bloku 36 lokali. Przyjąłem zupełnie inną zasadę. Kod zaczyna się numerem lokalu a następnie 4 cyframi. Istotne jest to że taki kod może być zmieniany w dowolnym momencie. Poza programatorem może być zmieniona również liczba obsługiwanych lokali, na podczepianym zewnętrznym LCD wyświetlane są obecne kody i opcje ustawiania parametrów zamka. Program zamka zawiera pin master umożliwiający zmianę pinu dowolnego lokalu. To zmieściło sie do atmega8. Ponieważ chciałem obsłużyć otwieranie rygla przez pastylki dallasa, program rozrósł sie do atmega16 plus pamięci szeregowej 24c64. Skorzystałem z wewnętrznego oscylatora, więc udało się zrezygnować z kwarcu.

Projekt ten był również moim pierwszym projektem w Bascomie na AVR

co do odgłosów przy otwieraniu rygla, to wyciszyłem odgłosy poprzez wstawienie mostka diodowego przed samym ryglem (opcję zastosowałem w innym domofonie niż zamek szyfrowy, tam lokatorzy parteru mieli małe dziecko które budził odgłos otwieranego rygla)
Back to top
   
Pth
Poziom 20
Poziom 20


Joined: 12 Oct 2005
Posts: 1084
Location: Kraków

Post#22 Post from the author of the topic 23 Aug 2006 11:15   

Re: Zamek szyfrowy v.1.0 made by PTH


tu napisałem mały programik obsługi całej klawiatury z dwóch kabli gdzie jeden byłby sygnałem rozpoczynającym sekwencje kodu klawiszy i ten sygnał byłby obecny do czasu kiedy sekwencja zostanie zakończona. drugim kablem byłby sam sygnał sekwencji danego klawisza. każdy klawisz to określona ilosć taktów. Tylko, że teraz w klawiaturce musiałby byc jeden procek który by nadawał sygnał do drugiego procka po drugiej stronie sciany
Drugi procek byłby odbiornikiem i dekodował by sygnał z procka nadajacego i potem wykonywał by juz całą robotę z szyfrem etc... Dlatego musi być po drugiej stronie bo wtedy nikt z zewnątrz nawet ingerując w klawiatuke nie otworzy zamka niemając dostepu do procka wewnątrz pomieszczenia.

tu juz napisałem ais programik:

co Wy na to?

nadajnik :

Code:


Dim B As Integer
Dim A As Integer

checkkbd:
   b=0
   do
      if portb.0 = 0 then
         Sound , Pind.5 , 100 , 200
         b=0
         p1:
            if portb.0 = 0 then
               Waitms 60
               Goto P1
            End If
         goto sequence:
      end if

      if portb.1 = 0 then
         Sound , Pind.5 , 100 , 200
         b=1
         p2:
            if portb.1 = 0 then
               Waitms 60
               Goto P2
            End If
         goto sequence:
      end if
     ' ...
     ' itd wsyztkie klawisze sprawdza...
    loop
sequence:
   porta.0=1
   for a=0 to B
      porta.1 = 1
      waitus 1000
      porta.1 = 0
Next A



i odbiornik:

Code:


Dim A As Integer
Dim B As Integer


Startbit:
   do
      if porta.0 = 1 then goto seq
   loop
seq:
   a = 0
   do
      If Porta.0 = 0 Then Goto Decode
      if porta.1 = 1 then
         incr a
         p1:
            If Porta.1 = 1 Then Goto P1
      End If
    loop
decode:
    ' tu juz przyporządkowanie liczbom odebranym z nadajnika liczb do kodu i sprawdzanie poprawności kodu.


Back to top
   
Jectiv
Poziom 14
Poziom 14


Joined: 06 Aug 2006
Posts: 173
Location: Lublin

Post#23 23 Aug 2006 11:41   

Re: Zamek szyfrowy v.1.0 made by PTH


Witam

Pomysł dobry do nauki programowania i wykorzystywania mikrokontrolerów.
Daje możliwość poznania specyfiki tematu przed zajęciem się trudniejszymi konstrukcjami. Proponuję zastanowić się nad możliwością programowania kodów z klawiatury, żeby nie trzeba było za każdym razem podłączać komputera.

Natomiast typowo takie zamki buduje się z gotowych tanich układów scalonych. Potrzebują tylko kilku elementów zewnętrznych.
Mogą posiadać od jednego do kilkudziesięciu kodów o różnych poziomach i kilka wyjść.
Kody i funkcje może użytkownik sam przeprogramować z klawiatury.

Pozdrowienia
Back to top
   
kamiljus
Poziom 13
Poziom 13


Joined: 13 Mar 2004
Posts: 133
Location: Łomża

Post#24 23 Aug 2006 12:28   

Re: Zamek szyfrowy v.1.0 made by PTH


Zrobiłem taki schemacik klawiaturki matrycowej 3x4 (Takiej jak Twoja). Kodu Ci nie napiszę bo nie znam bascoma. Ale sądzę, że po wyjaśnieniach, bez problemu sam sobie z tym poradzisz. Na schemacie dałem opcjonalnie pin do podłączenia przerwania. Służy on temu, żeby nie pętlić cały czas programu i oczekiwać na wciśnięcie klawisza, tylko po prostu gdy ktoś wciśnie to wywołuje przerwanie no i wtedy sprawdzasz co zostało wciśnięte. Jeśli będziesz używał przerwania to robisz tak: Na początku ustawiasz wszystkie wyjścia (te 3 piny) na stan wysoki. Gdy ktoś wciśnie jakiś klawisz to wtedy na IRQ pojawi się narastające zbocze i wywoła przerwanie (które z kolei przejdzie do funkcji):
Funkcja ma wyglądać następująco:
wchodzisz w pętle for od jednego do 3 //potrójne wykonanie pętli
{Instrukcje wykonane w pętli:
ustawiasz na pinach po kolei stan wysoki. Czyli żeby po kolei na wyjściach pojawiły się jedynki.
po ustawieniu na którymś pinie jedynki
wchodzisz w pętle for od 1 do 4 (4 wywołania)
i wtedy po kolei na każdym wejściu sprawdzasz stan.
}
W praktyce funkcja ma działać w ten sposób. Na pierwszym pinie wyjścia ustawiasz stan wysoki i zczytujesz wszystkie 4 wejścia i tak po kolei wykonujesz to 3 razy.
Wiem, że trochę pomotałem, ale cięzko tak mi kod tłumaczyć na język polski.
a gdybyś to robił bez przerwań (wtedy usuwasz te diody również ze schematu) to tą funkcję zapuszczasz w pętlę nieskończoną i wychodzisz dopiero wtedy jak zostanie wciśnięty jakiś przycisk.
Rozumiesz już o co chodzi??
Mogę pomóc napisać tę funkcję, ale w C bo bascoma nie znam.
Pozdrawiam
Kamil



keyboardmatrix.jpg
 Filesize:  28.24 KB

keyboardmatrix.jpg


Back to top
   
Pth
Poziom 20
Poziom 20


Joined: 12 Oct 2005
Posts: 1084
Location: Kraków

Post#25 Post from the author of the topic 23 Aug 2006 14:51   

Re: Zamek szyfrowy v.1.0 made by PTH


No a mógłbyś opisac sposób bez przerwania?

Jeśli chodzi o możliwośc zmiany kodu z klawiatury manipulatora to będzie ja zamontuje LCD'ka i naucze sie obsługiiwac eeprom. :)
Back to top
   
kamiljus
Poziom 13
Poziom 13


Joined: 13 Mar 2004
Posts: 133
Location: Łomża

Post#26 23 Aug 2006 15:31   

Re: Zamek szyfrowy v.1.0 made by PTH


Quote:
gdybyś to robił bez przerwań (wtedy usuwasz te diody również ze schematu) to tą funkcję zapuszczasz w pętlę nieskończoną i wychodzisz dopiero wtedy jak zostanie wciśnięty jakiś przycisk.

Przecież napisałem. Tylko tyle, że na początku nie ustawiasz wszystkich pinów na stan wysoki tylko cały czas po kolei je ustawiasz.
Back to top
   
Marcin_126
Poziom 16
Poziom 16


Joined: 16 Feb 2005
Posts: 276
Location: Bydgoszcz

Post#27 23 Aug 2006 17:38   

Re: Zamek szyfrowy v.1.0 made by PTH


Pth,
W najprostszym przypadku możesz poprotsu w pętli sprawdzać stany klawiszy.
Co do eeproma czy chodzi ci o wewnętrzny?
zapis: WRITEEEPROM wartosc , adres
odczyt: READEEPROM wartosc , adres
Nie jetem pewien czy 8535 ma taki.
Jeżeli po IC2, 24CXX to:

Odczyt:
I2cstart
I2cwbyte 164
I2cwbyte Adres_epr_hi
I2cwbyte Adres_epr_lo
I2cstart
I2cwbyte 165
I2crbyte Dana_epr , Nack
I2cstop

Zapis:
I2cstart
I2cwbyte 164
I2cwbyte Adres_epr_hi
I2cwbyte Adres_epr_lo
I2cwbyte Dana_epr
I2cstop
Back to top
   
Pth
Poziom 20
Poziom 20


Joined: 12 Oct 2005
Posts: 1084
Location: Kraków

Post#28 Post from the author of the topic 24 Aug 2006 12:32   

Re: Zamek szyfrowy v.1.0 made by PTH


8535 ma 512 bajtów wewnętrznego eeproma.
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 24 Aug 2006 12:32   





Back to top
   
kiler129
Poziom 21
Poziom 21


Joined: 05 Jun 2005
Posts: 1346
Location: Siedlce

Post#29 24 Aug 2006 18:35   

Re: Zamek szyfrowy v.1.0 made by PTH


Pth wrote:
8535 ma 512 bajtów wewnętrznego eeproma.


To troszke przymalo :|
Back to top
   
Pth
Poziom 20
Poziom 20


Joined: 12 Oct 2005
Posts: 1084
Location: Kraków

Post#30 Post from the author of the topic 24 Aug 2006 18:44   

Re: Zamek szyfrowy v.1.0 made by PTH


512 bajtów to mało na kilka 4-cyfrowych liczb?!
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> DIY Structures -> Zamek szyfrowy v.1.0 made by PTH
Statement for Wykop Statement for Facebook Statement for Delicious Statement for Digg Statement for Google Statement for Twitter Statement for Blip
Page 1 of 2 Go to page 1, 2  Next
Similar topics
Płytka prototypowa z procesorem AVR - by PTH (51)
Button Code - jedno przyciskowy zamek szyfrowy. (10)
LOCKER - zamek szyfrowy oparty na ATTINY2313 (40)
Prosty zamek szyfrowy CMOS (8)

Page generation time: 0.375 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed