آردوینو Arduinoپروژه های آردوینو

پروژه ساخت دیمر با آردوینو (آموزش کامل PWM با Arduino)

سلام. پروژه ساخت دیمر با آردوینو (آموزش کامل PWM با Arduino) را آماده کردیم. فیلم عملکرد مدار را ببینید !

پروژه ساخت دیمر با آردوینو

پروژه ساخت دیمر آردوینو
پروژه ساخت دیمر آردوینو

دیمر ال ای دی یک مدار PWM مبتنی بر آردوینو UNO است. (PWM = Pulse Width Modulation = پهنای مدولاسیون پالس) که برای ایجاد ولتاژ متغیر در ولتاژ ثابت طراحی شده است.

آموزش PWM آردوینو

دیمر آردوینو
دیمر آردوینو

بطور مثال ، در تصویر بالا اگر سوئیچ به طور مداوم بسته باشد، لامپ هم به طور مداوم روشن خواهد ماند. اما اگر ما در یک دوره ی 10ms سوئیچ را 8ms بسته ، و 2ms باز بگذاریم، تنها 80% ولتاژ باتری مورد استفاده لامپ قرار میگیرد و لامپ 80 درصد روشنایی میدهد.

جهت کسب اطلاعات بیشتر پیشنهاد میکنم مقاله PWM چیست را بخوانید.

و اگر ما در یک دوره ی 10ms، برای 5ms سوئیچ را در حالت بسته و 5ms باز بگذاریم به طور متوسط ولتاژ ما 50% خواهد شد. یعنی اگر باتری ما 5 ولت باشد، در اینصورت تنها 2.5 ولت به لامپ میرسد.

برای یادگیری کامل آردوینو ، روی دوره آموزش آردوینو و برای یادگیری کامل الکترونیک، روی دوره آموزش الکترونیک کلیک کنید.

همانطور که میدانید ، Arduino UNO دارای 6 کانال PWM است. بنابراین ما میتوانیم ولتاژ متغیر (PWM) را در هر یک از این 6 پین دریافت کنیم. در این پروژه ما از PIN3 به عنوان خروجی PWM استفاده میکنیم.

مدار پروژه PWM آردوینو

مدار پروژه PWM با آردوینو

این پروژه را ما روی یک برد بورد اجرا کردیم. باید در هنگام اتصال LED دقت کنی . دکمه ها در این پروژه ممکن است نویز و خطا داشته باشند اما انقدری نیست که باعث شود در کار اصلی پروژه تداخل ایجاد شود. اجرای مود PWM در آردوینو UNO بسیار آسان است . اما برای راه اندازی PWM در AVR باید بسیاری از رجیستر ها و تنظیمات و … را به صورت دقیق تعریف کنیم. اما در Arduino UNO ما مجبور نیستیم این همه کار انجام دهیم. به طور پیشفرض تمامی فایل ها و رجیستر های هدر با استفاده از IDE آردوینو از پیش تعریف شده اند. پس فقط ما باید آن ها را فراخوانی کنیم .

قطعات مورد نیاز این پروژه آردوینو

  • برد آردوینو UNO
  • منبع تغذیه 5 ولت
  • خازن 100 پیکو فاراد
  • ال ای دی
  • دکمه (2 عدد)
  • مقاومت 10 کیلو اهم (2 عدد)

توضیحات کد پروژه

کد کامل در فایل دانلودی قرار داده شده است. ابتدا نوع پین ها را تعیین میکنیم :

pinMode(3, OUTPUT); // پین 3 به عنوان پین خروجی برای ال ای دی
pinMode(0, INPUT); // پین 0 به عنوان پین وردی برای دکمه
pinMode(1, INPUT); // پین 1 به عنوان پین وردی برای دکمه

قسمت افزایش نور ال ای دی :

if (digitalRead(0)==LOW) // فشار دادن دکمه متصل به پین 0
{
 if (i<255)
  {
    i++; // افزایش مقدار دیمر
    delay(30); // هر 30 میلی ثانیه
  }
}

قسمت کاهش نور ال ای دی :

if (digitalRead(1)==LOW) // فشار دادن دکمه متصل به پین 1
{
 if (i<0)
  {
    i--; // کاهش مقدار دیمر
    delay(30); // هر 30 میلی ثانیه
  }
}
موارد موجود در فایل : شماتیک کامل ، فایل Hex ، فایل آردوینو ، و …

برای دانلود فایل های پروه کلیک کنید !

مطلب پیشنهادی:  چگونه استپر موتور را با آردوینو کنترل کنیم؟

میخواهید برنامه نویسی STM32 را یاد بگیرید؟

دوره آموزش STM32

میخواهید الکترونیک را یاد بگیرید؟

دوره آموزش الکترونیک
دوره آموزش آردوینو

میخواهید آردوینو را به صورت پروژه محور یاد بگیرید؟ برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید

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

محمد رحیمی

محمد رحیمی

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

9 نظر

  1. ی سوال دیگه داشتم ممنون میشم جواب بدین .
    اینکه در صورت استفاده از ماژول nodemcu باز هم نیاز به استفاده از مقاومت در ورودی و خروجی(پول آپ و پول دون؟!) هست؟

    1. استفاده نکردن از مقاومت خارجی پول آپ و پول دان مشکل بزرگی بوجود نمیاره. همچنین اگر امکان استفاده از مقاومت خارجی رو ندارید، در قسمت pinMode حالت INPUT_PULLUP رو قرار بدید. اگر نیاز به راهنمایی بیشتر دارید، دوره آموزش آردوینو رو بررسی کنید.

    2. خیلی ممنون حتما از دوره آموزشی تون استفاده میکنم 💙

  2. ی سوال دیگه داشتم
    اینکه فشار دادن دکمه == low تعریف شده ؟نباید high باشه؟
    اینو متوجه نشدم. ب خاطر پول آب هستش؟

    1. دقت بفرمایید چون ما یک سمت دکمه رو به GND و سمت دیگر رو به آردوینو متصل کردیم، در زمان فشار دادن دکمه، وضعیت پایه مورد نظر (آردوینو) برابر با GND = LOW = 0 خواهد شد. اگر شما سمت دیگر دکمه را به جای GND، به +5 ولت متصل کنید، در اون زمان باید == HIGH تعریف کنید.

  3. سلام. خازن کجا قرار گرفته؟
    و اینکه پین ۳ باید pwm باشه یا 1 ,2 یا هر سه؟
    ممنون

    1. سلام جناب. خازن نیازی نیست. پین 3 PMW هست که به ال ای دی متصل میشه. دقت بفرمایید در آردوینو Uno پین 1 و 2 قابلیت PWM رو ندارند.

    2. بله متوجه شدم .خیلی ممنون
      پس از ای دی هم‌ از طریق مقاومت ب زمین وصل شده درسته؟

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

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