تا حالا شده برای اتصال قطعات مثل 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:
امید وارم به دردتون بخوره!

چه کاری میشه کرد؟چند وقت پیش یه راه حل جالب واسه اتصال یه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:
امید وارم به دردتون بخوره!

دیدگاه