به تارنمای مجموعه ی AKTonics خوش آمدید

لطفا در نظر داشته باشید با توجه به مشغله ی کاری زیاد بروزرسانی سایت و اضافه کردن محتوی جدید به کندی پیش خواهد رفت. همچنین در با توجه به کمبود وقت کافی برای مواردی که در جای درست ثبت نشده اند، هرگونه نظر یا پیغامی که در جای مناسب ثبت نشده باشد بدون اطلاع قبلی حذف خواهد شد. لطفا برای راهنمایی در مورد یک مطلب خاص در بخش انتهایی همان صفحه سوال خود را ثبت کنید و برای خرید از سایت، سفارش پروژه یا پشتیبانی موارد خریداری شده از طریق صفحه ی تماس با ما روی پیام رسان واتزاپ یا تلگرام پیغام ثبت کنید. خواهشمندیم از موارد بیهوده بپرهیزید. از همراهی و شکیبایی شما متشکریم...

آموزش استفاده از 10 Segment LED Bar Graph با آردوینو

style

در این آموزش با استفاده از برد آردوینو نانو و یک پتاسیومتر، یک ۱۰ Segment LED Bar Graph را راه اندازی می کنیم. این آموزش روی بردبورد راه اندازی شده است و اجرای آن بسیار ساده است. به صورت خلاصه از LED های Bar Graph برای نمایش میزان فرایند یا مقدار درصدی یک متغیر استفاده می شود. برای مثال می توان از این LED ها برای نمایش میزان صدای یک آمپلی فایر استفاده کرد و خیلی مصارف دیگر…

 

نحوه ی عملکرد LED Bar Graph

این LED به صورت خلاصه ۱۰ LED مجزا در یک قاب مناسب است. برای هر LED یک پایه ی منفی و یک پایه ی مثبت در نظر گرفته شده است. فاصله ی پین ها از یکدیگر دقیقا همانند یک IC است و ابعاد مشابهی با IC دارد. مسلما استفاده از ۱۰ پین خروجی برای کنترل ۱۰ LED برای هر پروژه ای مناسب نیست و جهت کاهش پین های مصرفی ممکن است از روش هایی مانند ماتریکس یا IC های مختلفی مانند شیفت رجیستر استفاده شده باشد.

 

مدار مورد نیاز

مدار این آموزش بسیار ساده است، پایه های کناری پتاسیومتر به + و – پنج ولت متصل هستند و پایه ی وسطی به پین A0. پایه های منفی Bar Graph به صورت مشترک به مقاومت ۱۰۰ اهم و سپس به منفی متصل هستند. پین LED های یک تا ده به پین های D2-D11 برد آردوینو متصل هستند. به همین سادگی

 

اسکچ آردوینو

اسکچ زیر، اسکچ ساده ای است که با ابتدا با خواندن مقدار پین A0 متصل به پتاسیومتر ۱۰ کیلو و سپس پردازش مقدار آن تعداد LED های مطابق مقدار پتاسیومتر را روشن می کند. مقدار پین آنالوگ A0 از ۰ تا ۱۰۲۳ است. این مقدار به ۱۱ قسمت تقسیم شده است. اولین مقدار برای خاموشی کل LED هاست و مقدادیر ۲ تا ۱۱ برای LED های ۱ تا ۱۰٫ بنابراین با تحلیل مقدار ورودی پین A0 می توان پین های خروجی D2-D11 را High کرد و به این ترتیب Bar Graph ده قسمتی را راه اندازی کرد. دانلود اسکچ

/*

 Abole LED Bar Graph

*/

 

// مقادیر ست اپ که بعد از هر بار استارت اپ برد در نظر گرفته خواهند شد

void setup() {

 // تنظیم پین های LED ها به عنوان خروجی

 pinMode(2, OUTPUT);

 pinMode(3, OUTPUT);

 pinMode(4, OUTPUT);

 pinMode(5, OUTPUT);

 pinMode(6, OUTPUT);

 pinMode(7, OUTPUT);

 pinMode(8, OUTPUT);

 pinMode(9, OUTPUT);

 pinMode(10, OUTPUT);

 pinMode(11, OUTPUT);

 // تنظیم پین پتاسیومتر به عنوان ورودی

 pinMode(A0, INPUT);

}

 

// مقادیر لوپ که در زمان فعال بودن برد تکرار خواهند شد

void loop() {

 int inputv = analogRead(A0);

 if (inputv < 93) {

   digitalWrite(2, LOW);

   digitalWrite(3, LOW);

   digitalWrite(4, LOW);

   digitalWrite(5, LOW);

   digitalWrite(6, LOW);

   digitalWrite(7, LOW);

   digitalWrite(8, LOW);

   digitalWrite(9, LOW);

   digitalWrite(10, LOW);

   digitalWrite(11, LOW);

 }

 if (inputv > 93 & inputv < 186) {

   digitalWrite(2, HIGH);

   digitalWrite(3, LOW);

   digitalWrite(4, LOW);

   digitalWrite(5, LOW);

   digitalWrite(6, LOW);

   digitalWrite(7, LOW);

   digitalWrite(8, LOW);

   digitalWrite(9, LOW);

   digitalWrite(10, LOW);

   digitalWrite(11, LOW);

 }

 if (inputv > 186 & inputv < 279) {

   digitalWrite(2, HIGH);

   digitalWrite(3, HIGH);

   digitalWrite(4, LOW);

   digitalWrite(5, LOW);

   digitalWrite(6, LOW);

   digitalWrite(7, LOW);

   digitalWrite(8, LOW);

   digitalWrite(9, LOW);

   digitalWrite(10, LOW);

   digitalWrite(11, LOW);

 }

 if (inputv > 279 & inputv < 372) {

   digitalWrite(2, HIGH);

   digitalWrite(3, HIGH);

   digitalWrite(4, HIGH);

   digitalWrite(5, LOW);

   digitalWrite(6, LOW);

   digitalWrite(7, LOW);

   digitalWrite(8, LOW);

   digitalWrite(9, LOW);

   digitalWrite(10, LOW);

   digitalWrite(11, LOW);

 }

 if (inputv > 372 & inputv < 465) {

   digitalWrite(2, HIGH);

   digitalWrite(3, HIGH);

   digitalWrite(4, HIGH);

   digitalWrite(5, HIGH);

   digitalWrite(6, LOW);

   digitalWrite(7, LOW);

   digitalWrite(8, LOW);

   digitalWrite(9, LOW);

   digitalWrite(10, LOW);

   digitalWrite(11, LOW);

 }

 if (inputv > 465 & inputv < 558) {

   digitalWrite(2, HIGH);

   digitalWrite(3, HIGH);

   digitalWrite(4, HIGH);

   digitalWrite(5, HIGH);

   digitalWrite(6, HIGH);

   digitalWrite(7, LOW);

   digitalWrite(8, LOW);

   digitalWrite(9, LOW);

   digitalWrite(10, LOW);

   digitalWrite(11, LOW);

 }

 if (inputv > 558 & inputv < 651) {

   digitalWrite(2, HIGH);

   digitalWrite(3, HIGH);

   digitalWrite(4, HIGH);

   digitalWrite(5, HIGH);

   digitalWrite(6, HIGH);

   digitalWrite(7, HIGH);

   digitalWrite(8, LOW);

   digitalWrite(9, LOW);

   digitalWrite(10, LOW);

   digitalWrite(11, LOW);

 }

 if (inputv > 651 & inputv < 744) {

   digitalWrite(2, HIGH);

   digitalWrite(3, HIGH);

   digitalWrite(4, HIGH);

   digitalWrite(5, HIGH);

   digitalWrite(6, HIGH);

   digitalWrite(7, HIGH);

   digitalWrite(8, HIGH);

   digitalWrite(9, LOW);

   digitalWrite(10, LOW);

   digitalWrite(11, LOW);

 }

 if (inputv > 744 & inputv < 837) {

   digitalWrite(2, HIGH);

   digitalWrite(3, HIGH);

   digitalWrite(4, HIGH);

   digitalWrite(5, HIGH);

   digitalWrite(6, HIGH);

   digitalWrite(7, HIGH);

   digitalWrite(8, HIGH);

   digitalWrite(9, HIGH);

   digitalWrite(10, LOW);

   digitalWrite(11, LOW);

 }

 if (inputv > 837 & inputv < 930) {

   digitalWrite(2, HIGH);

   digitalWrite(3, HIGH);

   digitalWrite(4, HIGH);

   digitalWrite(5, HIGH);

   digitalWrite(6, HIGH);

   digitalWrite(7, HIGH);

   digitalWrite(8, HIGH);

   digitalWrite(9, HIGH);

   digitalWrite(10, HIGH);

   digitalWrite(11, LOW);

 }

 if (inputv > 930) {

   digitalWrite(2, HIGH);

   digitalWrite(3, HIGH);

   digitalWrite(4, HIGH);

   digitalWrite(5, HIGH);

   digitalWrite(6, HIGH);

   digitalWrite(7, HIGH);

   digitalWrite(8, HIGH);

   digitalWrite(9, HIGH);

   digitalWrite(10, HIGH);

   digitalWrite(11, HIGH);

 }

}

سفارش پروژه و خرید موارد موجود در سایت

در صورتی که تمایل به انجام پروژه و یا قصد خرید موارد موجود در سایت را دارید، با استفاده از اطلاعات ذکر شده در این صفحه با ما در ارتباط باشید. توجه داشته باشید رعایت قوانین و احترام گذاشتن به شیوه ی کاری مجموعه الزامی است. چنانچه امکان انجام پروژه ی شما وجود داشته باشد بعد از ارزش یابی پروژه ی شما قیمت حدودی آن خدمت شما اعلام خواهد شد و در صورت تمایل پروژه ی شما تکمیل خواهد شد.

درمورد مدیریت مجموعه

ابوالفضل خزائی

با سلام و تشکر از بازدید شما؛ این وب سایت با هدف انتشار مطالب، دانش و تجربه ی من در زمینه های الکترونیک، کامپیوتر، مدیریت سرور، مکانیک و ماشین آلات صنعتی، کنسول های بازی و ... راه اندازی شده است. امیدوارم از مطالب آن استفاده کنید، لذت ببرید و با نظرات، انتقادات و پیشنهادات خودتان به پیشرفت آن کمک کنید. ابوالفضل خزائی

برای این مطلب نظری ثبت نشده است.

اولین نفری باشید که نظرتان را در رابطه با این موضوع اعلام می کنید.



تذکر مهم : نام و نام خانوادگی صحیح و کامل خود را به فارسی تایپ کنید.
تذکر مهم : به پیغام هایی که در نام و نام خانوادگی، آدرس ایمیل و آیدی تلگرام یا شماره واتزاپ آن ها مغایرت وجود داشته باشد پاسخ داده نخواهد شد.
تذکر مهم : پر کردن تمامی فیلد ها با اطلاعات صحیح و معتبر برای ارسال نظر/سوال اجباری است. به نظرات و سوالاتی که اطلاعات آن ها صحیح نیست پاسخ داده نخواهد شد.
تذکر مهم : در صورتی که در ثبت اولین پیغام خود قوانین سایت را رعایت نکنید، سیستم به صورت اتوماتیک پیغام های بعدی شما را حتی در صورت اصلاح اطلاعات حذف خواهد کرد.

جدیدترین نوشته های تارنما