ايران ويج

نسخه‌ی کامل: پروژه RFID با ماژول EM-18
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4
اینم کدم برای نشون دادن کد کارت:
کد php:
$regfile "m8def.dat"
$crystal 8000000
$baud 
9600

Config Lcd 
16 2
Config Lcdpin 
Pin Db4 Portb.1 Db5 Portb.2 Db6 Portb.3 Db7 Portb.4 _
                        Rs 
Portd.2 Portd.3

Dim E 
As Byte As Byte
Dim C
(12)as String 1
Dim Code 
As String 10

Cursor Off


Do
   
Cls Lcd "<<insert Card>>" Wait 1


   Step1
:
      
Incr E
      C
(e) = Waitkey()
      If 
12 Then Goto Step1



   
For 3 To 12
      Incr P
      Mid
(code 1) = C(e)
   
Next


   E 
0
   Cls 
Lcd Code Wait 10

Loop 
اون جایی نوشته wait 1 جلوی insert card.این یعنی که بعد یک ثانیه کارت قبول کنه.حالا من که قبل یه ثانیه کارت رو بهش نزدیک میکنم و دور میکنم یه کد دیگه مینویسه تا موقعی که بعد از یه ثانیه کارت رو میگیرم.
شکل چیه؟ کدوم کد درسته؟
(۲۷-مهر-۱۳۹۳, ۱۷:۱۴:۴۶)amkamkamk نوشته است: [ -> ]اینم کدم برای نشون دادن کد کارت:
کد php:
$regfile "m8def.dat"
$crystal 8000000
$baud 
9600

Config Lcd 
16 2
Config Lcdpin 
Pin Db4 Portb.1 Db5 Portb.2 Db6 Portb.3 Db7 Portb.4 _
                        Rs 
Portd.2 Portd.3

Dim E 
As Byte As Byte
Dim C
(12)as String 1
Dim Code 
As String 10

Cursor Off


Do
   
Cls Lcd "<<insert Card>>" Wait 1


   Step1
:
      
Incr E
      C
(e) = Waitkey()
      If 
12 Then Goto Step1



   
For 3 To 12
      Incr P
      Mid
(code 1) = C(e)
   
Next


   E 
0
   Cls 
Lcd Code Wait 10

Loop 
اون جایی نوشته wait 1 جلوی insert card.این یعنی که بعد یک ثانیه کارت قبول کنه.حالا من که قبل یه ثانیه کارت رو بهش نزدیک میکنم و دور میکنم یه کد دیگه مینویسه تا موقعی که بعد از یه ثانیه کارت رو میگیرم.
شکل چیه؟ کدوم کد درسته؟

ظاهرا مشکلی نداره
یه عکس از مدار ( پشت و رو ) بزار
(۲۷-مهر-۱۳۹۳, ۱۸:۴۴:۱۹)robojalal نوشته است: [ -> ]
(۲۷-مهر-۱۳۹۳, ۱۷:۱۴:۴۶)amkamkamk نوشته است: [ -> ]اینم کدم برای نشون دادن کد کارت:
کد php:
$regfile "m8def.dat"
$crystal 8000000
$baud 
9600

Config Lcd 
16 2
Config Lcdpin 
Pin Db4 Portb.1 Db5 Portb.2 Db6 Portb.3 Db7 Portb.4 _
                        Rs 
Portd.2 Portd.3

Dim E 
As Byte As Byte
Dim C
(12)as String 1
Dim Code 
As String 10

Cursor Off


Do
   
Cls Lcd "<<insert Card>>" Wait 1


   Step1
:
      
Incr E
      C
(e) = Waitkey()
      If 
12 Then Goto Step1



   
For 3 To 12
      Incr P
      Mid
(code 1) = C(e)
   
Next


   E 
0
   Cls 
Lcd Code Wait 10

Loop 
اون جایی نوشته wait 1 جلوی insert card.این یعنی که بعد یک ثانیه کارت قبول کنه.حالا من که قبل یه ثانیه کارت رو بهش نزدیک میکنم و دور میکنم یه کد دیگه مینویسه تا موقعی که بعد از یه ثانیه کارت رو میگیرم.
شکل چیه؟ کدوم کد درسته؟

ظاهرا مشکلی نداره
یه عکس از مدار ( پشت و رو ) بزار
قبل اون کار. یه سوال.آیا امکان داره دربازکن ریموتی روی مدار من نویز بندازه و برای چند دقیقه اونو تقریبا از کار بندازه و درست شه؟
آخه زمانی که دربازکن کارتی من کار نمیکنه،خود به خود بعد یه مدت درست میشه.
فقط کافیه شما یه مقاومت بالاکش 10 کیلویی به پایه RX (پایه شماره 2 در مگا 8 ) میکرو وصل کنین تا مشکلتون حل بشه
(۲۸-مهر-۱۳۹۳, ۱۴:۵۰:۵۱)رسول نوشته است: [ -> ]فقط کافیه شما یه مقاومت بالاکش 10 کیلویی به پایه RX (پایه شماره 2 در مگا 8 ) میکرو وصل کنین تا مشکلتون حل بشه
ُسلام. من پول آپ کردم با 10K ولی تغییری در کد دریافتی من نکرد!!!
رله رو لازمه (به جز درایور)پول آپ یا پول دان کنیم؟
پول آپی که گفتم باید این مشکلتونو حل کنه :

(۲۷-مهر-۱۳۹۳, ۱۶:۵۰:۳۰)amkamkamk نوشته است: [ -> ]من 20 تا کارت دارم ولی هموشونو دوعدد اولشونو و دو عدد اخرشونو 00 نشون میده.به نظر شما مشکل کجاست؟

نه برای رله هیچی لازم نیست .. فقط یه دیود هرز گرد واسش بذار
(۲۸-مهر-۱۳۹۳, ۱۷:۴۰:۱۰)رسول نوشته است: [ -> ]پول آپی که گفتم باید این مشکلتونو حل کنه :

(۲۷-مهر-۱۳۹۳, ۱۶:۵۰:۳۰)amkamkamk نوشته است: [ -> ]من 20 تا کارت دارم ولی هموشونو دوعدد اولشونو و دو عدد اخرشونو 00 نشون میده.به نظر شما مشکل کجاست؟

نه برای رله هیچی لازم نیست .. فقط یه دیود هرز گرد واسش بذار
پول آپو گذاشتم ولی مشکل حل نشد.باز هم همون کد هارو نشون میده
سلام
حسش نبود تاپیک های قبلی رو بخونم
شما یه جمع بندی از مشکلتون ارائه بدید ببینیم دردش چیه:)
با سلا م لطفا یک نگاه به این کد بندازید ببینید مشکل کجاست

وقتی روشن می کنم رو صفحه این قسمت میاد Successful بعد هیچ تکی رو قبول نمی کنه

کد:
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
'-------------------------------------------------------------------------------
Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portb.4 , Db5 = Portb.3 , Db6 = Portb.2 , Db7 = Portb.1
Config Lcd = 16 * 2
'-------------------------------------------------------------------------------
Dim E As Byte
Dim P As Byte
Dim C(12) As String * 1
Dim Code As String * 10



'Dim A As String * 10
Dim B As String * 10
'Dim C As String * 11
'Dim D As String * 10
Dim N As Byte
'******************************                                          '
'Enable Interrupts
'Enable Urxc
'On Urxc Step1
Cursor Off
'******************************
Config Portd.2 = Output
Config Pinc.2 = Input
Config Pinc.3 = Input
'******************************




'******************************
F:
Code = "Tak Cards"

Do
'==========================================
Cls
'******************************
Readeeprom B , 1
'******************************
If Pinc.2 = 1 Then Goto S
'******************************
If B = Code Then
Portd.2 = 1
Code = "Opened"
Locate 1 , 1
Lcd "Welcome:"
Locate 2 , 4
Lcd Code
Wait 2
Portd.2 = 0
Code = "tak Cards"
End If
'******************************
Locate 1 , 1
Lcd "<<insert Card>>"
Locate 2 , 4
Lcd Code
Waitms 600

Loop
End                                                        'end program
'******************************

   Step1:

Incr E

C(e) = Waitkey()

If E < 12 Then Goto Step1
For E = 3 To 12

Incr P

Mid(code , P , 1) = C(e)
Next

E = 0
P = 0


' Locate 2 , 1
'Lcd ; Code
'Waitms 400
'Input , Code
Return


'*****************************
S:
N = 1
Do

Cls
Locate 1 , 4
Lcd "Save user"
Locate 2 , 1
Lcd "(" ; N ; "):" ; Code

Waitms 600
If Pinc.2 = 1 Then
Writeeeprom Code , N
Cls
Code = "Successful"
End If
'******************************
If Pinc.3 = 1 Then Goto F
'******************************
Loop
(۰۸-خرداد-۱۳۹۴, ۱۹:۱۹:۵۹)2Alborz نوشته است: [ -> ]با سلا م لطفا یک نگاه به این کد بندازید ببینید مشکل کجاست

وقتی روشن می کنم رو صفحه این قسمت میاد Successful بعد هیچ تکی رو قبول نمی کنه

کد:
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
'-------------------------------------------------------------------------------
Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portb.4 , Db5 = Portb.3 , Db6 = Portb.2 , Db7 = Portb.1
Config Lcd = 16 * 2
'-------------------------------------------------------------------------------
Dim E As Byte
Dim P As Byte
Dim C(12) As String * 1
Dim Code As String * 10



'Dim A As String * 10
Dim B As String * 10
'Dim C As String * 11
'Dim D As String * 10
Dim N As Byte
'******************************                                          '
'Enable Interrupts
'Enable Urxc
'On Urxc Step1
Cursor Off
'******************************
Config Portd.2 = Output
Config Pinc.2 = Input
Config Pinc.3 = Input
'******************************




'******************************
F:
Code = "Tak Cards"

Do
'==========================================
Cls
'******************************
Readeeprom B , 1
'******************************
If Pinc.2 = 1 Then Goto S
'******************************
If B = Code Then
Portd.2 = 1
Code = "Opened"
Locate 1 , 1
Lcd "Welcome:"
Locate 2 , 4
Lcd Code
Wait 2
Portd.2 = 0
Code = "tak Cards"
End If
'******************************
Locate 1 , 1
Lcd "<<insert Card>>"
Locate 2 , 4
Lcd Code
Waitms 600

Loop
End                                                        'end program
'******************************

   Step1:

Incr E

C(e) = Waitkey()

If E < 12 Then Goto Step1
For E = 3 To 12

Incr P

Mid(code , P , 1) = C(e)
Next

E = 0
P = 0


' Locate 2 , 1
'Lcd ; Code
'Waitms 400
'Input , Code
Return


'*****************************
S:
N = 1
Do

Cls
Locate 1 , 4
Lcd "Save user"
Locate 2 , 1
Lcd "(" ; N ; "):" ; Code

Waitms 600
If Pinc.2 = 1 Then
Writeeeprom Code , N
Cls
Code = "Successful"
End If
'******************************
If Pinc.3 = 1 Then Goto F
'******************************
Loop

سلام دوست گرامی
شما هیچ جای برنامه step1 فراخونی نکردی
برای همین اصلا کارتتو شناسایی نمیکنه

نظر من اینه که بعد از دستور readeeprom B , 1
دستور goto step1 بزار درست میشه
روال کار هم بدین صورت میشه که، ابتدا کارت خونده میشه
بعد از خوندن کارت اگر کلید pinc.2 رو داشته باشی ، کارتت ذخیره میشه (سعی کن در زمان خوندن کارت کلید رو نگه داشته باشی تا 1ثانیه بعد از خوندن کارت، تا ذخیره شه).
وبعد از ذخیره سازی چک میکنه کارتی که کشیده شده قبلا ذخیره بوده یا نه

برنامه رو ساده کردم و برات گذاشتم

موفق باشی ....

کد:
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
'-------------------------------------------------------------------------------
Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portb.4 , Db5 = Portb.3 , Db6 = Portb.2 , Db7 = Portb.1
Config Lcd = 16 * 2
'-------------------------------------------------------------------------------
Dim E As Byte
Dim P As Byte
Dim C(12) As String * 1
Dim Code As String * 10
Dim B As String * 10
Dim N As Byte
'******************************                                          '
Cls
cursor Off
'******************************
Config Portd.2 = Output
Config Pinc.2 = Input
Config Pinc.3 = Input
'******************************
F:
Code = ""
Do
   Cls
   Readeeprom B , 1
   Locate 1 , 1
   Lcd "<<Insert Card>>"

   Goto Step1

   Locate 2 , 4
   Lcd Code
   Waitms 500

   If Pinc.2 = 1 Then Goto S

   If B = Code Then
      Portd.2 = 1
      Locate 1 , 1
      Lcd "Welcome:"
      Locate 2 , 4
      Lcd "Opened"
      Wait 2
      Portd.2 = 0
      Cls
   End If


   Code = ""

Loop
End                                                        'end program
'******************************
Step1:
Incr E
C(e) = Waitkey()
If E < 12 Then Goto Step1
For E = 3 To 12
Incr P
Mid(code , P , 1) = C(e)
Next

E = 0
P = 0
Return
'*****************************
S:
N = 1
Do
   Cls
   Locate 1 , 4
   Lcd "Save User:"
   Locate 2 , 1
   Lcd "(" ; N ; "):" ; Code
   Writeeeprom Code , N

   Wait 1
   Cls
   Locate 1 , 2
   Lcd "<<Successful>>"
   Waitms 500

   Goto F
Loop
(۱۲-خرداد-۱۳۹۴, ۰۳:۰۵:۴۲)تونستم راش بندازم لطفا کمک کنید بتونم تعدادتک بیشتری بهش بشناسونم وتک هارو   حذف کنم نوشته است: [ -> ]
کد:
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
'-------------------------------------------------------------------------------
Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portb.4 , Db5 = Portb.3 , Db6 = Portb.2 , Db7 = Portb.1
Config Lcd = 16 * 2
'-------------------------------------------------------------------------------

Dim E As Byte , P As Byte
Dim C(12)as String * 1
Dim Code As String * 10

Dim B As String * 10
Dim N As Byte
Dim I_eerom As Eram Byte
'******************************                                          '
Cls
Cursor Off
'******************************
Door_open Alias Portd.2
'Config Portd.2 = Output
Config Pinc.2 = Input
Config Pinc.3 = Input
'******************************
 Declare Sub F
  Declare Sub S
'******************************

Do
   Cls : Lcd "<<insert Card>>" : Wait 1


   Step1:
      Incr E
      C(e) = Waitkey()
      If E < 12 Then Goto Step1



   For E = 3 To 12
      Incr P
      Mid(code , P , 1) = C(e)
   Next


   E = 0 : P = 0
   'Cls : Lcd Code : Wait 4
'Goto F
Gosub F
'Return
Loop
'******************************************

Sub F
 'Code = " "

'Do

   Cls
 Readeeprom B , 1

  If Pinc.2 = 1 Then Gosub S

  Locate 2 , 4
Lcd Code
 'Wait 4
 Waitms 500


   Cls
   If B = Code Then
      Door_open = 1
      Locate 1 , 1
      Lcd "Welcome:"
      Locate 2 , 4
      Lcd "Opened"
      Wait 2
      Door_open = 0
      Cls
   End If


   'Code = ""

'Loop
'End
 End Sub
'*****************************
 Sub S
N = 1
'Do
Cls
Locate 1 , 4
Lcd "Save user"
Locate 2 , 1
Lcd "(" ; N ; "):" ; Code
Waitms 600
If Pinc.2 = 1 Then
Writeeeprom Code , N                                        'ÂÏÑÓ ÎÇäå ÍÇÝÙå ãæÑÏ äÙÑ ÈÑÇí ÎæäÏä n

Cls
Code = "Successful"
End If
'******************************
'If Pinc.3 = 1 Then Goto F
'
  Return
'******************************
'Loop
End Sub
صفحه‌ها: 1 2 3 4