| Author |
Message
|
Pth Poziom 20

Joined: 12 Oct 2005 Posts: 1084 Location: Kraków
|
#1
22 Aug 2006 15:31 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 :)
| Filesize: |
57.02 KB |

|
| Filesize: |
81.04 KB |

|
|
|
| Back to top |
|
 |
RaideR_87 Poziom 13

Joined: 26 Sep 2004 Posts: 135
|
#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

Joined: 24 Apr 2003 Posts: 227 Location: Kraków
|
#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

|
#
22 Aug 2006 17:55 |
|
|
|
|
|
| Back to top |
|
 |
Krzysztof33 Poziom 14

Joined: 04 Aug 2006 Posts: 188 Location: Bobowa
|
#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

Joined: 12 Oct 2005 Posts: 1084 Location: Kraków
|
#5
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

Joined: 24 Apr 2003 Posts: 227 Location: Kraków
|
#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

Joined: 28 Aug 2003 Posts: 180 Location: Gdańsk
|
#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

Joined: 16 Mar 2005 Posts: 680 Location: poznan
|
#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

|
#
22 Aug 2006 18:40 |
|
|
|
|
|
| Back to top |
|
 |
Pth Poziom 20

Joined: 12 Oct 2005 Posts: 1084 Location: Kraków
|
#9
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

Joined: 13 Mar 2004 Posts: 133 Location: Łomża
|
#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

Joined: 09 Jul 2005 Posts: 374 Location: N/A
|
#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

Joined: 24 Feb 2006 Posts: 148 Location: Nowy Sacz
|
#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

Joined: 21 Nov 2003 Posts: 1534 Location: Kanalizacja poznania
|
|
| Back to top |
|
 |
Pth Poziom 20

Joined: 12 Oct 2005 Posts: 1084 Location: Kraków
|
#14
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

Joined: 24 Feb 2006 Posts: 148 Location: Nowy Sacz
|
|
| Back to top |
|
 |
Google

|
#
22 Aug 2006 22:20 |
|
|
|
|
|
| Back to top |
|
 |
zupik15 Poziom 8

Joined: 11 Aug 2006 Posts: 25 Location: pszczyna
|
#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

Joined: 25 Oct 2005 Posts: 1519 Location: LODZ
|
#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

Joined: 13 Mar 2004 Posts: 133 Location: Łomża
|
#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

Joined: 05 Jun 2005 Posts: 1346 Location: Siedlce
|
#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

Joined: 27 Mar 2006 Posts: 12 Location: Zielona Góra
|
#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

Joined: 30 Dec 2002 Posts: 110 Location: Gliwice
|
#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

Joined: 12 Oct 2005 Posts: 1084 Location: Kraków
|
#22
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

Joined: 06 Aug 2006 Posts: 173 Location: Lublin
|
#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

Joined: 13 Mar 2004 Posts: 133 Location: Łomża
|
#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
| Filesize: |
28.24 KB |

|
|
|
| Back to top |
|
 |
Pth Poziom 20

Joined: 12 Oct 2005 Posts: 1084 Location: Kraków
|
#25
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

Joined: 13 Mar 2004 Posts: 133 Location: Łomża
|
#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

Joined: 16 Feb 2005 Posts: 276 Location: Bydgoszcz
|
#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

Joined: 12 Oct 2005 Posts: 1084 Location: Kraków
|
#28
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

|
#
24 Aug 2006 12:32 |
|
|
|
|
|
| Back to top |
|
 |
kiler129 Poziom 21

Joined: 05 Jun 2005 Posts: 1346 Location: Siedlce
|
#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

Joined: 12 Oct 2005 Posts: 1084 Location: Kraków
|
#30
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 |
|
 |