2 لایک
-
1
Post By shobeir90
-
1
Post By solxsado
-
فقط یکبار خواندن digitalWrite در هر بار صفر شدن
باسلام،من میخوام با یک سوییچ یک led روشن و خاموش کنم به این صورت که وقتی که کلید فشرده میشه led روشن بشه و وقتی که دوباره فشرده شد led خاموش بشه.
من برای این کار برنامه زیر رو نوشتم:
;int button=1
;int led=2
;int x=0
}()void setup
;(pinMode(button,INPUT_PULLUP
;(pinMode(led,OUTPUT
{
}()void loop
}(if(digitalRead(button)==0
;x=1-x
;(delay(200
{
;(digitalWrite(led,x
{
وقتی digitalRead صفر میشه بعد از 200 میلی ثانیه x یک میشه و led روشن میشه ،وقتی دوباره کلید فشرده میشه x صفر میشه و led خاموش.
حالا موضوع اینجاست که اگر کلید رو بیشتر از 200 میلی ثانیه نگ داریم تا زمانی که کلید فشرده است led هر 200 میلی ثانیه روشن و خاموش میشه.ولی من میخوام که وقتی کلید رو فشار دادم تا هر موقع هم که فشرده بود led فقط یکبار روشن یا خاموش بشه.مثل وقتی که تلویزیون رو با کنترل خاموش میکنیم حتی اگه دکمه رو نگه داریم فقط یکبار اون عمل خاموش یا روشن بودن رو انجام میده.
ممنون میشم اگه کسی راهنمایی کنه
ویرایش توسط miladdav : 11-30-2016 در ساعت 04:13 PM
مجوز های ارسال و ویرایش
- شما نمیتوانید موضوع جدیدی ارسال کنید
- شما امکان ارسال پاسخ را ندارید
- شما نمیتوانید فایل پیوست کنید.
- شما نمیتوانید پست های خود را ویرایش کنید
-
مشاهده قوانین انجمن
SEO by vBSEO