ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





صفحه 3 از 3 نخست 123
  1. #21
    تاریخ عضویت
    2020/09/04
    1,149
    1,261

    پاسخ : اجرا چند لوپ در اردوینوuno

    نقل قول نوشته اصلی توسط electropedia

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام وقت بخیر

    برای اینکار شما باید 2 عدد میکروسوئیچ اهرمی استفاده کنید و یک کلید شستی

    اصول کار به این شکل هست که میکروسوئیچ ها باید ابتدا و انتهای چهار چون درب نصب بشه و وقتی که در باز یا بسته میشه یکی از اونها فشرده و فعال بشه تا بتونید محدودیت ابتدا و انتهای درب همچنین وضعیت باز یا بسته بودن درب رو تشخیص بدید.

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

    همچنین 2 عدد LED هم کنار کلید باید در نظر بگیرید که نشون بده درب باز هست یا بسته

    در همین حین میتونید یک فلاشر هم برای مواقعی که درب در حال حرکت هست در نظر بگیرید
    با درود
    ایشون با برنامه نویسی مشکل دارند و نمیتونن وضعیت کلید های اهرمی یا سنسور چک کنن و نمیدونن باید چگونه این کار انجام بدن
    در حال حاظر ایشون فقط از دو شستی برای باز کردن و بسته کردن درب استفاده کردن و هیچ چیزی در نظر نگرفتن
    مثل اینکه بخوان یک ال ای دی رو با یک شستی روشن کنن و یک ال ای دی دیگرو با یک شستی دیگه روشن کنن
    من به برنامه توجه نکردم چون خوانا نبود ولی گویا از دو موتور استفاده کردن
    اگر ایشون میپرسیدن کار این دستور چیه موضوع فرق داشت یا بگن نمیدونم دقیق از چه دستوری استفاده کنم
    بلکه با طراحی در برنامه نویسی مشکل دارند و در سطوح ابتدایی هستن
    این تجارب با گذر زمان و تلاش و تمرین ایجاد میشه
    مثل اینه بخوای اب دستی توی چاه بریزی .. چاه باید خودش اب بده
    این پروژه ها برای کاردستی مناسب هستن در این سطوح .. در صورتی که در پروژه های واقعی خیلی موارد باید رعایت بشه چه سخت افزار و چه نرم افزار
    خب شما درست میفرمایید که باید از یک شستی برای باز بسته کردن درب استفاده بشه یا یک سنسور تشخیص حرکت
    خب نفر اول میاد و درب در حال باز شدن هست و فرد رد میشه نفر دوم میاد و سنسور یا شستی فعال میکنه ولی درب که در حال باز شدن هست اقدام به بسته شدن میکنه
    و سکانس بعد فرد لای درب گیر میکنه ؟ چه تدابیری اندیشیده شده ؟ موتور همچنان روشن و داره قفسه سینه فرد خرد میکنه
    مردم میان کمکش و سعی میکنن درب رو باز کنن تا فرد بتونه خارج بشه
    خب چی میشه موتور میسوزه
    ولی همچنان فرمان روشن بودن موتور در حال اجراست و چون موتور باید گیربکس دار باشه و احتمالا مردم نمیتونن فرد رو نجاب بدن چون گیربکس در جهت عکس راحت نمیچرخه
    فرد لای درب نفسش بند اومده و یک اشنا که در جمع کمک کنندگان هست احساساتی میشه و با لگد به درب میزنه و توسط لگد سنسور یا کلید اهرمی دیگه درست نمیتونه کار کنه
    بگذریم دیگه داره هندی میشه
    فکر نکن کم اوردم تا یک ساعت دیگه برات تعریف میکنم
    منظورم این پروژه ها به این سادگی نیستن و موارد خیلی زیادی باید چک بشه و در سخت افزار و نرم افزار رعایت بشه
    بیست و سه .. بیست و یک .. بیست و هفت .. یک
  2. #22
    تاریخ عضویت
    2020/08/23
    10
    0

    پاسخ : اجرا چند لوپ در اردوینوuno

    نقل قول نوشته اصلی توسط evergreen

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    با سلام و احترام.
    آیا فانکشنهای Open_Ramp و Close_Ramp اجرا میشوند؟

    هر دو فعال میشن ولی زمانیکه مخواد شرط باز بودن و بسته بودن رو اول چک بکنه در یک جهت دیگه حرکت نمیکنه و باید یکبار جهت خلاف رو فعال کنم تا دوباره بونه در هر دوجهت حرکت کنه


    شفافتر بگم
    مثلا درب باز هست، یعنی سنسور باز بودن high شده وقتی میگم باز شو اتفاقی نمیوفته و وقتی سنسور رو low میکنم موتور فعال میشه. در جهت عکس هم قاعدتا باید همینطور باشه ولی وقتی سنسور رو یکبار high میکنم و موتور با فرمان من حرکت نمیکنه و دوباره سنسور رو low میکنم دیگه حرکت نمیکنه. در این وضعیت باید یکبار در جهت خلاف حرکت بدم تا بتونم چپگرد راستگرد کنم. اینم بگم که این اتفاق فقط برای یک پین میوفته و وقتی جابجا میکنم در جهت عکس اون اشکال پیش میاد

    احتمال 90 درصد متوجه نشدید درسته؟
  3. #23
    تاریخ عضویت
    2021/09/17
    34
    29

    پاسخ : اجرا چند لوپ در اردوینوuno

    در صورتی که امکان استفاده از یک شستی برای باز و بسته شدن و دو میکرو سوئیچ به عنوان کنترل کننده باز یا بسته بودن درب دارید کد موجود در لینک زیر رو بررسی کنید :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    البته کد بالا بصورت تئوری نوشته شده و در عمل ممکنه نیازمند تغییراتی باشه اما به صورت کلی منطق کد بالا بدین شکل هست :

    2 عدد میکروسوویچ وجود داره که بررسی میکنه درب باز هست یا بسته و یا در صورتی که درب در حال باز و بسته شدن باشه مشخص میکنه چه زمان باید موتور خاموش بشه, در کد بالا طبق کد خودتون از 2 موتور استفاده شده

    2 عدد LED وجود داره که اگه درب باز باشه pin_led_open روشن و در صورت بسته بودن درب pin_led_close روشن میشه.

    همچنین اگه درب به هر دلیلی مثل قطع شدن برق اواسط راه متوقف بشه, بعد از راه اندازی مجدد, هر دو LED خاموش میشه و سیستم بصورت خودکار درب رو میبنده

    طبق روشن بودن LED میتونید در صفحه کنترل باز یا بسته بودن درب رو متوجه بشید

    با یک بار فشردن شستی درب باز و با فشردن مجدد درب بسته میشه
  4. #24
    تاریخ عضویت
    2020/08/23
    10
    0

    پاسخ : اجرا چند لوپ در اردوینوuno

    نقل قول نوشته اصلی توسط electropedia

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    در صورتی که امکان استفاده از یک شستی برای باز و بسته شدن و دو میکرو سوئیچ به عنوان کنترل کننده باز یا بسته بودن درب دارید کد موجود در لینک زیر رو بررسی کنید :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    البته کد بالا بصورت تئوری نوشته شده و در عمل ممکنه نیازمند تغییراتی باشه اما به صورت کلی منطق کد بالا بدین شکل هست :

    2 عدد میکروسوویچ وجود داره که بررسی میکنه درب باز هست یا بسته و یا در صورتی که درب در حال باز و بسته شدن باشه مشخص میکنه چه زمان باید موتور خاموش بشه, در کد بالا طبق کد خودتون از 2 موتور استفاده شده

    2 عدد LED وجود داره که اگه درب باز باشه pin_led_open روشن و در صورت بسته بودن درب pin_led_close روشن میشه.

    همچنین اگه درب به هر دلیلی مثل قطع شدن برق اواسط راه متوقف بشه, بعد از راه اندازی مجدد, هر دو LED خاموش میشه و سیستم بصورت خودکار درب رو میبنده

    طبق روشن بودن LED میتونید در صفحه کنترل باز یا بسته بودن درب رو متوجه بشید

    با یک بار فشردن شستی درب باز و با فشردن مجدد درب بسته میشه



    ممنون
    اجرا کردم کد رو و ایراداتی داشت

    قبلش بگم که باید دو کلید برای بازو بسته شدن در نظر بگیرم و دو کلید برای تعیین وضعیت درب. یعنی 4 میکرو سوییچ

    نکته بعدی اینکه یک موتور دارم. چطور میگید دو موتور دارم؟ ممنون میشم دستورات باز بسته شدن رو مثل من در قالب void open و void close بنویسید و همچنین برای ال ای دی هم دستورات راه انداز رو خارج از حلقه اصلی بنویسید. ممنون میشم


    ایراد کار این بود که یکی از ماسفت ها داغ میکنه
    لطفا از کدی که من نوشتم استفاده کنید و اونو اصلاح کنید. خیلی ممنونم ازت
  5. #25
    تاریخ عضویت
    2021/09/17
    34
    29

    پاسخ : اجرا چند لوپ در اردوینوuno

    فکر میکنم درست متوجه منظورتون نشدم اما کد زیر رو بررسی کنید :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    در این کد لازم هست پین ها رو در خط 1 الی 8 بر اساس مدارتون تغییر بدید

    همچنین در خط 76 - 84 - 101 - 110 شاید نیاز باشه بر اساس نوع موتوری که استفاده میکنید برای روشن شدن و خاموش شدن موتور کد رو تغییر بدید
  6. #26
    تاریخ عضویت
    2020/08/23
    10
    0

    پاسخ : اجرا چند لوپ در اردوینوuno

    نقل قول نوشته اصلی توسط electropedia

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    فکر میکنم درست متوجه منظورتون نشدم اما کد زیر رو بررسی کنید :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    در این کد لازم هست پین ها رو در خط 1 الی 8 بر اساس مدارتون تغییر بدید

    همچنین در خط 76 - 84 - 101 - 110 شاید نیاز باشه بر اساس نوع موتوری که استفاده میکنید برای روشن شدن و خاموش شدن موتور کد رو تغییر بدید

    همون ایراد قبلی هنوز هست و در یک جهت کلا حرکتی نداره و باید کلید های تشخیص وضعیت چندبار فعال و غیر فعال شه تا کار کنه

    یه سوال
    digitalWrite(pin_motor_2, HIGH);


    while (1 != 2)

    منظورت از 1 != 2 چیه؟
  7. #27
    تاریخ عضویت
    2021/09/17
    34
    29

    پاسخ : اجرا چند لوپ در اردوینوuno

    نقل قول نوشته اصلی توسط pourya1368

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    همون ایراد قبلی هنوز هست و در یک جهت کلا حرکتی نداره و باید کلید های تشخیص وضعیت چندبار فعال و غیر فعال شه تا کار کنه

    یه سوال
    digitalWrite(pin_motor_2, HIGH);


    while (1 != 2)

    منظورت از 1 != 2 چیه؟
    از چه موتور استفاده میکنید ؟

    عملکرد while (1 != 2) درواقع یک loop بینهایت هست که درون اون یک شرط تعریف شده و زمانی که میکرو سوئیچ بررسی باز یا بسته شدن درب فشرده بشه حلقه break / متوقف میشه
  8. #28
    تاریخ عضویت
    2020/08/23
    10
    0

    پاسخ : اجرا چند لوپ در اردوینوuno

    نقل قول نوشته اصلی توسط electropedia

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    از چه موتور استفاده میکنید ؟

    عملکرد while (1 != 2) درواقع یک loop بینهایت هست که درون اون یک شرط تعریف شده و زمانی که میکرو سوئیچ بررسی باز یا بسته شدن درب فشرده بشه حلقه break / متوقف میشه


    ایراد از موتور نیست. چون با کدی که من نوشته بودم کار میکرد. ببینید من از Hbridge استفاده میکنم و در کد خودم یک نیم پل رو 0 میکردم و نیم پل دیگر رو pwm میدادم. ولی شما فقط یک نیم پل رو فرمان میدید. داستان چیه؟!
  9. #29
    تاریخ عضویت
    2021/09/17
    34
    29

    پاسخ : اجرا چند لوپ در اردوینوuno

    در کد ارسالی باید خطهای 76 - 84 - 101 - 110 رو باتوجه به موتورتون تغییر بدید
صفحه 3 از 3 نخست 123
نمایش نتایج: از 21 به 29 از 29

موضوعات مشابه

  1. پاسخ: 2
    آخرين نوشته: 2014/09/05, 19:17
  2. خطا در اجرا
    توسط srvy در انجمن نرم افزار ADS
    پاسخ: 0
    آخرين نوشته: 2014/07/05, 21:54
  3. کند اجرا شدن exe
    توسط meysam_b در انجمن Labview
    پاسخ: 10
    آخرين نوشته: 2013/09/12, 18:25
  4. سطح اجرا دستورات
    توسط shahinbahari در انجمن برنامه نویسی و اینترفیس
    پاسخ: 0
    آخرين نوشته: 2012/03/14, 19:45
  5. برنامه در atmega32pu اجرا میشه اما در atmega32a اجرا نمیشه
    توسط بنده خدا در انجمن میکروکنترلرهای AVR
    پاسخ: 13
    آخرين نوشته: 2012/02/20, 14:59

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •