ساخت بارگراف با آردوینو
در این پروژه از بلاگ بهنام رباتیک میخواهیم شما را با نحوه ساخت بارگراف با آردوینو آشنا کنیم. شما با مطالعه این مطلب میآموزید که چگونه ورودی آنالوگ را در پین آنالوگ شماره 0 ببینید و مقادیر مربوط به تابع analogRead() را به ولتاژ تبدیل و در سریال مانیتور نرمافزار Arduino IDE مشاهده کنید.
لوازم مورد نیاز برای پروژه ساخت بارگراف با آردوینو
یک عدد برد بورد | برد آردوینو Uno | پتانسیومتر 5 کیلو اهم | سیم جامپر | 8 عدد LED
نحوه سیمکشی مدار پروژه ساخت بارگراف با آردوینو
با توجه به تصویر زیر، میبایست قطعات مورد نیاز برای این پروژه آردوینو را به برد بورد وصل کنید.
وارد کردن کدهای پروژه ساخت بارگراف با آردوینو
نرمافزار Arduino IDE را در رایانه خود اجرا کنید. زبان برنامهنویسی آردوینو کنترل مدار این پروژه را بر عهده خواهد داشت. برای وارد کردن کدها، پس از ورود به نرمافزار، با رفتن به تب File روی گزینه New کلیک کنید.
LED بارگراف 10 قسمتی
LEDهای بارگراف 10 قسمتی کاربردهای زیادی دارند. به خاطر ابعاد کوچک و کاربری آسان، به راحتی میتوان از آنها در پروژههای دانشآموزی و دانشجویی بهره برد. این LEDها از تعداد 10 چراغ LED کوچک که به هم وصل شدهاند، تشکیل شدهاند. جالب آنکه هر کدام از این LEDها اتصال آند و کاتد مخصوص به خود را دارند.
نکته: پینهای این LEDهای بارگراف از آن چیزی که در دیتاشیت وجود دارد، شاید متفاوت باشد. برای مثال، چرخاندن وسیله به میزان 180 درجه، تغییرات را اصلاح و پین شماره 11 را به پین شماره 1 تبدیل میکند.
کدهای پروژه ساخت بارگراف با آردوینو
برای اینکه بارگراف ساخته شده با آردوینو به خوبی کار کند، میبایست کدهای زیر را در نرمافزار Arduino IDE آپلود کنید.
/*
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 میشود. در ادامه در بخش Loop فرمان داده شده تا خروجیها قرائت شود. اگر عدد خروجی کمتر از ورودی مشخص بود، بارگراف روشن و اگر عدد خروجی بیشتر از ورودی مشخص بود، بارگراف خاموش میشود.
نتیجه
وقتی داده آنالوگ خوانده شده افزایش یافت، LEDها یکی پس از دیگر روشن میشوند. در سمت دیگر، وقتی داده آنالوگ خوانده شده کاهش یافت، LEDها یکی پس از دیگر خاموش میشوند.