۰۷-تير-۱۳۸۹, ۱۳:۳۵:۳۲
۰۷-تير-۱۳۸۹, ۲۲:۳۴:۴۶
باید دوتا انکودر بذاری !
با شیفت زمانی میشه جهت چرخش رو فهمید !!!
با شیفت زمانی میشه جهت چرخش رو فهمید !!!
۰۷-تير-۱۳۸۹, ۲۳:۲۲:۲۲
سلام.
یه سوال: این سنسور همانی هست که در موس ها برای تشخیص جهت حرکت چرخ موس استفاده میشه؟(همونی که باهاش scroll bar هارو کنترل می کنیم)
یه سوال: این سنسور همانی هست که در موس ها برای تشخیص جهت حرکت چرخ موس استفاده میشه؟(همونی که باهاش scroll bar هارو کنترل می کنیم)
۰۷-تير-۱۳۸۹, ۲۳:۴۹:۲۱
دقیقا همونجوریه !!!
دستور encoder تو بسکام هم مشاهده بشه !!!
دستور encoder تو بسکام هم مشاهده بشه !!!
۰۸-تير-۱۳۸۹, ۰۱:۲۵:۵۶
پس با 1 سنسور نمیشه؟ گفتم شاید بشه اختلاف فاز 90 درجه رو ایجاد کرد!! این سنسور های دو کاناله چطوری کار می کنن؟؟
۰۸-تير-۱۳۸۹, ۰۱:۴۲:۴۲
دستور ENCODER :
ENCODER نوعی کلید دوطرفه میباشند
از این قطعه در کیبردها و لوازم صوتی تصویری و ... برای کم و زیاد کردن صدا و نور و ... استفاده میشود . در واقع این قطعه از دوکلید تشکیل شده است ، هنگامی که شما سری را به سمت راست میچرخانید ، کلید سمت راست ( که یک پایه ان به پایه وسط و پایه دیگر به پایه سمت راست متصل است) قطع و وصل میشود ، و هنگامی که سری را به سمت چپ میچرخانید کلید سمت چپ ( که یک پایه ان به سر وسط و پایه دیگر به پین سمت چپ متصل است ) قطع و وصل میشود ، با استفاده از دستور زیر میتوان عملیات مناسب با جهت چرخش ( قطع و وصل شدن هر کلید ) را انجام داد:
کد:
Var = ENCODER( pin1, pin2, LeftLabel, RightLabel , wait(
pin1 : نشان دهنده پایه ای است که پین 1 (چپ یا راست ) انکدر به ان متصل میشود.
pin2 : نشان دهنده پایه ای است که پین 2 (چپ یا راست ) انکدر به ان متصل میشود.
LeftLabel : نام برچسبی است که در هنگام به چپ چرخیدن انکودر به ان پرش میشود.باز گشت از برچسب با دستور return ان جام میشود.
RightLabel : نام برچسبی است که در هنگام به راست چرخیدن انکودر به ان پرش میشود. باز گشت از برچسب با دستور return ان جام میشود.
Wait : در صورتی که شما به جای این کلمه 1 بگذارید cpu میکرو بر روی این دستور متوقف میشود ، هنگامی که انکدور چرخید cpu به زیر برنامه میرود و بعد از انجام دستورات موجود در زیر برنامه دوباره روی این دستور متوقف شده و منتظر میماند تا پالسی اعمال شود و درصورتی که 0 قرار دهید cpu مدام در حلقه گردش میکند و اگر دستور انکودر در حلقه باشد ان را چک میکند و اکگر نباشد که هیچ.
مانند:
کد:
$regfile = "m16def.dat"
$crystal = 12000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.4 , Rs = Portd.5
Config Portb = Input
Dim A As Byte , B As Byte , C As Word : Cls
Do
A = Encoder(pinb.0 , Pinb.1 , Q , W , 0)
Locate 1 , 1
Lcd A
Loop
End
Q:
Incr B
Locate 1 , 5
Lcd B
Return
W:
Incr C
Locate 1 , 11
Lcd C
Return
در مثال بالا پایه مشترک انکدر به گراند و پایه چپ ان به پین b.0 و پایه راست ان به پین b.1 متصل شده است .
منبع : كتاب آموزش AVR به زبان بيسيك ( تاليف : آقاي 1نفر )
۱۶-اسفند-۱۳۸۹, ۱۹:۲۱:۵۰
سلام
آیا مداری برای این کار وجود داره؟
من برنامه به زبان c با کد ویژن رو میخوام کسی میتونه کمکم کنه
آیا مداری برای این کار وجود داره؟
من برنامه به زبان c با کد ویژن رو میخوام کسی میتونه کمکم کنه