۱۳-خرداد-۱۳۹۴, ۱۶:۴۵:۱۴
۱۳-خرداد-۱۳۹۴, ۱۷:۳۱:۰۳
سلام
در برنامه مشکل دارین یا سخت افزار؟
در برنامه مشکل دارین یا سخت افزار؟
۱۳-خرداد-۱۳۹۴, ۲۱:۱۱:۲۰
(۱۳-خرداد-۱۳۹۴, ۱۷:۳۱:۰۳)milad15m نوشته است: [ -> ]سلام
در برنامه مشکل دارین یا سخت افزار؟
توی نوشتن کدبا کدویژن مشکل دارم بخوصوص پایه ایکه میخواد کلید بهش وصل شه میخوام با اتمگا32 کارکنم مثلا چطوری به میکرو بفهمونم که بازدن کلید 1 راست بچرخه وبا زدن کلید2 به چپ بچرخه
اینو با اتمگا32و l293dکار کردم ولی اون به صورت غیر اختیاری کارمیکرد ینی با حلقه ی بینهایت wileنوشتم 5ثانیه چپ 5ثانیه راس گرد میشد ولی این بارمیخوام به صورت دستی باشه ممنون از این که خوندید
۱۳-خرداد-۱۳۹۴, ۲۲:۲۷:۵۴
سلام
من بیشتر بسکام رو بلدم خیلی هم اسونه ولی سی هم خوبه اگه بتونی یاد بگیری.
من اینا رو می دونم :
برای کاری که تو میخای به دو تا خروجی برای موتورات و دو تا ورودی برای کلیدات میخای که اونا رو با قسمت کدویژن تعیین می کنی. پس ما 4 حالت برای ورودی داریم = 00 11 10 01
بعدش اول حلقه بینهایت یه دستور می نویسی که موتور رو خاموش نگه داره بعد سه تا if(اگر) باید بزاری که اون دو پین دوریت رو چک کنه اگه مثلا :
( if (pina.0==1 && pina.1==0
)
;portd.7=0
;portd.6=1
}
توی نت هم دنبال دستور if بگرد اینم ببین لینک
توی مدارت هم باید یه سر کلیدها رو به 5 ولت بزنی و سر دیگه شو هم به ورودی هایی از میکرو که تعیین کردی و هم با یه مقاومت 10 کیلو به زمین وصل کنی.
بگردی همش توی نت هست.
اگه نفهمیدی بگو بیشتر بگم
من بیشتر بسکام رو بلدم خیلی هم اسونه ولی سی هم خوبه اگه بتونی یاد بگیری.
من اینا رو می دونم :
برای کاری که تو میخای به دو تا خروجی برای موتورات و دو تا ورودی برای کلیدات میخای که اونا رو با قسمت کدویژن تعیین می کنی. پس ما 4 حالت برای ورودی داریم = 00 11 10 01
بعدش اول حلقه بینهایت یه دستور می نویسی که موتور رو خاموش نگه داره بعد سه تا if(اگر) باید بزاری که اون دو پین دوریت رو چک کنه اگه مثلا :
( if (pina.0==1 && pina.1==0
)
;portd.7=0
;portd.6=1
}
توی نت هم دنبال دستور if بگرد اینم ببین لینک
توی مدارت هم باید یه سر کلیدها رو به 5 ولت بزنی و سر دیگه شو هم به ورودی هایی از میکرو که تعیین کردی و هم با یه مقاومت 10 کیلو به زمین وصل کنی.
بگردی همش توی نت هست.
اگه نفهمیدی بگو بیشتر بگم
۱۴-خرداد-۱۳۹۴, ۱۰:۴۷:۰۹
ممنون الان توپروتس کار میکنم ببینم کارمیکنه یا نه تابعد
۱۴-خرداد-۱۳۹۴, ۱۲:۰۶:۰۰
اقا ممنون از راهنماییتون درستش کردم
این کدهارونوشتم
#include <io.h>
void main(void)
{
DDRC=0B11;
DDRA=0B00;
while (1){
if(PINA.0==1){
PORTC.0=1;
PORTC.1=0;
}
else{
PORTC.0=0;
PORTC.1=0;
}
}
}
ازشماخیلی ممنونم
این کدهارونوشتم
#include <io.h>
void main(void)
{
DDRC=0B11;
DDRA=0B00;
while (1){
if(PINA.0==1){
PORTC.0=1;
PORTC.1=0;
}
else{
PORTC.0=0;
PORTC.1=0;
}
}
}
ازشماخیلی ممنونم
۱۴-خرداد-۱۳۹۴, ۱۳:۴۷:۴۴
اقا میلاد یه کم پیش بااین سورس کار میکرد ولی الان که buttonرو میزنی میچرخه ولی وقتی رها میکنی بازم میچرخه چه طوری سورس بنویسم که وقتی ولش کردم وایسه
۱۴-خرداد-۱۳۹۴, ۱۳:۵۷:۳۶
تابعی هس که وضعیت پایه های ورودی رو هرلحظه کنترل کنه ببینه ولتاژ5 داره یانه
۱۴-خرداد-۱۳۹۴, ۱۵:۱۳:۲۹
کسی نیس جواب بده
۱۴-خرداد-۱۳۹۴, ۱۵:۳۲:۰۴
سلام
خوب همون 5 ولت بودن 1 بودنه. وقتی می نویسی اگر یک بود فلان کار روبکن یعنی اگه تقریبا از 2.5 تا 5 بود فلان کار روبکن(میکرو تقریبا از 0 تا 2.5 رو 0 تشخیص میده از 2.5 تا 5 رو هم 1 تشخیص میده)
والا منم وقتی با سی می نوشتم این مشکل هارو داشتم دلیلشم نمی دونم
ولی اون alse رو پاک کن دو تا if بنویس ببین درست میشه.
با کدویژن می نویسی ؟
یه عکس هم از شماتیکت بزار
نقل قول: تابعی هس که وضعیت پایه های ورودی رو هرلحظه کنترل کنه ببینه ولتاژ5 داره یانه
خوب همون 5 ولت بودن 1 بودنه. وقتی می نویسی اگر یک بود فلان کار روبکن یعنی اگه تقریبا از 2.5 تا 5 بود فلان کار روبکن(میکرو تقریبا از 0 تا 2.5 رو 0 تشخیص میده از 2.5 تا 5 رو هم 1 تشخیص میده)
نقل قول: اقا میلاد یه کم پیش بااین سورس کار میکرد ولی الان که buttonرو میزنی میچرخه ولی وقتی رها میکنی بازم میچرخه چه طوری سورس بنویسم که وقتی ولش کردم وایسه
والا منم وقتی با سی می نوشتم این مشکل هارو داشتم دلیلشم نمی دونم
ولی اون alse رو پاک کن دو تا if بنویس ببین درست میشه.
با کدویژن می نویسی ؟
یه عکس هم از شماتیکت بزار
۱۴-خرداد-۱۳۹۴, ۱۶:۱۷:۱۶
اشکال ازمن بود مقاومت 10اهم رو وصل نکرده بودم واسه همین وقتی بوتون رو ول میکردم بازم متور میچرخید
بازم از شما به خاطر توجهتون ممنونم
بازم از شما به خاطر توجهتون ممنونم