من 4تا شرط قرار دادم ک دوتای اولی با شرط زمان کار میکنه.اولی رو if قرار میدم بعدی else if مجددا بعدی ها باید از if استفاده بشه چون به شروط زمان مربوط نیست
آیا درست گفتم؟
من 4تا شرط قرار دادم ک دوتای اولی با شرط زمان کار میکنه.اولی رو if قرار میدم بعدی else if مجددا بعدی ها باید از if استفاده بشه چون به شروط زمان مربوط نیست
آیا درست گفتم؟
دوست گرامی ، برای اینکه برنامه تون درست در بیاد بهتره اول فلوچارت رسم کنین و بعد بر اساس اون کدتون رو بنویسین
در مورد if و else if هم این مثال رو ببینید
میخوایم اگه بارون اومد یه لامپ روشن بشه و همچنین اگه هوا گرم بود و بارون هم نمیومد کولر آبی روشن بشه
حالا اگه شما دوتاش رو if بذارین میاد میبینه بارون میاد یا نه اگه میاد لامپ رو روشن میکنه بعد هم میره میبینه هوا گرمه یا نه ، اگه گرم بود فارع از اینکه بارون میاد یا نه کولر رو روشن میکنه
حالا اگه اولی رو if و دومی رو else if بذارین میبینه بارون میاد یا نه اگه میاد لامپ رو روشن میکنه ، تو قسمت بعد که else if هست میگه "در غیراینصورت اگر:" در غیرکدوم صورت؟ همون صورت که بارون بیاد ، پس اگه بارون میاد این شرط اصلا چک نمیشه و اگه بارون نیاد میره میبینه هوا گرمه یا نه اگه گرم بود کولر رو روشن میکنه
سلام
بنده با استفاده از کدی ک خودم نوشته بودم مدار رو روی برد بورد بستم و امتحان کردم تمامی شروط خیلی عالی کار میکنه و مشکلی با عدم وجود else ندارم .تنها مشکل باقی مونده اینه ک مدتی ک رله به واسطه حرکت کند موتور هنوز روشنه(4 دقیقه)تابع millis همچنان در حالت شمارشه در حالی ک من میخوام بعد از فشرده شدن کلید ها شمارش انجام بشه.آیا باز هم تابع millis جوابگو هست؟
تو اینترنت زیاد گشتم چیزهایی ک به زهنم خطور میکنه:
1. این ک از ی مازول ساعتds3231 استفاده کنم (اما نمیدونم چطوری بر اساس ساعت اون دستورات رو از میکرو دریافت کنم)
2.استفاده از کریستال ساعت32.768 و دریافت ساعت دقیق(اینم مثل بالایی بلد نیستم)
فلوچارت:http://s6.picofile.com/file/8255108634/000.JPG
نه تابع MILLIS این حرفا سرش نمیشه
از وقتی پاور میدی میشماره
برای ماژول های ساعت ترجیحا از دقیقش استفاده کن
البته من اخیرا این تایمر رو کشف کردم :
Make an accurate Arduino clock using only one wire - NO external hardware needed! - All
ممنون جالب بود ،
چنتا سوال
1- اینکه فرکانس pwm همیشه ثابته و با گرم شدن و در طول زمان تغییر نمیکنه؟
2- به جای اینکه pwm رو روی 127 قرار بده ، اگه مثلا روی 50 یا هر عدد دیگه ای غیر از 0 و 255 قرار میداد نتیجه فرق میکرد؟
3- الان تو این برد آردوینو چنتا نوسان ساز هست کلا و کدوم دقتش بیشتره؟
قبلا با millis() که ساعت رو اجرا کردم توی هر ساعت 4 ثانیه خطا داشت و آردوینو از زمان واقعی جلو میفتاد ، یا این سیم هم که اجرا کردم (با توجه به اینکه فرکانس pwm معمول برای پایه های آردیونو 490 هست) خطایی که به دست اومد 5 ثانیه بود و باز هم آردوینو جلو افتاد از زمان واقعی ، به نظر میاد این هم اونقدا دقیق نیست
و اونقدری که من میدونم همون millis() هم با استفاده از وقفه و یه کانتر داخلی داره شمرده میشه