witam wszystkich
Pisze pierwszy raz wiec prosze o wyrozymiałość "starych wyjadaczy "
zaczynam pisac w Bascomie
na pierwszy ogien poszedł zamek elektroniczny
(jest to nie moj projekt tylko AVT)
probuje zmienic w nim kilka rzeczy
1.aby po włączeniu zasilania nie wchodził w stan programowania
(i to chyba juz mi sie udało)
2.Zamek jest przystosowany do sterowania SERWO mechanizmem
a mnie chodzi o to zeby mozna było nim sterowac normalny zamek
taki jak w domofonie bzzzzz.
jest w nim fajna funkcja tzn programowanie czasu zadziałania
tzn dotykasz i np przez 5sek jest włączony
(aten czas mozna programowac)
it tez jesli da rade chciałbym zostawic
no i funkcje włacz wyłącz
tzn jak raz dotkniesz "pastylką " włączy drugi wyłączy
Prosze o pomoc co nalezy zmienic w tym programie aby zadział
Widzialem juz takie projekty na 2051
ale tam trzeba pamiec i jeszce pare innych a w tym który chce zmienic jest tylko jeden mały procek 2343 i to jest super
ps. program kupilem razem z płyta Elektronika PLUS CD-Eplus1/2004
ps. 2 jesli ktos potrzebuje np czytniki do DS 19xx znalezłem tanie zródło
ps.3 ponizej kod tego zamka (nie zmieniony )
z góry dzieki za pomoc i pozdrawiam
Dim Crystal As Byte
$crystal = 1000000
Crystal = 9
Config Pinb.3 = Input
Config Pinb.4 = Output
Config Pinb.2 = Input
Config 1wire = Pinb.2 'use this pin
Config Pinb.0 = Output
Config Pinb.1 = Output
Dim Serwoimpulse As Word
Dim Flag1 As Bit
Dim Flag2 As Bit
Dim Flag3 As Bit
Dim Timedelay As Byte
Dim Ar(8) As Byte , A As Byte , I As Byte
Declare Sub Redled
Declare Sub Greenled
Declare Sub Reading
Declare Sub Odczyt
Declare Sub Main
Declare Sub Weryfikacja
Declare Sub Rejestracja
Declare Sub Lockoff
Declare Sub Lockoff2
Declare Sub Set_timedelay
Dim Licznik As Byte
Dim Value As Byte
Dim R As Byte
Set Portb.1
Wait 2
Reset Portb.1
Set Portb.3
If Pinb.3 = 0 Then
For R = 1 To 10
Call Redled
Next R
Call Rejestracja
End If
Set Portb.2
If Pinb.2 = 0 Then
Call Set_timedelay
End If
Readeeprom Timedelay , 127
If Timedelay = 255 Then
Timedelay = 20
End If
Call Main
Sub Main
Do
1wreset
Waitms 50
1wreset
If Err = 0 Then
Call Weryfikacja
End If
Loop
End Sub
Sub Rejestracja
Licznik = 1
Do
Flag2 = 1
1wreset
Waitms 10
1wwrite &H33
For I = 1 To 8
Ar(i) = 1wread():
If Ar(i) <> 255 Then
If Ar(i) <> 0 Then
Flag2 = 0
End If : End If
Next I
If Flag2 = 0 Then
Waitms 30
Call Odczyt
End If
Waitms 30
If Licznik > 80 Then
For R = 1 To 10
Call Greenled
Next R
Exit Do
End If
Loop
End Sub
Sub Odczyt
Waitms 50
1wreset
If Err = 1 Then
Return
End If
1wwrite &H33
For I = 1 To 8
Ar(i) = 1wread():
Next I
I = 0
For I = 1 To 8
Writeeeprom Ar(i) , Licznik
Incr Licznik
Next I
Set Portb.0
Wait 3
Reset Portb.0
End Sub
Sub Weryfikacja
'Waitms 100
'1wreset
'If Err = 1 Then
'Call Main
'End If
1wwrite &H33
For I = 1 To 8
Ar(i) = 1wread()
Next I
Licznik = 1
For R = 1 To 10
For I = 1 To 8
Readeeprom Value , Licznik
If Value = Ar(i) Then
Flag1 = 1
Else
Flag1 = 0
End If
Incr Licznik
Next I
Set Portb.3
If Pinb.3 = 1 Then
If Flag1 = 1 Then
Set Portb.0
Call Lockoff
Exit For
Call Main
End If
End If
Set Portb.3
If Pinb.3 = 0 Then
If Flag1 = 1 Then
Call Lockoff2
Exit For
Call Main
End If
End If
Next R
End Sub
Sub Lockoff
Reset Portb.1
Reset Portb.0
For R = 1 To 50
Set Portb.4
Waitus 100
Reset Portb.4
Waitms 50
Next R
For R = 1 To Timedelay
Call Greenled
Waitms 255
Waitms 255
Waitms 255
Waitms 155
Next R
For R = 1 To 50
Set Portb.4
Waitms 2
Waitus 200
Reset Portb.4
Waitms 50
Next R
Reset Portb.1
End Sub
Sub Greenled
Set Portb.0
Waitms 100
Reset Portb.0
Waitms 100
End Sub
Sub Lockoff2
Flag3 = Not Flag3
If Flag3 = 1 Then
Reset Portb.1 : Set Portb.0
For R = 1 To 50
Set Portb.4
Waitus 200
Reset Portb.4
Waitms 50
Next R
Else
Set Portb.1 : Reset Portb.0
For R = 1 To 50
Set Portb.4
Waitms 2
Waitus 20
Reset Portb.4
Waitms 50
Next R
End If
End Sub
Sub Redled
Set Portb.1
Waitms 100
Reset Portb.1
Waitms 100
End Sub
Sub Set_timedelay
For R = 1 To 20
Call Redled
Next R
For R = 1 To 250
Call Redled
Wait 1
Set Portb.2
If Pinb.2 = 1 Then
R = R - 1
Writeeeprom R , 127
Set Portb.0
Wait 3
Reset Portb.0
Exit For
End If
If R = 250 Then
R = 100
Writeeeprom R , 127
End If
Next R
End Sub
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięZamek na DS 1990 (AVT 1286)
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 27 gości