اطلاعیه

Collapse
No announcement yet.

پروژه قفل رمزی الکترونیکی از 0 تا 100

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

    نوشته اصلی توسط massih
    باسلام
    من به این موضوع علاقه مندشدم ولی لینکهایکه برای ذخیره کردن گذاشتید کار نمیکند لطفا برای رفع مشکل چاره ای بیندیشید یا اینکه برای من به آدرسbehesht2009@yahoo.com بفرستید . با تشکر massih

    سلام
    من همه لینک ها رو تو تاپیک به جز 3 لینک راهنما(که ضروری نیستند) چک کردم . همگی سالم بودند.

    نکته 0 : اگر از مرورگر mozilla firefox به جای internet explorer استفاده کنید هیچ مشکلی نخواهید داشت یا حداقل راحتر دانلود خواهید کرد.
    نکته 1 : برای دیدن شماتیک مدار به لینک زیر بروید :

    http://rapidshare.com/files/81539924/untitled.bmp.html

    مدار رو ببندید و فایل هگزو از اینجا بگیرید و به میکرو بدهید.

    فایل هگز:

    http://rapidshare.com/files/81635290..._luck.HEX.html

    نکته 2 : مطالب تو این تاپیک رو یکبار دیگر بدقت بخونید . فکر کنم چیزی نباشه که من نگفته باشم.

    بازم هر مشکلی بود کمکتون مینمایم .
    اگر فقط از خدا مطالبه کنید حتما به جواب میرسید. در آزمایشات انجام گرفته 100% نتیجه حاصل شده است.
    نکته 0 : فقط از خدا.

    دیدگاه


      #17
      پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

      بالاخره امروز تونستم به لطف خدا پروژه پایانیم رو تموم نمایم. خیلی سنگین بود ولی ارزش داشت ....

      اما برنامه تا خط 157 گفته شد .

      158) در اینجا متغیر M را دارای ارزش رقم دهگان میکنیم . بدین روش که عدد تک رقمی گرفته شده از صفحه کلید را با ضرب آن در عدد 10 دارای ارزش دهگان در رمز 4 رقمی خود میکنیم .
      درست مثل دبستان . البته H در اینجا سومین رقم رمز 4 تایی ما است ............ M = H * 10

      159) مثل خط بالا عدد N را دارای ارزش رقم صدگان میکنیم ........N = F * 100

      160) همون منطق . عدد P دارای ارزش هزارگان است . ......P = E * 1000

      نکته 1 : میشد از روشهای دیگه ای هم استفاده کرد .

      نکته 0 : رقم یکان هم اخرین عددی که با صفحه کلید وارد میکنیم و نیازی به جنگولک بازی نداره . چرا ؟

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

      161) ابتدا رقم یکان را با دهگان جمع میکنیم . ........Q = M + I

      162)سه رقم رمز رو میسازیم ...........R = N + Q

      163) چهار رقم رمز رو میسازیم .......... S = P + R





      اگر فقط از خدا مطالبه کنید حتما به جواب میرسید. در آزمایشات انجام گرفته 100% نتیجه حاصل شده است.
      نکته 0 : فقط از خدا.

      دیدگاه


        #18
        پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

        لطفا ادامه برنامه را هم توضیح بدید.....
        یادمان باشد کمال عشق در رسیدن به محبوب است..!

        دیدگاه


          #19
          پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

          با سلام و خسته نباشید اگه امکان داره Proteus پروژه ره هم بگذارید ممنون

          دیدگاه


            #20
            پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

            نوشته اصلی توسط ebru
            با سلام و خسته نباشید اگه امکان داره Proteus پروژه ره هم بگذارید ممنون
            سلام

            با استفاده از لینک شماتیک که در این صفحه و صفحه ما قبل وجود دارد براحتی میتوانید مدار رو در proteus ببندید .

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

            دیدگاه


              #21
              پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

              کد خاص : :surprised:

              نترسید خاص فقط یک اسمه.

              این کد مدار را از عملکرد عادی خارج می نماید.

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

              نکته صفر: هر روش دیگری :هر روشی برای از کار انداختن مدار و رسیدن به اهداف شومشان توسط افراد غیر مرتبط. :twisted:

              1)روش غیر قابل بازگشت: سخت افزار بسوزه.
              نکته صفر : مثلا Lcd بسوزه یا نمیدونم به زمین میکرو 5 ولت وصل بشه .


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

              نکته صفر: البته این برنامه باید جوری باشه که با ریست کردن میکرو یا روشن خاموش کردن مجدد مشکل پیدا نکنه.
              نکته 1 : در چنین مواقعی میتوانید انتظار تماس مشتری خود را داشته باشید.

              البته اینها فقط برای امنیت بیشتره .

              اگر فقط از خدا مطالبه کنید حتما به جواب میرسید. در آزمایشات انجام گرفته 100% نتیجه حاصل شده است.
              نکته 0 : فقط از خدا.

              دیدگاه


                #22
                پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

                ادامه برنامه :

                در خط زیر بعد از گرفتن 4 رقم رمز از کاربرو تبدیل آن به عدد 4 رقمی به مرحله بعد میرویم البته اینجا یک استثنا وجود دارد (یکی از نکات مهمی که یک کاربر(استاد زرنگ)میتواند از مدار ایراد بگیرد).

                نکته 0:در این جا میخواهیم نحوه تغییر رموز(مستر پسورد و پسورد) مدار رو کنترل کنیم.
                پس نیاز به یک زیر برنامه برای این کار احساس میشود . در برنامه نویسی پیشرفته با زبان های خانواده C به جای این زیربرنامه ها از متد استفاده میکنیم گر چه میتوان در این زبان ها هم از دستورGoto استفاده نمود.


                164) به زیر برنامه main7 پرش میکنیم.........................Goto Main7


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

                نکته 1 : امان از حافظه این انسان فراموشکار .البته این فراموشکاری بعضی جاها خوبه مثل وقتی دانشجو بودم و آخرترم های اول در بعضی دروس ... اره.ولی برای همون لحظات اعلام نمره .... :cry2: بودم و بعدش و ترم بعدش :biggrin: میشدم. الغرض اینارو گفتم که برسم به اینجا که اگر بعضی خطوط رو در ادامه نگفتم علتش نسیان است .بابا این پروژه برای یک سال قبله و من بعدش خیلی پروژه مختلف انجام دادم الان هم قاطیم و این رو هم بگم که تنها منبع من برای توضیح برنامه همین تاپیک است زیرا به علت یک اشتباه هر چی از این پروژه داشتم فرمت شد.



                نکته مهم 2: در خط بعد یعنی 165 از یک حلقه استفاده میکنیم .چرا؟ در توضیحات برنامه گفتیم که به محض فشردن دکمه * یا # مدار وارد پروسه تغییر رمز میشود . این کار باید چه جوری انجام بشه ؟ غیر از اینکه تا کاربر # فشرد باید عملیات تغییر مستر رمز صورت گیرد؟یعنی به main7 بپره.

                نکته مهم 3: البته اینجا برای یک هدف دیگه به زیر برنامه Main7 میرویم. انصافا اینجاش خیلی مشکله ولی سعی میکنم بگم . ببینید اونجایی که در خطوط 64 تا 120 در تاپیک « پاسخ #8 : ژانویه 02, 2008, 0810 pm » بررسی میکردیم که کاربر چه دکمه ای را میفشرد :redface: ...گفتیم که اگر # فشرده شد باید وارد پروسه تغییر مستر پسورد بشویم و انجا یک متغییری به نام O رو برابر 3 قرار دادم . همچنین در نکته 0 همان پروژه گفتم که علت این کارو توضیح میدهم. حالا موقشه . خیلی خوب توجه کنید . اقا ما در همونجایی که در بالا گفتم (همون دستور شرطی ) بعد از اینکه O رو 3 نمودیم همانند بقه شرط های این خطوط به زیر برنامه Main2 میرفتیم و در ابتدای این زیربرنامه بررسی می کردم که اگر کلید مستر پسورد فشرده شد به Main7 بروم و اگر کلید تغییر رمز فشرده شد به Mian 13 . حالا مثلا کلید مستر پسورد فشرده شد و بعد انجام خط بالا ما به Main 7 برای تغییر مستر پسورد میرسیم. اما O اولا 3 شد (نه اشتباه نکنید سه نشد ) زیرا رمز ما 4 رقمی است . دوما بعد از اینکه ما به مرحله تغییر رمز میرسم باید به برنامه بگیم که بعدازدادن یکسری اطلاعات به کاربر ،4 رقم بعدی رو که کاربر وارد میکند برای تغییر مستر پسورد ما است نه چیز دیگر و به آن گیر نده و باگ نداشته باش اینم انگلیسیش.
                (You must know this number(O=3) is to force you understand that you take master password digit from user not else " Program said to himself ).
                همانطور که برای تغییر پسورد از متغیر T به جای O استفاده میکنیم . که توضیح داده خواهد شد ان شاالله.

                نکته 4: من این مدار پارسال برای آز پروژه خیلی سریع انجام دادم ممکنه از نظر منطقی بعضی جاها ...باشه که از شما اساتید محترم الکترونیک و برنامه نویسی عذر خواهی میکنم. :nerd:

                165)در اینجا از یک زیر برنامه دیگر به نام Main8 استفاده میکنیم . مزیت این زیر برنامه ها اینکه هر کجای برنامه که خواستیم می توانیم هدایت برنامه را به این زیر برنامه ها منتقل نماییم . در خط بعدی نیز از یک دستور برای ایجاد حلقه کمک میگیریم .همتطور که گفتم حلقه ها در این زبان به صورت زیر نوشته میشوند که در ابتدای حلقه از دستور Do استفاده میکنیم و در انتها از دستور Main8..............................Loop



                اگر فقط از خدا مطالبه کنید حتما به جواب میرسید. در آزمایشات انجام گرفته 100% نتیجه حاصل شده است.
                نکته 0 : فقط از خدا.

                دیدگاه


                  #23
                  پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

                  با سلام
                  من چطور می توانم دستورات نوشتن و خواندن پسورد اول و پسورد مستر را در ایپرام قرار دهم طوری که پس از تغییر هر کدام از پسوردها در ایپرام ذخیره شود و با هربار وارد کردن، پسورد با پسورد ذخیره شده در ایپرام مقایسه شود تا در صورت درستی پسورد وارد شده OK روی ال سی دی دیده شود؟؟
                  هم اینکه با هربار قطع شدن تغذیه مدار آخرین اطلاعات مربوط به آخرین تغییرات صورت گرفته در EEPROM ذخیره شود.

                  دیدگاه


                    #24
                    پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

                    پاسخ بدهید ثواب داره!!

                    دیدگاه


                      #25
                      پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

                      چرا ادامه نمیدی؟
                      هنوز خیلی از سطر ها را توضیح ندادین

                      دیدگاه


                        #26
                        پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

                        نوشته اصلی توسط jahromy
                        پاسخ بدهید ثواب داره!!
                        Ss = 0
                        Readeeprom Ss , 20
                        If S = 1 Then Goto Star ; End If
                        S = 1
                        Writeeeprom S , 20
                        Waitms 4
                        N = 111111
                        Writeeeprom N , 10
                        Waitms 4
                        Y = 2222
                        Writeeeprom Y , 1
                        Waitms 4
                        Star:
                        و ادامه برنامه

                        N اینجا همون پین کد ماست و Y پسوورد ما. که در زیر برنامه مربوط به خودشون عوض میشن . من موقع نوشتن برنامه مشابه با همین مشکل وبرو شده بودم که با کمک دوستان حل شد
                        زنده بو دن را به بیداری بگذرانیم که سال ها به اجبار خواهیم خفت

                        دیدگاه


                          #27
                          پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

                          منم مشکلم اینه که وقتی دوباره راه اندازی میکنم رمزی که بهش دادم ذخیره نمیشه و همون قبلی مییاد
                          این چیزایی که شما گفتی را باید کجای برنامه گذاشت که رمز تغییر کنه

                          دیدگاه


                            #28
                            پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

                            Ss = 0
                            Readeeprom Ss , 20
                            If S = 1 Then Goto Star ; End If
                            S = 1
                            Writeeeprom S , 20
                            Waitms 4
                            N = 111111
                            Writeeeprom N , 10
                            Waitms 4
                            Y = 2222
                            Writeeeprom Y , 1
                            Waitms 4
                            Star:
                            و ادامه برنامه
                            اینو یک توضیحی میدی کجا باید نوشت و برنامه اش چیه؟
                            اخه منم همین مشکل را دارم میکرو خاموش میشه رمزی که دادم ذخیره نمیشه
                            کامل بگو

                            دیدگاه


                              #29
                              پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

                              اگر خیلی ساده بگم در هر جایکه رمز تغییر میکند و همین طور جایکه مقدار اولیه به متغیر حاوی رمز میدهیم و نیز جایکه متغیر رمز را میخوانیم یا در متغیر حاوی رمز مینویسیم باید از دستور Writeeeprom برای نوشتن و دستور Readeeprom برای خواندن استفاده کنیم . اما تا اونجایکه یادمه بعد از این دستورات باید از تاخیر مناسب استفاده کنیم زیراکه نوشتن و خواندن از EEPROM زمان بیشتری میگیره تا Flash .

                              نکته 0 : برای تغیرات مناسب برای ذخیره رمز در EEPROM هنوز رو برنامه فکر نکردم.

                              نکته 1 : نباید چیز مشکلی باشه .

                              نکته 2 : برنامه ای که دوستمون گفتن برای راهنمایی شما خیلی خوبه . ولی باید خودتون با این راهنمایی تغیرات زیادی در برنامه ایجاد کنید ، زیرا (این کد) در برنامه اصلی نمیتواند به کار رود و باید تغییر کند. :agree:
                              اگر فقط از خدا مطالبه کنید حتما به جواب میرسید. در آزمایشات انجام گرفته 100% نتیجه حاصل شده است.
                              نکته 0 : فقط از خدا.

                              دیدگاه


                                #30
                                پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100

                                [quote author=mainpersia link=topic=12398.msg75065#msg75065 date=1211902050]
                                جدیدا مشاهده شده بعضی اساتید محترم اندکی پدیت شده اند و پی برده اند که مدار قفل دیجیتال با 4 رقم به صورت اسانی از اینترنت قابل دریافت و ارائه است... :biggrin:

                                پس در پروژه های ارائه شده به دانشجویان قفل 5 رقمی پیشنهاد میدهند :surprised:

                                ولی همانطور که در پست های قبلی گفتم مدار طرح شده در این پروژه قابلیت افزایش ارقام به تعداد بسیار زیاد را دارا میباشد. :angry:

                                من باب مثال من رمز 4 رقمی رو به 5 رقمی تبدیل کردم و لینکش رو برای دریافت فایل هگز و برنامه نوشته شده در زیر قرار میدهم.

                                لینک فایل هگز :

                                http://rapidshare.com/files/11803531...DIGIT.HEX.html


                                و اینم لینک برنامه (متن برنامه) که با notepad قابل باز شدن است.

                                http://rapidshare.com/files/118035686/digital_luck_whit_5_digit.bas.html

                                نکته بسیار مهم:

                                نکته 0: رمز 5 رقمی (12345) است. و توجه شود که برای راحتی به خاطر سپردن ،مستر کد(مستر پسورد) به (54321) تغییر یافته است.

                                نکته 1 : شماتیک مدار همان شماتیک گفته شده در تاپیک های قبلی است و تغییری نکرده.

                                نکته 2: فایل هگز با پروتوئس ورژن 7 به بالا به خوبی جواب میده.

                                برای مدار عملی این حلقه رو پیدا کنید


                                Mmain:
                                Do
                                Waitms 100
                                B = Getkbd()
                                If B < 12 Then
                                Goto Main
                                End If
                                Loop

                                و در خط Waitms 100مقدار 100 را طبق مطالب گفته شده در تاپیک های قبل کم یا زیاد کنید تا مقدار مناسبش دستتون بیاد.(حدکثر 50 تا زیاد و کم کنید.)

                                نکته مهم: این خط برای این استکه با فشاردادن یک دکمه صفحه کلید یهو 5 رقم پر نشه ؛ چون سرعت میکرو خیلی از سرعت انگست ما بیشتره.
                                [/quote
                                با سلام و خسته نباشید آقا لینک فایل هگز کد پنج رقمی خرابه اگه امکان داشته باشه یه بار دیگه پ کنید با تشکر

                                دیدگاه

                                لطفا صبر کنید...
                                X