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

دستور 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 ثانیه
}

نکات:

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

4.3 (6 نفر)

مطلب پیشنهادی:  پروژه سیستم اعلام حریق با آردوینو (تشخیص آتش و شعله)
برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

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

برای ارسال تصاویر از انجمن سایت استفاده کنید.

سوالات فنی را در انجمن سایت مطرح کنید تا در مسابقه شرکت کنید. ورود به انجمن

6 نظر

  1. سلام ممنون از سایت خوبتون
    یک سوال داشتم
    اینکه چطور میتونم دو تا LED رو همزمان روشن کنم
    ممنون میشم کدش رو بگید

    1. سلام عزیز
      دوبار دستور Digital Write و pinMode را قرار بدهید. برای یادگیری برنامه نویسی آردوینو به صورت حرفه ای، دوره آموزش آردوینو را مشاهده کنید.

  2. سلام

    با توجه به اینکه اکثر ماژول های رله توی بازار Active Low هستند
    و پینهای میکرو تا قبل از رسیدن به دستورات پیکربندی پینها در حالت Low قرار دارند ( که این امر باعث روشن شدن لحظه ای رله میشود )

    چه راهکاری برای این منظور پیشنهاد میکنید ؟؟؟

    1. سلام عزیز
      اکثر رله های موجود در بازار اکتیو LOW نیستند. شما میتوانید هر نوع که میخواهید را تهیه کنید در فروشگاه آیرنکس هر دو موجود هست.
      برای رفع این مشکل یک مقاومت پول آپ در پایه سیگنال رله قرار بدهید.

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

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

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

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