پروژه الکترونیکپروژه های آردوینوپروژه های تابلو روان

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

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

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

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

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

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

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

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

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

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

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

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

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

  • برد آردوینو UNO
  • منبع تغذیه 5 ولت
  • خازن 100 پیکو فاراد
  • ال ای دی
  • دکمه (2 عدد)
  • مقاومت 10 کیلو اهم (2 عدد)
حتما ببینید :  آموزش کامل پروژه سیستم اعلام حریق با آردوینو (تشخیص آتش و شعله توسط Arduino)

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

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

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 ، فایل آردوینو ، و …
برای دانلود فایل های پروژه ثبت نام کنید، تنها چند ثانیه زمان لازم است. از طریق فرم زیر اقدام کنید.

ایمیل خود را وارد کنید

close
امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید مشاهده لیست پروژه های آردوینو
برچسب ها

محمد رحیمی

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

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

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

دکمه بازگشت به بالا
بستن
بستن