اطلاعیه

Collapse
No announcement yet.

مدار تجربی صفحه کلید غیر ماتریسی

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

    #16
    پاسخ : مدار تجربی صفحه کلید غیر ماتریسی


    با سلام،

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

    یکی اینکه چرا از ولتاژ ریفرنس داخلی استفاده نکردید؟ مگه اون دقیق تر نیست؟
    استفاده از رفرنس داخلی و یا خارجی، فقط بستگی به مدار و کاربرد شما داره و اهمیت چندانی هم نداره که از کدوم استفاده کنید.
    البته من حتی اگر رفرنس 2.5 ولت هم بخوام، ترجیح میدم که از رفرنس خارجی استفاده کنم، چونکه به نظرم از نظر نویز و اینجور چیزا بهتره ( منبع مستند و خاصی برای این موضوع ندارم! )

    در صورتی که Vref میکرو به غیر از 5 ولت باشه، در عمل هم اون ولتاژ 5 ولتی اعمال شده به اون مقاومت 4K7 حتما باید به Vref میکرو متصل بشه ( که در پروتئوس به Vref متصل شده )

    دوم، در فایل akey.h یک ماکرو برای تولرانس تعریف شده، ولی هیچوقت به کار نرفته، جریان چیه؟
    و اینکه چرا باید یک عدد که خودمون تشکیل دادیم با 0xff اند بشه؟
    حق با شماست، همونطور که قبلا هم عرض شد، اصل این کد در WinAVR هست و در زمان تغییر به کدویژن در زمان کپی و اصلاح کدها، اشتباهات لپی رخ داده خصوصا در اند کردن با 0xFF و اون پارامتر تولرنس هم دیگه در کد جدید مورد استفاده نداشته.

    راستی با این روش در عمل حداکثر چند تا کلید رو میشه ساپورت کرد؟
    دقیقا نمیتونم بگم ولی شما از مقاومت 220 اهم که شروع کنی و تا 47 کیلو اهم، رنج های استاندارد مقاومت ها رو بذاری ( اگر بعضی ها رو که اعدادشون نزدیک هم هست حذف کنی ) راحت 30 تا کلید رو میتونی بزاری ....

    مرسی از دقت شما ....
    مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

    Sh_Nourbakhsh@Yahoo.com

    http://s2.picofile.com/file/7170362468/_Wall_e_.jp

    دیدگاه


      #17
      پاسخ : مدار تجربی صفحه کلید غیر ماتریسی

      نوشته اصلی توسط Htdsp
      روش اسکن دائم با حلقه بینهایت ساده ترین روش خوندن کیبرد ماتریسیه که به دانشجوها آموزش میدن.
      واقعا؟ اینو تو دانشگاهها تدریس میکنن؟ :surprised: باعث تاسفه، کد نویسی این روش از لحاظ علم نرم افزار کاملا غیر اصولیه

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

      نوشته اصلی توسط Htdsp
      باز هم بهتون تبریک میگم. همینکه آدم در مورد یک مسئله فکر کنه و خودش یک راه حل پیدا کنه خیلی ارزش داره.
      ممنون از لطفتون

      نوشته اصلی توسط aivhl
      شما از مقاومت 220 اهم که شروع کنی و تا 47 کیلو اهم، رنج های استاندارد مقاومت ها رو بذاری ( اگر بعضی ها رو که اعدادشون نزدیک هم هست حذف کنی ) راحت 30 تا کلید رو میتونی بزاری ....
      30 کلید با یک بیت، ینابراین با 8 بیت میتونیم 240 تا کلید رو ساپورت کنیم، خیلی خوبه. :applause:
      البته این نکته رو هم باید مد نظر داشت که این روش به همین راحتی نیست که مدارشو ببندی و کدشم کپی پیست کنی و یا علی، اگه قرار باشه از کانورتر استفاده دیگری هم بشه، طراح مدار / برنامه نویس باید حواسش به یه سری جزئیات مثل 8 بیت یا 10 بیت بودن خروجی کانورتر باشه که باعث خطا های عجیب و غریب نشه.

      آقای نوربخش لطفا بفرمایید که کلا نیاز به درنظر گرفتن تولرانس هست یا نه؟ و اگر هست کدام عامل این نیاز رو ایجاد میکنه، نوسان احتمالی جریان، دقیق نبودن مقاومت ها یا نویز محیط؟

      به نظرم این تاپیک داره مرجع خوبی برای مدار های صفحه کلید میشه، از همه دوستان متشکرم :agree:

      دیدگاه


        #18
        پاسخ : مدار تجربی صفحه کلید غیر ماتریسی

        با سلام،

        اگر از ADC هشت بیتی استفاده بشه یا ذو بیت اول در 10 بیتی حذف بشه، نویز محیط زیاد تاثیر نداره، نزدیک بودن مقادیر مقاومت ها به هم و مقاومت اتصال کوتاه کلیدها و یا فرسوده شدن کنتاکت کلیدها در طولانی مدت وجود تولرنس رو میطلبه و عملکرد مدار رو در عمل تضمین میکنه، ولی خیلی الزامی نیست....
        مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

        Sh_Nourbakhsh@Yahoo.com

        http://s2.picofile.com/file/7170362468/_Wall_e_.jp

        دیدگاه


          #19
          پاسخ : مدار تجربی صفحه کلید غیر ماتریسی

          سلام . من تازگی اومدم توی این سایت عضو شدم و نمیدونم سوالاتمو توی کدوم قسمت بپرسم . پیدا کردن موضوع مرتبط هم خیلی سخته از بین اون همه موضوع لیست شده . پس اگر لطف کنید به من یه راهنمایی کنید ممنون میشم . سوال من در مورد برنامه ایه که در مورد یه صفحه کلید ماتریسی ای هست که نوشتم . یه صفحه کلید صراحی کردم 4*4 و با یک مگا 16 راه اندازی شده . توی کد ویژن برنامشو نوشتم .اما فقط در حالت بی وقفه میتونم باهاش عمل کنم . یعنی توی پروتئوس شبیه سازیش که میکنم عمل نمیکنه . وقتی دستور خواندن کیپد رو توی حلقه while میگذارم و اتصال اینتراپت رو قطع میکنم عمل میکنه . اما وقتی دستور خواندن کیپد رو توی وقفه میگذارم و اتصالات کیپد را فعال میکنم دیگههیچ خبری نیست . دقیق تر که بررسی کردم متوجه شدم دستور کیپد از توی وقفه اجرا میشه اما شرط فشرده شدن کلید از توی تابع خواندن کیپد خواندنو فهمیده نمیشه . درحالیکه من وقفه رو توی وضعیت پایین رونده فعال کردم .

          دلیل: ادغام دو پست برای جلوگیری از اسپم

          من ساعت نه بر میگردم . ممنون میشم اگر با من همکاری کنید

          دیدگاه


            #20
            پاسخ : مدار تجربی صفحه کلید غیر ماتریسی

            نوشته اصلی توسط mahmud210 نمایش پست ها
            من ساعت نه بر میگردم . ممنون میشم اگر با من همکاری کنید
            برنامه و سخت افزارتون بذارید تا بفهمیم چی شده
            الهم صل علی محمد و آل محمد و عجل فرجهم
            www.adaksell.com

            دیدگاه

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