راه اندازی بار گراف LED در آردوینو

0
53
راه اندازی بار گراف LED در آردوینو
راه اندازی بار گراف LED در آردوینو

راه اندازی بار گراف LED در آردوینو، در این مثال می‌خواهیم ولتاژ آنالوگ بر روی پایه A0 رابخوانیم، سپس ولتاژ آنالوگ روی این پایه را توسط تابع analogRead محاسبه کنیم و بر روی خروجی سریال در نرم افزار آردوینو نشان خواهیم داد. همچنین یک بار گراف LED را متناسب با این ولتاژ راه اندازی می‌کنیم.

قطعات و وسایل مورد نیاز:

  • 1 عدد برد بورد
  • 1 عدد برد آردوینو Uno R3
  • 1 عدد پتانسیومتر 5 کیلو اهم
  • 2 عدد سیم جامپر
  • 8 عدد LED تکی یا استفاده از یک بار گراف LED (مطابق شکل زیر)

مراحل :

مطابق شکل‌های زیر قطعات را بر روی بردبرد قرار داده و اتصالات بین آنها را برقرار کنید.

راه اندازی بار گراف LED در آردوینو
راه اندازی بار گراف LED در آردوینو
راه اندازی بار گراف LED در آردوینو
راه اندازی بار گراف LED در آردوینو

نرم افزار آردوینو:

نرم افزار آردوینوی خود را باز کنید. با استفاده از برنامه آردوینو می‌توانید مدار خود را کنترل کنید. یک sketch جدید از طریق منوی File و گزینه New باز کنید.

راه اندازی بار گراف LED در آردوینو
راه اندازی بار گراف LED در آردوینو

بار گراف LED  ده تکه:

راه اندازی بار گراف LED در آردوینو
راه اندازی بار گراف LED در آردوینو

بار گراف LED ده تکه دارای کاربردهای زیاد است. با توجه به ابعاد کوچک و سهولت در استفاده می‌توان از آن برای ساخت نمونه اولیه پروژه‌های خود استفاده کنیم. معمولا در بار LED ده تکه، 10 عدد LED مجزا با آند و کاتد جداگانه در کنار یکدیگر قرار گرفته اند.

بارهای LED در رنگ های زرد، قرمز، آبی و سبز در بازار موجود هستند.

نکته : ممکن است ترتیب قرارگیری پایه‌ها با آنچه در دیتاشیت ثبت شده است متفاوت باشد. به این منظور اگر قطعه را 180 درجه بچرخانید، پایه 11 به عنوان اولین پایه قرار خواهد گرفت.

برنامه آردوینو:

/*
 LED bar graph
 Turns on a series of LEDs based on the value of an analog sensor. 
 This is a simple way to make a bar graph display. 
 Though this graph uses 8LEDs, you can use any number by
 changing the LED count and the pins in the array.
 This method can be used to control any series of digital
 outputs that depends on an analog input.
*/

// these constants won't change:
const int analogPin = A0; // the pin that the potentiometer is attached to
const int ledCount = 8; // the number of LEDs in the bar graph
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // an array of pin numbers to which LEDs are attached

void setup() {
 // loop over the pin array and set them all to output:
 for (int thisLed = 0; thisLed < ledCount; thisLed++) {
 pinMode(ledPins[thisLed], OUTPUT);
 }
}

void loop() {
 // read the potentiometer:
 int sensorReading = analogRead(analogPin);
 // map the result to a range from 0 to the number of LEDs:
 int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);
 // loop over the LED array:
 for (int thisLed = 0; thisLed < ledCount; thisLed++) {
 // if the array element's index is less than ledLevel,
 // turn the pin for this element on:
 if (thisLed < ledLevel) {
 digitalWrite(ledPins[thisLed], HIGH);
 }else { // turn off all pins higher than the ledLevel:
 digitalWrite(ledPins[thisLed], LOW);
 }
 }
}

 

نکات برنامه:

برنامه اینجوری کار می‌کند: اول ولتاژ ورودی آنالوگ را می‌خوانیم، سپس مقدار ولتاژ را متناسب با محدوده مورد نظر که در این مورد 10 عدد LED است می‌کنیم. سپس یک حلقه for می‌نویسیم تا نمایش مقدار ولتاژ را را بر روی LED ها تکرار کنیم. اگر شماره LED خروجی از ولتاژ ورودی کمتر باشد، LED روشن خواهد شد و در غیر اینصورت LED خاموش خواهد بود.

نتایج :

همان طور که مشاهده می‌کنید با افزایش ولتاژ ورودی تعداد بیشتری از LED ها روشن می‌شوند و با کاهش ولتاژ ورودی LED ها شروع به خاموش شدن می‌کنند.

 

امیداوارم این آموزش هم برایتان مفید بوده باشد.

 

منبع:  میکرودیزاینرالکترونیک

 

مطلب قبلیالمان‌های مغناطیسی در منبع تغذیه سوئیچینگ – مفاهیم پایه‌ای مغناطیس و فرومغناطیس
مطلب بعدیخواندن ولتاژ آنالوگ در آردوینو

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید