گاهی لازم است دو کار را همزمان انجام دهید. برای مثال ممکن است بخواهید هنگام خواندن فشار دادن دکمه یا ورودی های دیگر، یک LED (یا برخی عملکردهای حساس به زمان دیگر) را چشمک بزنید. در این حالت، نمیتوانید استفاده کنید delay()
، یا در حالی که LED چشمک میزند، همه برنامهها را متوقف میکنید. اگر در حین تأخیر اتفاق بیفتد، برنامه ممکن است فشار دکمه را از دست بدهد. این طرح نحوه چشمک زدن LED را بدون استفاده از delay()
. آخرین باری که آردوینو LED را روشن یا خاموش کرده است را پیگیری می کند. سپس، هر بار از طریق loop()
، بررسی می کند که آیا فاصله زمانی کافی سپری شده است یا خیر. اگر داشته باشد، LED را روشن یا خاموش می کند.
جریان
برای ساخت مدار، یک LED بگیرید و پایه بلند و مثبت آن (به نام آند) را به پایه 13 وصل کنید. پایه کوتاه و منفی (به نام کاتد) را به زمین وصل کنید. سپس برد آردوینو خود را به کامپیوتر خود وصل کنید، برنامه آردوینو را راه اندازی کنید و کد زیر را وارد کنید.
شماتیک:
تصویر با استفاده از Fritzing ایجاد شده است . برای نمونه مدارهای بیشتر، صفحه پروژه فریتزینگ را ببینید
کد
کد زیر از millis()
تابع استفاده می کند، دستوری که تعداد میلی ثانیه از زمانی که برد آردوینو برنامه فعلی خود را شروع کرده است، برای چشمک زدن یک LED برمی گرداند.
/* بدون تاخیر پلک بزنید
یک دیود ساطع کننده نور (LED) متصل به پین دیجیتال را بدون استفاده از تابع () delay روشن و خاموش می کند . این بدان معنی است که سایر کدها
می توانند همزمان اجرا شوند بدون اینکه کد LED آنها را قطع کند.
مدار:
* LED از پایه 13 به زمین متصل شده است.
* توجه: در اکثر آردوینوها، قبلاً یک LED روی برد وجود دارد
که به پایه 13 وصل شده است، بنابراین برای این مثال نیازی به سخت افزار نیست.
سخت افزار مورد نیاز