راه اندازی 7 سگمنت 4 رقمی با آیسی TM1637
مقدمه
با سلام خدمت تمام شما دوستان. در این جلسه قصد داریم آموزش راه اندازی ماژول 7 سگمنت 4 رقمی رو با آردوینو یاد بگیریم. این ماژول میتونه در پروژه های مختلف برای ما کاربردهای زیادی رو داشته باشه. پیشنهاد میکنم برای فهم بهتر این مطلب ، اگه چیزی از آردوینو نمیدونید ، حتما به دوره آموزشی زیر یک نگاه بندازید:
مقدمه
معرفی ماژول:
ماژولی که ما میخوایم راه اندازی کنیم در شکل زیر آورده شده:
تعداد پایه های این ماژول با استفاده از آیسی TM1637 کاهش پیدا کرده. این ماژول دارای مشخصات زیر هست:
- تغذیه از 3.3 تا 5 ولت
- پیکربندی به صورت آند مشترک
- درایو با استفاده از آیسی TM1637
- قابلیت راه اندازی با آردوینو تنها با استفاده از 2 پایه
- ماکزیمم کلاک : 10 مگاهرتز
این ماژول دارای 4 پایه هست.2 پایه که مربوط به VCC و GND هست و دو پایه دیگه هم وجود داره. یکی با نام CLK که مربوط به کلاک سیگنال هست و دیگری DIO که مربوط به ورود و خروج اطلاعاته.
نحوه اتصال ماژول به برد آردوینو:
همان طور که گفته شد برای راه اندازی تنها به دو پایه نیازمند هستیم که این دو پایه باید دیجیتال باشن. پس از اتصال VCC و GND ، دو تا پایه CLK و DIO رو هم به دو تا پایه دیجیتال وصل میکنیم. همین !
قسمت نرم افزاری
اضافه کردن کتابخانه ماژول:
ابتدا باید کتابخانه مربوط به این آیسی رو از این لینک دانلود کنید. لینک مربوط به github این کتابخانه هم از اینجا در دسترس هست. در مرحله بعد باید این کتابخانه رو به آردوینو اضافه کنیم. ما قبلا در یک جلسه گفتیم که چطور میشه یک کتابخانه رو به آردوینو اضافه کرد.
البته برای اضافه کردن این کتابخانه تنها میشه از روش دومی که در لینک بالا آورده شده ، استفاده کرد. متاسفانه تا حالا این کتابخانه به بخش Library manager این کتابخانه افزوده نشده.
کد راه اندازی ماژول:
نمونه کد راه اندازی این ماژول بسیار ساده است. این کد در زیر آورده شده. ما در ادامه به صورت خط به خط این کد رو توضیح خواهیم داد :
#include <TM1637Display.h> const int CLK = 3; //Set the CLK pin connection to the display const int DIO = 2; //Set the DIO pin connection to the display int numCounter = 0; TM1637Display display(CLK, DIO); //set up the 4-Digit Display. void setup() { display.setBrightness(0x0a); //set the diplay to maximum brightness } void loop() { for(numCounter = 0; numCounter < 1000; numCounter++) //Iterate numCounter { display.showNumberDec(numCounter); //Display the numCounter value; delay(1000); } }
توضیح کد:
خط 1 : تعریف هدر کتابخانه TM1637
خطوط 3و 4 : تعریف دو ثابت با نام های CLK و DIO که برابر 3 و 2 قرار داده شده اند و به این معنی است که این دو پایه را میخواهیم به پایه های 3 و 2 دیجیتال متصل کنیم.
خط 6: تعریف یک متغیر با نام numCounter که میخواهیم عدد مربوط به این متغیر را روی نمایشگر نشان دهیم.
خط 12: تعیین میزان روشنایی نمایشگر روی ماکزیمم مقدار خود
خطوط 18 تا 20 : ایجاد یک حلقه for که در آن یک سری اعداد را از صفر می شمارد و تک تک آنها را روی نمایشگر نشان می دهد.
و همونطور که مشاهده میکنید ، این کد به راحتی کار میکنه و داده ها روی نمایشگر نشون داده میشن.
به پایان این جلسه رسیدیم. مثل همیشه میتونید ما رو در تلگرام و یا اینستاگرام دنبال کنید:
4 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام
دوست عریز چگونه میتوان اعداد منفی را نمایش داد .
چون که با این کتابخانه گویا نمایش نمیدهد .
با سلام.
کتابخانه دیگری که برای این ماژول وجود دارد ، کتابخانه arduino_tm1637 می باشد که با جست و جو در وب میتوانید لینک مربوط به کتابخانه آن را پیدا کنید. از مزایای این کتابخانه این است که امکان دسترسی به متدهای سطح پایین را نیز برای شما فراهم میکند و به کمک عبارات شرطی مثل if میتوانید اعداد منفی را نیز نمایش دهید.
موفق باشید.
با سلام خدمت شما،میخواستم بدونم که میشه این ماژپل رو با آردوینو هایی مثل ATtiny85 راه اندازی کرد یا نه؟
با سلام و احترام.
برای راه اندازی این ماژول صرفا به دو پایه دیجیتال نیاز داریم که ATtiny85 این دو پایه دیجیتال را دارد. علاوه بر آن تنها نکته ای که وجود دارد این است که آیا با آردوینو نیز میتوان آن را پروگرم کرد یا خیر. و از آنجا که میتوان بوت لودر آردوینو را بر روی این میکروکنترلر ریخت پس این کار را نیز میتوان انجام داد.
موفق باشید.