پروژه کنترل LED با برد اردوینو Arduino آموزش کامل از مقدماتی تا پیشرفته با PWM
1. مقدمه
پروژه کنترل LED با برد اردوینو Arduino آموزش کامل از مقدماتی تا پیشرفته با PWM برد Arduino یکی از پلتفرمهای متنباز پرطرفدار برای یادگیری و پیادهسازی پروژههای الکترونیکی است که به کمک آن میتوان پروژههای مختلفی از سطح مقدماتی تا حرفهای را اجرا کرد. کنترل LED اولین پروژهای است که اکثر مبتدیان Arduino با آن شروع میکنند. هدف این پروژه، آشنایی با مفاهیم پایهای مانند ورودیها و خروجیهای دیجیتال و تکنیکهای پیشرفتهتری مانند PWM برای کنترل شدت نور LED است.
2. ابزار و تجهیزات مورد نیاز
برای این پروژه، به تجهیزات زیر نیاز داریم:
- برد Arduino (Uno یا مشابه): این برد به عنوان قلب پروژه عمل میکند.
- LED: دیود نورانی که میخواهیم آن را کنترل کنیم.
- مقاومت (معمولاً 220 اهم): برای محافظت از LED در برابر جریان زیاد.
- سیم جامپر: برای برقراری اتصالات بین قطعات.
- بِردبُرد: برای ساخت مدار بدون لحیمکاری.
3. پروژه مقدماتی: روشن و خاموش کردن LED
طراحی مدار
در این مرحله، ابتدا باید مدار سادهای را ایجاد کنیم که شامل Arduino، LED و مقاومت باشد. مراحل زیر را دنبال کنید:
- پایه مثبت LED را به یک مقاومت 220 اهم وصل کنید و مقاومت را به پایه شماره 13 برد Arduino متصل کنید.
- پایه منفی LED را به زمین (GND) برد Arduino متصل کنید.
این اتصال به Arduino اجازه میدهد که جریان الکتریکی را از طریق LED و مقاومت کنترل کند و در نتیجه LED روشن و خاموش شود.
کدنویسی و پیادهسازی پروژه
برای روشن و خاموش کردن LED، به کدنویسی سادهای نیاز داریم. کافی است کد زیر را در نرمافزار Arduino IDE بنویسید و روی برد بارگذاری کنید.
// تعریف پایه LED
int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT); // تنظیم پایه LED به عنوان خروجی
}
void loop() {
digitalWrite(ledPin, HIGH); // روشن کردن LED
delay(1000); // مکث یک ثانیهای
digitalWrite(ledPin, LOW); // خاموش کردن LED
delay(1000); // مکث یک ثانیهای
}
این برنامه LED را به مدت یک ثانیه روشن و سپس به مدت یک ثانیه خاموش میکند و این چرخه تکرار میشود.با تنظیم pinMode
روی OUTPUT
، پایه 13 به عنوان خروجی تعیین شده است و با digitalWrite
وضعیت روشن (HIGH) یا خاموش (LOW) را به LED اعمال میکنیم.
4. پروژه پیشرفته: کنترل شدت نور LED با PWM
آشنایی با PWM
PWM یا “پهنای باند پالس” یک تکنیک برای شبیهسازی خروجی آنالوگ با استفاده از خروجیهای دیجیتال است. این تکنیک برای تغییر شدت نور LED استفاده میشود. PWM در واقع به طور متناوب سیگنال روشن و خاموش را با سرعت بسیار بالا ارسال میکند که باعث میشود LED به نظر برسد که با شدت کمتری روشن است.
طراحی مدار و کدنویسی
مدار پروژه پیشرفته با پروژه مقدماتی تفاوت چندانی ندارد و تنها باید پایه LED را به یکی از پایههای PWM در Arduino متصل کنیم. پایههای PWM در Arduino Uno شامل پایههای 3، 5، 6، 9، 10 و 11 هستند.
در اینجا، پایه 9 را انتخاب میکنیم و مدار مشابه مرحله قبل است. پایه مثبت LED را به مقاومت و سپس به پایه 9 Arduino متصل کنید و پایه منفی را به زمین (GND) ببرید.
کد برای کنترل شدت نور LED با PWM
int ledPin = 9; // پایه PWM برای LED
void setup() {
pinMode(ledPin, OUTPUT); // تنظیم پایه به عنوان خروجی
}
void loop() {
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledPin, brightness); // افزایش تدریجی شدت نور LED
delay(10);
}
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(ledPin, brightness); // کاهش تدریجی شدت نور LED
delay(10);
}
}
در این کد، از تابع analogWrite
استفاده میکنیم که میتواند شدت روشنایی LED را از 0 (خاموش) تا 255 (حداکثر روشنایی) تنظیم کند.حلقه اول شدت نور LED را به تدریج از 0 تا 255 افزایش میدهد و سپس حلقه دوم این شدت را از 255 به 0 کاهش میدهد و این چرخه تکرار میشود.تابع delay(10);
سرعت تغییرات را کنترل میکند و باعث میشود تغییرات نور به تدریج و به شکل نرم انجام شود.
5. نتیجهگیری و گامهای بعدی
در این پروژه، یاد گرفتیم چگونه یک LED را با Arduino روشن و خاموش کنیم و سپس با استفاده از تکنیک PWM شدت نور آن را تغییر دهیم. این مفاهیم پایهای میتوانند در پروژههای پیچیدهتر مانند کنترل موتورهای DC، سروو موتور، و نورپردازیهای مختلف استفاده شوند.
این پروژه ساده ولی پرکاربرد میتواند شما را به دنیای جذاب و گسترده الکترونیک و میکروکنترلرها هدایت کند. با یادگیری بیشتر در مورد Arduino و قابلیتهای آن، میتوانید پروژههای خلاقانهتری را طراحی و پیادهسازی کنید.
پروژه کنترل LED با برد اردوینو Arduino آموزش کامل از مقدماتی تا پیشرفته با PWM
مطلب پیشنهادی
نحوه نصب و راهاندازی محیط برنامهنویسی Arduino (IDE) و اتصال برد Arduino به کامپیوتر
اموزش پینهای GPIO در اردوینو Arduino ورودی و خروجی دیجیتال و آنالوگ