اطلاعیه

Collapse
No announcement yet.

خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

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

    #31
    پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

    نوشته اصلی توسط iman.abtahi
    سلام

    ببخشید من توی بحثتون دخالت می کنم. فقط دو تا پیشنهاد.

    1- فاصله دو تا سنسورتون را در راستای افقی از هم دورتر کنید. فکر نکنم اگه دو تا سنسور روی چارچوب در , در فاصله چند سانتیمتری از هم قرار بگیرند زیاد مناسب باشه . چون حداقل قطر بدن آدم 20 سانتی متره . فکر نمی کنی اگه یه نفر به طور آنی در مقابل این سنسور ها قرار بگیره میکرو ممکنه تصمیم اشتباه بگیره ؟

    2- من برنامه های آقای پروشانی را نخوندم. فقط می خواستم یاد اوری کرده باشم که توقف یک آدم مقابل سنسور ها و این که اگه یه نفر یک کم جلوی سنسور ها عقب و جلو رفت و بعد داخل یا خارج شد را هم در نظر بگیرند. چون این جور میکرو به اشتباه تعداد افراد را کم و زیاد می کنه . می تونید از حلقه تاخیری استفاده کنید که در این صورت نمی دونم اگه دو نفر با هم وارد شدند می خواهید چی کار کنید.

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



    خوبه اینم بگم که آقای mostafa_amol اگه این پروژه صرفا جهت فراگیری مطالبه نیازی نیست به این جزئیات توجه کنید و همه شرایط را ایده آل فرض کنید...

    بازم ببخشید که دخالت کردم
    سلام آقا .... این چه حرفیه .. بفرمایید ....

    1- حق با شماست ....
    2- به نکته ی 2 از اول آقا حامد اشاره کردند .....ولی من زیاد برام مهم به نظر نیومد چون :
    در قسمتی که گفتید دو نفر با هم وارد بشن ... خوب در حالت استاندارد دیگه از یه ورودیه یه متری (یا یک و نیم متری) یه نفر بیشتر رد نمی شه ....
    یه نگاه به برنامه بندازید و بگید کجا من باید از حلقه ی تاخیر استفاده کنم ؟ (ممنون می شم)


    یه چیز دیگه اگه من از سنسورهای صوتی استفاده کنم چی ؟ اون وقت به نظر شما جواب بهتری می گیرم؟

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

    دیدگاه


      #32
      پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

      ببخشید الان اصلا وقت خوندن برنامه ها را ندارم. شما مطمئن باشید برنامه آقای پروشانی کاملا قابل اطمینانه. تجربه و اطلاعات من هم در مقابل ایشون اصلا به حساب نمی آد...

      حلقه تاخیری را هم وقتی آخر زیر برنامه مربوط به سنسورها اضافه کنید . یه نکته ای که هست اینه که سرعت حرکت انسان از سرعت کار میکرو خیلی کمتره . پس هر چه از سرعت میکرو کم کنی با دنیای بیرون بهتر رابطه بر قرار می کنه.

      در مورد کدینگ هم به نظر من احتیاجی نیست. شما با یه فرکانس خاص به فرستنده پالس بده و توی گیرنده هم از یه فیلتر روی همون فرکانس استفاده کن. مدارش را بگردی هست. مدار کنترل از راه دورهای قدیمی از همین روش استفاده می کردند. اون موقع از میکرو و کدینگ و این چیزا خبری نبوده. می تونی به کتاب های آقای بخت اور مراجعه کنی.

      در مورد سنسورهای صوتی اگه منظورت التراسونیکه , می تونی استفاده کنی. فقط هم برنامه ات سنگین می شه هم خرجت بالا میره. 2 جفت التراسونیک 7-8 تومن در میآد. مدارت هم بزرگتر میشه.

      از چارلی چاپلین پرسیدند خوشبخنی چیست ؟
      گفت : فاصله این بد بختی تا بد بختی دیگر !

      دیدگاه


        #33
        پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

        سلام :

        عارضم به خدمت دوستان عزیز که اولاً حتماً باید این مدار debounce بشه !
        یعنی همون کاری که دوست خوبم جناب ابطحی میگن بشه !
        ضمناً من اصلاً برنامه ای ننوشتم ! من برنامه ای که خود مصطفی جان نوشته بود را اصلاح کردم !

        یک نکته مهم رو یاد آوری می کنم به دوست خویم جناب مصطفی :

        من میتونم خیلی زود یک برنامه با خطای خیلی پائین بنویسم برات ! نه که بگم حالیمه نه به خدا !
        فقط رو حساب تجربه و کار مداوم !
        اما آیا این ارزشی خواهد داشت ؟
        از خود شما می پرسم تو این مدت چقدر یاد گرفتید و انجام این پروژه براتون مفید بوده ؟
        من که می بینم حسابی پیشرفت کردین و ان شالله باز هم ادامه خواهد داشت !
        پس ازت خواهش می کنم که از کسی نخواه که کمکش بهت ماهی دادن باشه !
        شما ماهی گرفتن رو یاد بگیر :redface:

        دوست خوب همانطور که جناب ابطحی فرمودند بخاطر سرعت زیاد مدار های میکرو کنترلی احتمال اینکه جندین بار یک ورودی خوانده بشه زیاده !
        راه های زیادی هست من جمله debounce که برای مثلاً کیبرد تعریف میشه !
        چون شما که یک کلید رو فشار می دین چند صد بار میکرو فشرده شدن رو چک کرده ولی آیا چند صد بار تایپ کرده ؟
        این هم به همین صورت است !
        یک راه دیگر مدار حساس به سطح است !
        یعنی مدار طوری باشد که تا زمانی که سطح عوض نشده ( تغییر صفر به یک یا برعکس ) دستور بعدی اجرا نشه که دستورش توی بسکام هست :
        bitwaiit portc.0 , reset
        یعنی تا زمانی که مثلاً پورت سی صفر تغییر نکرده و به منفی نرفته نرو خط بعد !



        به هر حال من میخوام که شما پیشرفت کنی !

        موفق باشی

        دیدگاه


          #34
          پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

          منم با آقای پروشانی موافقم .
          بهتره خودت سعی کنی یاد بگیری...


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

          من یک بار روی یک پروژه با همین بسکام که میشد در یه هفته انجام داد, سه ماه وقت گذاشتم و همیشه هم معتقدم که هر چی از میکرو بلدم را مدیون همون سه ماهم. چون مجبور بودم مشکلاتم را خودم بر طرف کنم. یکی از مشکلات اساسیم هم اولویت وقفه در ATMEGA32 بود که مجبور بودم عوضش کنم. یعنی مشکلم این نبود ها , کلی فکر کردم که فهمیدم دلیل اون مشکل با تغییر اولویت ها رفع میشه...
          از چارلی چاپلین پرسیدند خوشبخنی چیست ؟
          گفت : فاصله این بد بختی تا بد بختی دیگر !

          دیدگاه


            #35
            پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

            سلام

            می خواستم یه چیزی درباره پست قبلیم بگم و اون اینکه اگه بخوای به فرستنده مادون قرمزت پالس بدی , چون توی گیرنده هم همِین پالس آشکار میشه دیگه از این برنامه نمی تونی استفاده کنی و یا باید برنامه را جوری بنویسی که فرکانس درِیافتی را اندازه بگیره و با صفر شدن فرکانس به زیر برنامه بپره و یا اینکه یه راه حل سخت افزاری پیدا کنی . مثلا با تغییر دیوتی سایکل پالس یا مثلا پالست را با پل دیودی و خازن DC کنی و از این رابطه استفاده کنی که با تغییر دیوتی سایکل , ولتاژ DC نغییر می کنه . حالا می تونی فرکانس را جوری تنظیم کنی که اگه این ولتاژ را به پایه میکرو بدی در حالت عادی یک منطقی و در حالت ویژه صفر منطقی سنس بشه ...

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

            البته باید گیرنده توی کانون لنز قرار بگیره . در ضمن بهتره از گیرنده های سه پایه استفاده کنی ...

            من خودم در این زمینه پروژه بخصوصی انجام ندادم و بیشتر از این اظهار نظر نمی کنم. انشاءالله دوستانی که اطلاعاتشون کامل تره کمکت می کنند...

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


            مثل اینکه به جای اینکه کمکت کنم دارم , بد تردارم گیجت می کنم. خودم که همچین احساسی دارم . ببخشید ...

            راستی چرا از لیزر استفاده نمی کنی ؟ این چراغ لیزری ها که بچه ها باهاش بازی می کنند , من کوچِک بودم داشتم . این ها روی خودش لنز هم داره و اشعه لیز اون هم برد زیادی داره و هم خطیه . برای فرستنده هم به مدار خاصی نیاز نداری.
            کدینگ و فرکانس و فیلتر هم نمی خواد . فقط می مونه پیدا کردن سنسور گیرنده . فکر کنم فوتوسل باهاش کار کنه . یا شایدم واسه خودش سنسور گیرنده داشته باشه ...

            فکر کنم توی عمل هم از لیزر استفاده بشه . تازه اگه فرکانسش را هم ببری بالا و یک کم باریکترش کنی می تونی دست و پای اونایی که بی اجازه وارد اتاق می شند را هم قطع کنی ... :icon_razz:

            راستی می تونم سوال کنم پروژه را برای کجا می خوای ؟ اگه واسه دانشگاه مگه استاد راهنما نداری ؟؟؟
            از چارلی چاپلین پرسیدند خوشبخنی چیست ؟
            گفت : فاصله این بد بختی تا بد بختی دیگر !

            دیدگاه


              #36
              پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

              نوشته اصلی توسط iman.abtahi
              سلام

              می خواستم یه چیزی درباره پست قبلیم بگم و اون اینکه اگه بخوای به فرستنده مادون قرمزت پالس بدی , چون توی گیرنده هم همِین پالس آشکار میشه دیگه از این برنامه نمی تونی استفاده کنی و یا باید برنامه را جوری بنویسی که فرکانس درِیافتی را اندازه بگیره و با صفر شدن فرکانس به زیر برنامه بپره و یا اینکه یه راه حل سخت افزاری پیدا کنی . مثلا با تغییر دیوتی سایکل پالس یا مثلا پالست را با پل دیودی و خازن DC کنی و از این رابطه استفاده کنی که با تغییر دیوتی سایکل , ولتاژ DC نغییر می کنه . حالا می تونی فرکانس را جوری تنظیم کنی که اگه این ولتاژ را به پایه میکرو بدی در حالت عادی یک منطقی و در حالت ویژه صفر منطقی سنس بشه ...

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

              البته باید گیرنده توی کانون لنز قرار بگیره . در ضمن بهتره از گیرنده های سه پایه استفاده کنی ...

              من خودم در این زمینه پروژه بخصوصی انجام ندادم و بیشتر از این اظهار نظر نمی کنم. انشاءالله دوستانی که اطلاعاتشون کامل تره کمکت می کنند...

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


              مثل اینکه به جای اینکه کمکت کنم دارم , بد تردارم گیجت می کنم. خودم که همچین احساسی دارم . ببخشید ...

              راستی چرا از لیزر استفاده نمی کنی ؟ این چراغ لیزری ها که بچه ها باهاش بازی می کنند , من کوچِک بودم داشتم . این ها روی خودش لنز هم داره و اشعه لیز اون هم برد زیادی داره و هم خطیه . برای فرستنده هم به مدار خاصی نیاز نداری.
              کدینگ و فرکانس و فیلتر هم نمی خواد . فقط می مونه پیدا کردن سنسور گیرنده . فکر کنم فوتوسل باهاش کار کنه . یا شایدم واسه خودش سنسور گیرنده داشته باشه ...

              فکر کنم توی عمل هم از لیزر استفاده بشه . تازه اگه فرکانسش را هم ببری بالا و یک کم باریکترش کنی می تونی دست و پای اونایی که بی اجازه وارد اتاق می شند را هم قطع کنی ... :icon_razz:

              راستی می تونم سوال کنم پروژه را برای کجا می خوای ؟ اگه واسه دانشگاه مگه استاد راهنما نداری ؟؟؟
              سلام
              راستش اولش داشتم گیج می شدم تا اینکه به لیزر رسیدید ....
              خوب برای خرید لیزر باید اسم خاصی یا شماره ی خاصی به کار ببرم ....؟
              در مورد برنامه نویسی هم دیگه لازم نیست از دومی استفاده کنم ...فکر کنم همون اولی رو باید باز یه خورده تغییرش بدم و همونو استفاده کنم....درسته؟

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

              دیدگاه


                #37
                پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

                در مورد برنامه نویسی هم دیگه لازم نیست از دومی استفاده کنم ...فکر کنم همون اولی رو باید باز یه خورده تغییرش بدم و همونو استفاده کنم....درسته؟
                من که گفتم برنامه ها را نخوندم. اولی چیه دومی چیه ؟؟

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

                شما فکر کنم توی قدم بعدی باید بری دنبال سنسور. من راستش اطلاع چندانی در این زمینه ندارم . فقط نتیجه کارت و تحقیقاتت را بذار توی سایت تا من و بقیه دوستان که اطلاعاتمون در این زمینه کم هستش هم بتونیم از اون استفاده کنیم.
                از چارلی چاپلین پرسیدند خوشبخنی چیست ؟
                گفت : فاصله این بد بختی تا بد بختی دیگر !

                دیدگاه


                  #38
                  پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

                  نوشته اصلی توسط حامد پروشانی
                  سلام :

                  عارضم به خدمت دوستان عزیز که اولاً حتماً باید این مدار debounce بشه !
                  یعنی همون کاری که دوست خوبم جناب ابطحی میگن بشه !
                  ضمناً من اصلاً برنامه ای ننوشتم ! من برنامه ای که خود مصطفی جان نوشته بود را اصلاح کردم !

                  یک نکته مهم رو یاد آوری می کنم به دوست خویم جناب مصطفی :

                  من میتونم خیلی زود یک برنامه با خطای خیلی پائین بنویسم برات ! نه که بگم حالیمه نه به خدا !
                  فقط رو حساب تجربه و کار مداوم !
                  اما آیا این ارزشی خواهد داشت ؟
                  از خود شما می پرسم تو این مدت چقدر یاد گرفتید و انجام این پروژه براتون مفید بوده ؟
                  من که می بینم حسابی پیشرفت کردین و ان شالله باز هم ادامه خواهد داشت !
                  پس ازت خواهش می کنم که از کسی نخواه که کمکش بهت ماهی دادن باشه !
                  شما ماهی گرفتن رو یاد بگیر :redface:

                  دوست خوب همانطور که جناب ابطحی فرمودند بخاطر سرعت زیاد مدار های میکرو کنترلی احتمال اینکه جندین بار یک ورودی خوانده بشه زیاده !
                  راه های زیادی هست من جمله debounce که برای مثلاً کیبرد تعریف میشه !
                  چون شما که یک کلید رو فشار می دین چند صد بار میکرو فشرده شدن رو چک کرده ولی آیا چند صد بار تایپ کرده ؟
                  این هم به همین صورت است !
                  یک راه دیگر مدار حساس به سطح است !
                  یعنی مدار طوری باشد که تا زمانی که سطح عوض نشده ( تغییر صفر به یک یا برعکس ) دستور بعدی اجرا نشه که دستورش توی بسکام هست :
                  bitwaiit portc.0 , reset
                  یعنی تا زمانی که مثلاً پورت سی صفر تغییر نکرده و به منفی نرفته نرو خط بعد !



                  به هر حال من میخوام که شما پیشرفت کنی !

                  موفق باشی
                  سلام
                  باز اومد از شما ها کمک بگیرم ... در مورد دستور debounce ....
                  من نه تونستم کتاب کاهه رو گیر بیارم و نه کسی تونسته در مورد این دستور (منظورم در ECA نیست) کمکم کنه ...
                  خوب من از کجا باید بدونم این دستور رو باید کجای برنامه ام به کار ببرم .... :sad:
                  نگید که تلاش نکردم و یا دنبالش نگشتم .... اتفاقا خیلی بهش فکر کردم و تلاش کردم که یادش بگیرم و لی چیزی یافت نمی شوندی !

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

                  دیدگاه


                    #39
                    پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

                    سلام :

                    ببین دوست عزیز دو مدل debounce می توانی در بسکام داشته باشی!!!!!!!!!

                    1: debounce بوسیله دستور debounce که فکر کنم ماله خوندن صفحه کلید باشه ( فکر کنم !! )
                    2: debounce بوسیله نوشتن برنامه !!! نه استفاده از کد debounce !!!!!!

                    خب تکلیفه اولی که معلومه میتونی از help بسکام کمک بگیری !!!

                    و اما دومی !
                    وقتی می خواهی تغییرات یک ورودی رو بخونی و در اون ورودی احتمال تکرار بصورت غلط ( یعنی تکرار غیر قابل اجتناب ) وجود داره و مثلاً برنامه باید بعد از تغییر اون ورودی به زیر برنامه خاصی بره برای جلوگیری از تکرار بصورت خطا از یک تاخیر لحظه ای استفاده می کنند !!!
                    البته این رو هم بگم که debounce سخت افزاری هم داریم !! ( با فلیپ فلاپ فکر کنم ) که در واقع با یک بار تغییر بصورت تاگل عمل می کنه !

                    بگذریم
                    شما به راحتی با اضافه کردن چند خط کد به برنامه میتونی اینکار رو انجام بدی !!!!

                    موفق باشی

                    دیدگاه


                      #40
                      پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

                      سلام

                      در ادامه فرمایشات آقای پروشانی مثلا می خواهی اگه سنسور یا کلید یک شد , میکرو مثلا به یک زیر برنامه بپره. توی این حالت خیلی مهمه که میکرو به نویز اهمیت نده . حالا از اون جایی که سرعت میکرو خیلی زیاده یک پالس با پهنای 1 میکرو ثانیه هم حتی می تونه باعث پرش به زیر برنامه ای بشه که نباید به اون می پرید. برای جلوگیری از این حالت شما باید debounce گیری کنی.

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

                      از debounce برای جلوگیری از تکرار هم استفاده می کنند. مثلا تو فرض کن می خواستی شماره 2 را با تلفن بگیری , اگر debounce گیری نبود با هر بار فشار دادن کلید هزار بار 2 گرفته می شد...

                      امیدوارم فهمیده باشی منظور از debounce چیه.

                      برای برنامه نویسی هم همون جور که گفتم بعد از سنس یک ( یا صفر ) , یک حلقه تاخیری ( حداقل 20 میلی ثانیه , بسته به عرض پالس) اضافه کن و بعد دوباره پایه را بخون. یا از دستور debounce در بسکام استفاده کن
                      از چارلی چاپلین پرسیدند خوشبخنی چیست ؟
                      گفت : فاصله این بد بختی تا بد بختی دیگر !

                      دیدگاه


                        #41
                        پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

                        سلام ... و ممنونم که کمکم می کنید ...

                        ببینید این برنامه ای که نوشتم درسته : (راستش رفتم توی help بیسکام یه خورده کلنجار رفتم .... )

                        $regfile = "m32def.dat"
                        $crystal = 1000000
                        Dim M as byte
                        Config portA = output
                        Config portC = input
                        Config debounce = 30
                        Reset porta.0
                        Reset porta.1
                        Mostafa:
                        Do
                        Waitus 12
                        Toggle Porta.0
                        Toggle porta.1
                        if pinc.0 <> porta.0 and pinc.1 = porta.1 then
                        debounce , pinc.0<>porta.0 and pinc.1=porta.1 , A
                        End if
                        if pinc.0 = porta.0 and pinc.1 <> porta.1 then
                        debounce , pinc.0 = porta.0 and pinc.1 <> porta.1 , D
                        End if
                        Loop
                        End
                        A:
                        do
                        Waitus 12
                        Toggle porta.0
                        Toggle porta.1
                        if pin.0 <> porta.0 and pinc.1 <> porta.1 then
                        debounce , pin.0 <> porta.0 and pinc.1 <> porta.1 , B
                        End if
                        loop
                        B:
                        do
                        Waitus 12
                        Toggle porta.0
                        Toggle porta.1
                        if pinc.0 = porta.0 and pinc.1 <> porta.1 then
                        debounce , pinc.0 = porta.0 and pinc.1 <> porta.1 , F
                        End if
                        loop
                        D:
                        do
                        Waitus 12
                        Toggle porta.0
                        Toggle porta.1
                        If pinc.0 <> porta.0 and pinc.1 <> porta.1 then
                        Debounce , pinc.0 <> porta.0 and pinc.1 <> porta.1 , E
                        End if
                        loop
                        E:
                        do
                        Waitus 12
                        Toggle porta.0
                        Toggle porta.1
                        If pinc.0 <> porta.0 and pinc.1=porta.1 then
                        Debounce , pinc.0 <> porta.0 and pinc.1=porta.1 , G
                        End if
                        loop
                        F:
                        Incr M
                        Goto Mostafa
                        G:
                        Decr M
                        If M=0 then
                        Reset porta.2
                        End if
                        Goto mostafa

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

                        دیدگاه


                          #42
                          پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

                          سلام مصطفی خان.
                          من نه تو بحثتون بودم نه میدونم چی نوشتی.
                          ولی در کل من این روش برنامه نویسی( استفاده از حلقه بدون شرط و اجازه خروج توسط دستور شرطی برای رفتن به حلقه بعدی) رو نمی پسندم.

                          این یک نظر کاملا شخصی و بدون هیچ گونه سو نظریه!

                          دیدگاه


                            #43
                            پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

                            سلام :

                            دوست خوبم مصطفی جان :
                            خوش حالم که می بینم از روز اولی که این تاپیک رو زدی تا الان خیلی خیلی پیشرفت کردی و کم کم داری با برنامه نویسی کنترلی آشنا میشی ! :job:
                            و همه اینها را مدیون پشتکار و تصمیم راسخ خودت هستی و بس ! :agree:

                            به هر حال اول تبریک می گم بهت بخاطر این همه پشتکارت و امیدوارم ادامه هم داشته باشه !!
                            راستش برنامت تقریباً بی نقصه منتها از اینجا به بعد رو باید کم کم بری به سمت بستن سخت افزارش و یک سری تست ها رو عملی انجام بدی .
                            چون اکثر ایرادات اصلی برنامه ها در تست عملی در میاد و اگر هنوز برات سخته که سخت افزارش رو کامل ببندی می تونی برنامه ات رو بصورت منطقی تست عملی کنی !
                            یعنی بجای اینکه 2 طرف فرستنده و گیرنده بگذاری و با تغییرات اون برنامه رو چک کنی بجاشون از 2 تا پوش باتن یا ریست سوئیچ استفاده کنی که فقط برای شما تغییر وضعیت و حالت فرستنده گیرنده ات رو داشته باشه یعنی ورودی خروجی های مورد نیاز برای رفع عیب برنامه ات را بصورت Logical قرار بدی که هم کار تست عملی خیلی پیچیده نشه و هم ایرادات ناشی از خود مدار باعث ایجاد خطا در برنامه نشه !
                            البته این توصیه من بود و شما خودت باید تصمیم بگیری برای ادامه کارت چه برنامه ای داشته باشی
                            در کل برات آرزوی موفقیت می کنم هزار تا :mrgreen:

                            موفق باشی

                            دیدگاه


                              #44
                              پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

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

                              بعدش باید بگم :
                              دستور ی که جلوی کد debounce قرار می گیره در صورت نقض شدنش ، میکرو به سطر بعدی می ره یا در صورت درست بودنش؟
                              بعد هم یه سوال دیگه : اگه بخوام مقدار debounce رو در حد میکوثانیه بکنم چه کار باید بکنم ... باید جلوی مقدار ثانیه ای که می نویسم US بنویسم؟

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

                              دیدگاه


                                #45
                                پاسخ : خاموش و روشن شدن چراغ اتاق با ورود و خروج افراد ....

                                سلام :

                                دوست عزیز من دقت نکرده بودم
                                شما برای debounce نمیتونی شرط بزاری که
                                الان وقت ندارم دارم میرم بیرون
                                تونستم کد صحیح رو برات مینویسم میزارم

                                موفق باشی

                                دیدگاه

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