آموزش آردوینودستورات آردوینو

دستور digitalWrite در آردوینو (روشن و خاموش کردن پین)

این دستور وضعیت پین دیجیتالی مورد نظر ما را تعیین میکند که میتواند HIGH یا LOW باشد.

اگر پین با دستور pinMode در حالت OUTPUT پیکربندی شده باشد ، ولتاژ آن روی مقداری که تعیین میکنیم تنظیم میشود. یعنی با مقدار HIGH در پین 5 ولت (یا 3.3 ولت در برد های 3.3 ولت)  قرار میگیرد و با قرار دادن وضعیت پین روی LOW، ولتاژ 0 یا همان GND در این پین قرار میگیرد.

اگر پین به صورت INPUT پیکربندی شده باشد، digitalWrite مقاومت پول آپ داخلی را فعال (HIGH) و غیرفعال (LOW) میکند. برای فعال سازی مقاومت پول آپ داخلی، بهتر است در دستور pinMode، حالت پین را روی INPUT_PULLUP قرار دهید.

اگر pinMode () را روی OUTPUT تنظیم نکنید و یک LED را به پین متصل کنید، هنگام قرار دادن پین در حالت HIGH، ممکن است LED کم نور به نظر برسد. در این شرایط آردوینو مقاومت داخلی پول آپ را فعال کرده است.

برای یادگیری آردوینو (برنامه نویسی، ساخت ربات، ارتباط با اندروید) روی دوره آموزش آردوینو کلیک کنید.
برای یادگیری کامل الکترونیک روی دوره آموزش الکترونیک کلیک کنید.

دستور digitalWrite

digitalWrite(pin, value)

  • pin: به جای pin باید نام پین که میخواهید وضعیت دیجیتالی آن را تعیین کنید را بنویسید.
  • value: در این پارامتر میتوانید مقدار HIGH یا LOW را بنویسید. با نوشتن HIGH، ولتاژ + در این پین قرار میگیرد و با نوشتن LOW، این پین تبدیل به GND میشود.

به طور مثال اگر با برد آردوینو اونو، میخواهید پین 12 را در حالت ولتاژ +5 قرار دهید، باید دستور را به صورت digitalWrite(12, HIGH) بنویسید.

چه چیزی را بر میگرداند؟

هیچ چیز

نمونه کد با دستور digitalWrite

کد زیر پین 13 را روشن و خاموش (Toggle) میکند. در این کد از دستور digitalWrite استفاده میشود.

void setup() {
  pinMode(13, OUTPUT);    // تنظیم پین دیجیتالی 13 در حالت خروجی
}

void loop() {
  digitalWrite(13, HIGH); // HIGH کردن پین دیجیتالی 13
  delay(1000);            // تاخیر به مدت 1 ثانیه
  digitalWrite(13, LOW);  // LOW کردن پین دیجیتالی 13
  delay(1000);            // تاخیر به مدت 1 ثانیه
}

نکات:

دستورات مرتبط:

برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید.

برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام آیرنکس عضو شوید.

تصویر از محمد رحیمی

محمد رحیمی

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

2 نظر

  1. سلام
    مطالب خیلی خلاصه ، مفید و مختصر بودن و البته بسیار عالی
    ممنون از شما که برای تهیه این مطالب زحمت می کشید.
    من یه سوال داشتم ، من تازه دارم برنامه نویسی رو شروع می کنم ، می خوام بدونم چجوری می تونم با *یک* دستور digitalWrite از *دو تا پین* خروجی بگیرم؟
    برای مثال من می خوام که از پایه های دیجیتال ۱۳ و ۱۲ به عنوان OUTPUT ، با یک کد digitalWrite ، خروجی بگیرم
    می شه لطفا من رو راهنمایی کنید؟
    ممنون می شم اگه تو واتساپ بهم پیام بدید

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *