تمرین جلسه 4 آردوینو

سلام خدمت مهندس معین و همه دوستان. ی سوال راجب تمرینی که آخر جلسه 4 آردوینو داده شد دارم.تمرین این بود که از طریق ارتباط سریال با String اول یک String رو بگیریم و با استفاده از اون یک لامپ رو روشن کنیم و با بعدی زمان تاخیر رو مشخص کنیم و بعد این تاخیر خاموش بشه. من این تمرین رو تونستم با String ها انجام بدم یعنی ورودی دوم سریال روهم مثلا کلمه five گذاشتم و گفتم اگه five وارد شد بعد 5 ثانیه خاموش بشه چراغمون. ولی سوالی که برام پیش اومد اینه آیا منظورتون به همین نحو بوده انجام تمرین یا اینکه نه مثلا ورودی دوم ما به صورت یک عدد باشه و تاخیر ما دقیقا به اندازه همین عدد باشه؟

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

سلام دوست عزیز، کد این تمرین رو در جوای یکی دیگه از دوستان قبلا ارسال کردم. لینکش رو براتون می ذارم اینجا:
http://forum.namatek.com/d/924-پروژه-روشن-کردن-ال-ای-دی-با-استرینگ-و-عدد-در-سریال-مانیتور/15

برای خوندن عدد از سریال که البته در تمرین های جلسه های آینده خواهید دید، از دستور Serial.parseInt() استفاده میشه. این دستور میاد عددی که در ورودی وارد شده رو از متن به عدد تبدیل می کنه و داخل متغیر مورد نظر شما میریزه.

تشکر

درسته مهندس خیلی ممنون بابت راهنمایی. با همون تاخیر به اندازه مثلا 12 رو که 48 و 49 میده انجامش تونستم بدم. حتما با تابعی که معرفی کردید هم انجام میدم و به سراغ ادامه مسیر میرم. بازهم متشکرم بابت راهنمایی عالی.

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

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

ممنون مهندس خیلی عالی . ولی من باید قبل رسیدن به این تابع بتونم این تمرینو حل کنم. چون آخر جلسه 4 گفته شد با درسای این جلسه قابل انجامه. برا همین میخوام براساس همین جلسه برم جلو. مشکلم درمورد تمرین اینه که وقتی عددی رو از سریال دریافت میکنم با Serial.read() میاد کاراکتر اسکیش رو میده مثلا اگه 10 رو زدم خروجی میده 49 و 48 و به جای 10 msمیاد 97ms تاخیر میزنه. آیا با این روش درسته یا باید از همین تابعی که گفتید استفاده کنم و مقدار دقیقو تو تابع delay بزارم؟

خیلی ممنون مهندس لطف دارید. حالا درمورد اینکه عدد رو چگونه وارد کنیم من هرکار میکنم نمیکنم به صورت عدد بگیرم و براش delay بزارم. برای اینکار راه حلش آیا اینه که بیام یک متغیر int تعریف کنم و مقدار اولیش رو 0 قرار بدم بعدش مقدار اونو به اضافه Serial.read() کنم؟ راهش اینه؟ چون هرکاری میکنم نمیشه اینطوری مسئله رو حل کرد؟