اطلاعیه

Collapse
No announcement yet.

اتصال KEYPAD 4*4 به میکرو با یه سیم

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

    اتصال KEYPAD 4*4 به میکرو با یه سیم

    تا حالا شده برای اتصال قطعات مثل LCD,RELAY,A2D EXT,KEYPAD,... به میکرو به خاطر کمی تعداد پورت و یا پین دچار مشکل بشین؟ :angry:
    چه کاری میشه کرد؟چند وقت پیش یه راه حل جالب واسه اتصال یهKEYPAD 4*4 دیدم فقط یه ابتکار خیلی ساده هستش. :cry:
    تکنیکش شبیه کاری که تو ال سی دی لمسی(TOUCH SCREEN) میکنن , مقدار ورودی رو با A2D میخونن
    بعد با توجه به تعداد کلید ها ,به همون تعداد تو برنامه واسش بازه تعریف میکنن . :cry:
    به شکل دقت کنین:





    در هنگام فشردن هر کلید توی خروجی ما داریم ستونR+ سطرRt=R
    KEY1=R4+R3
    KEY2=R4+R2
    KEY3=R4+R1
    KEY4=R5+R3
    .
    .
    .

    یادتون باشه مقدار مقاومت ها باید متفاوت باشه مثلا
    R1=100
    R2=330
    R3=680
    R4=1K
    R5=2.2K
    R6=3.3K
    R7=4.2K
    R8=6.2K
    حالا ما باید تو برنامه برای تشخیص اینکه کدوم کلید فشرده شده
    یه سری بازه(چون مقادیر مقاومتها خیلی دقیق نیست و با شرایط محیطی اندکی تغییر میکنن)
    متناسب با مقاومت ها تعریف میکنیم مثل1750 > مقدار >1650 برای کلید 1 بعد مقدار Rt با جدول مقایسه میکنیم
    تا کلید مورد نظر مشخص بشه . :surprised: :applause:
    امید وارم به دردتون بخوره!


    #2
    پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

    راستی اینم یه مداری هست که من واسه 8 کلید ساختم از همین کار هم الگو گرفتم





    خیلی کارم رو راحت کرده بود توی این مدار میتونین اول مقادیر رو تو برنامه مشخص کنین

    بعد به تنظیم پتانسیومتر ها مشغول بشین تا بهترین جواب رو بگیرین

    فقط یادتون باشه واسه صحت بیشتر کار حتما مقدار ورودی روچند بار سنجش کنین بعد مقادیر توی جدول بزارین :job: :bye

    دیدگاه


      #3
      پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

      سلام آقا مرتضی

      واقعا مطلب جالب و توپی بود

      واقعا بدرد من که خورد ، یعنی به علت کمبود پورت تمام مشکلات کار با بافر و ... رو برام حل کرد .

      واقعا دستت درد نکنه
      آری آغاز دوست داشتن است ...
      ...و همین دوست داشتن زیباست .

      دیدگاه


        #4
        پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

        سلام.اگه امکان داره برای مدار پست اولی یه برنامه بنویسین.با Avr زیاد کار نکردم تازه دارم آشنا میشم.
        ممنون میشم.
        اگر چیزی را می دانید در اختیار کسی که نمی داند و می پرسد قرار بدهید.نترسید که اگر به او بگویید بیشتر از شما خواهد دانست.چراکه دیر یا زود از کس دیگری خواهد پرسید.پس نام نیکوی یاد دهنده دانش به او را از آن خود کنید.

        پارسی را پاس داریم

        دیدگاه


          #5
          پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

          با تشکر از مدار جالبتون
          یه سوال : میشه با همین نوع مدار 32 تا کلید رو اسکن کرد .
          البته ببخشید که تعداد کلید ها یکم زیاده آخه بیشتر از این به ذهنم نرسید!!!!
          :redface:
          دانلود کی های جدید کاسپر
          جهت سفارش طراحی و برنامه نویسی سایت, قالب, بنر قیف و فلش
          با این آی دی تماس بگیرید :
          sam.shark360

          دیدگاه


            #6
            پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

            نوشته اصلی توسط Mehrdad001
            سلام.اگه امکان داره برای مدار پست اولی یه برنامه بنویسین.با Avr زیاد کار نکردم تازه دارم آشنا میشم.
            ممنون میشم.
            به چه زبانی ؟

            دیدگاه


              #7
              پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

              سلام. این شماتیک که کشیدین برنامش با بسکام است؟می شود برنامه رو بگذارید تا دستان استفاده کنند؟

              دیدگاه


                #8
                پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

                با برنامه نویسی برای ADC (آنالوگ به دیجیتال) آشنایی ندارم.با استفاده از CodeVision می تونم برای LCD برنامشو بنویسم (زحمت می کشم!) ولی بقیشو نمیدونم!
                که چه برنامه ای بنویسیم که اگه دکمه ای رو کی پد زده شد رو LCD نشون داده بشه.

                خیلی خیلی ممنون.
                اگر چیزی را می دانید در اختیار کسی که نمی داند و می پرسد قرار بدهید.نترسید که اگر به او بگویید بیشتر از شما خواهد دانست.چراکه دیر یا زود از کس دیگری خواهد پرسید.پس نام نیکوی یاد دهنده دانش به او را از آن خود کنید.

                پارسی را پاس داریم

                دیدگاه


                  #9
                  پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

                  نوشته اصلی توسط مجید نصراله زاده


                  به چه زبانی ؟
                  زبان C در CodeVision اگه امکان داره.ممنون میشم.
                  اگر چیزی را می دانید در اختیار کسی که نمی داند و می پرسد قرار بدهید.نترسید که اگر به او بگویید بیشتر از شما خواهد دانست.چراکه دیر یا زود از کس دیگری خواهد پرسید.پس نام نیکوی یاد دهنده دانش به او را از آن خود کنید.

                  پارسی را پاس داریم

                  دیدگاه


                    #10
                    پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

                    سلام ......................

                    که چه برنامه ای بنویسیم که اگه دکمه ای رو کی پد زده شد رو LCD نشون داده بشه.
                    من این پست رو خیلی وقت پیش خونده بودم و الان دقیق حضور ذهن ندارم که برنامش رو نوشتم یا نه .. منظورتون از اون نقل قول بالا چیه؟ میخواید کلا چنین برنامه ای بنویسید یا اینکه صرفا برنامه ی این مدار رو .. ببشخید اگه بد متوجه شدم .. منتظر پاسختون میمونم .. موفق باشید ..
                    دوستان! مدتی کمتر به سایت میام ..

                    دیدگاه


                      #11
                      پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

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

                      پارسی را پاس داریم

                      دیدگاه


                        #12
                        پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

                        نوشته اصلی توسط Mehrdad001
                        سلام به شما.
                        ترجیحا اگه برنامه مربوط به همین مدار باشه بهتره.با Atmega32 و خروجی LCD.
                        با تشکر.
                        سلام ...................

                        ببینید برنامه ی این مدار رو خدمتتون توضیح میدم؛ اگه باز مشکلی بود بفرمایید تا کدش رو هم براتون بذارم .. اولا بگم که من روی خود مدار صحبت دارم و یه جورایی باهاش مشکل! امــا اون رو کنار میذارم و در خدمتتون هستم تا آخر پست که مشکلم رو بگم ..

                        مدار به چه ترتیب کار میکنه؟ از تلاقی سطر و ستون های مختلف، مقدار ولتاژ متفاوتی در سطرها تولید میشه که اگه به واحد ADC داده بشه میتونه عدد دیجیتایز متفائتی رو برای خودش تصاحب کنه .. حالا تنها کاری که باید بکنبم چیه؟ مثل اینکه 12 تا سنسور دما داریم (LM35..) و به تناسب اون 12 تا هم خروجی .. حالا چطور اینارو مشخص کنیم .. یه راهش اینه که شما مقادیر دیجیتال رو بخونید و بر حسب اونها interval تعریف کنید .. خــب پس الان باید دنبال خوندن مقادیر دیجیتال شده ی سطوح سیگنال مختلف باشیم که از اتصال مقاومتهای مختلف حاصل شده .. حالا سوال اینه که چطوری این مقادیر رو بخونیم؟

                        یه راه ساده ای که داره (و راهیه که من خودم معمولا از اون استفاده میکنم..) اینه که شما اول روی LCD مقادیر رو بخونید .. یعنی بعداز دستور read_adc شما متغییر char رو تبدیل کنید به chr* اونهم با دستور itoa .. حالا شما متغییر رشته ای دارید که با تغییر مقدار دیجیتال؛ میتونه روی LCD نمایش داده بشه .. با چه دستوری؟ lcd_puts .. با این دستور شما میتونید یه رشه رو روی LCD نمایش بدید .. رشته ای که ثابت نیست و ماهیت متغییر داره .. بعد از این مرحله شما تونستید مقادیر دیجیتال رو بخونید و فقط کافیه برای اونها interval تعیین کنید و در انتها هم توی حلقه های IF دستوراتتنون رو بلوکه بندی کنید .. امیدوارم مطالبم رو زیاد بد توضیح نداده باشم ..

                        امــآ در مورد خود مدار .. دوستان کسی این مدار رو تست کرده (با کیبورد منظورمه ..) .. ممنون میشم نتیجه رو اعلام کنید .. موفق باشید ..
                        دوستان! مدتی کمتر به سایت میام ..

                        دیدگاه


                          #13
                          پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

                          امــآ در مورد خود مدار .. دوستان کسی این مدار رو تست کرده (با کیبورد منظورمه ..) .. ممنون میشم نتیجه رو اعلام کنید
                          سلام اقا حسام
                          انشا ا.. که خوب هستین
                          راستش من اینجوری بستم بد نبود جواب میداد ولی بعضی وقتا مثلا بجای اینکه 3 رو نشون بده 8 رو نشون میداد دوباره 3 رو نشون میداد نمیدونم از نویزه یا چون رنج ولتلژ 3 با 11 نزدیکه همه اینجوریه

                          ذکات علم یاد دادنه ....

                          دیدگاه


                            #14
                            پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

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

                            ممنون.
                            اگر چیزی را می دانید در اختیار کسی که نمی داند و می پرسد قرار بدهید.نترسید که اگر به او بگویید بیشتر از شما خواهد دانست.چراکه دیر یا زود از کس دیگری خواهد پرسید.پس نام نیکوی یاد دهنده دانش به او را از آن خود کنید.

                            پارسی را پاس داریم

                            دیدگاه


                              #15
                              پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

                              سلام ....................

                              راستش من اینجوری بستم بد نبود جواب میداد
                              این بستن با اون بستن بالا خیلی فرق میکنه .. این مداری که شما گذاشتید جواب میده .. مشکلی با این ندارم .. امــا مدار بالایی توجیه الکترونیکی نداره! یا حداقل من نتونستن توجیهی براش پیدا کنم .. سطرهای کیبورد با مقاومت رفته به ADC .. خــب این یک مقدار حرف داره .. تازه ستون ها هم با مقاومت بایاس شده .. در مورد 3 و 8 نشون دادن هم فکر کنم کاملا طبیعیه .. شما Interval هاتون رو خیلی نزدیک به هم انتخاب کردید و از اونجاییکه تلورانس مقاومت ها در شرایطی تغییر میکنه؛ این اتفاق میوفته یعنی تداخل Interval ها ..

                              حسام الدین عزیز و آقا مجید توضیحاتتون عالیه ولی چون آشنایی کامل ندارم برای شروع اگه کد کامل برنامه و hex رو داشته باشم نتیجه میده
                              چشم .. من کدش رو براتون میذارم .. (یه کد نمونه که خودتون کاملش کنید ..) .. موفق باشید ..
                              دوستان! مدتی کمتر به سایت میام ..

                              دیدگاه

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