تحلیل کتابخانه

تحلیل و بررسی کتابخانه SevenSegmentTM1637.h

تحلیل و بررسی کتابخانه SevenSegmentTM1637.h
نوشته شده توسط معین صابری

.نمایشگرهای سون سگمنت یکی از پرکاربردترین نمایشگرها در مدارات مختلف به شمار می روند. به کمک این نوع از نمایشگرها می توان اعدا انگلیسی و برخی حروف انگلیسی را نیز، نمایش داد. یکی از مشکلات این نمایشگرها، پایه های زیاد جهت راه اندازی است. برای حل این مشکل، ماژول نمایشگر TM1637 تنها با دو پایه و بر مبنای پروتکل I2C راه اندازی می شود. به منظور راه اندازی و کار با ماژول نمایشگر سون سگمنت TM1637، کتابخانه TM1637 توسعه داده شده که در این آموزش به بررسی آن، می پردازیم.  در ادامه با مرجع تخصصی آردوینو به زبان فارسی ، دیجی اسپارک همراه باشید.

 


نصب کتابخانه در نرم افزار آردوینو


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

اصول نصب کتابخانه در آردوینو - دیجی اسپارک

 

پس از کلیک بر روی گزینه Manage Libraries، در صفحه ظاهر شده، در قسمت کادر جستجو، عبارت TM1637 را جستجو نموده و کتابخانه مشخص شده در تصویر زیر را نصب نمایید.

 

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

 


بردهای سازگار با کتابخانه TM1637


کتابخانه TM1637 بر روی بردهای ESP8266، آردویینو UNO تست و بررسی شده است. انتظار می رود که این کتابخانه بر روی آردویینو مگا و به طور کلی بر روی کلیه بردهای آردویینو قابلیت اجرا داشته باشد. ماژول سون سگمنت TM1637 برای ارتباط با بردهای آردویینو، از دو پایه SCL و SDA تحت پروتکل I2C استفاده می نماید. البته شایان ذکر است که این ماژول ارتباط I2C را به صورت نرم افزاری برقرار کرده و بنابراین می توان پایه های دلخواهی را برای کار با این ماژول، انتخاب نمود. همچنین با کلیک بر روی این لینک، می توانید کلیه پروژه های مربوط به ماژول TM1637 را بررسی نمایید.

آموزش ساخت دماسنج و رطوبت سنج دیجیتال با -سنسور-DHT-TM1637

 


توابع کلیدی کتابخانه TM1637


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

توابع کلیدی کتابخانه TM1637 آردوینو - دیجی اسپارک

 


اجرای یک نمونه برنامه


در این قسمت به اجرای یک نمونه برنامه ساده جهت نمایش اعداد بر روی نمایشگر سون سگمنت می پردازیم. در این برنامه با تعیین پایه های دلخواه جهت ارتباط I2C، عدد ۱۲۳۴ را بر روی نمایشگر، نشان می دهیم.

#include "SevenSegmentTM1637.h"
const byte PIN_CLK = 4;   // انتخاب پایه ۴ به عنوان پایه کلاک
const byte PIN_DIO = 5;   // انتخاب پایه ۵ به عنوان پایه دیتا
SevenSegmentTM1637    display(PIN_CLK, PIN_DIO);  //به کمک این تابع یک شی به همراه توصیفی از نحوه اتصالات از کلاس سون سگمنت ساخته می شود
void setup() {
  display.begin();            // راه اندازی نمایش
  display.setBacklight(100);  // تنظیم درخشندگی و نور بک لایت بر روی ۱۰۰
};

void loop() {
  display.print("1234"); //نمایش عدد ۱۲۳۴ از چپ به راست بر روی نمایشگر
}

 


اشکالات متداول


در این قسمت به بررسی اشکالات متداول احتمالی در اجرای توابع این کتابخانه می پردازیم. شایان ذکر است که بخش اشکالات متداول، به مرور تکمیل و به راه حل ها افزوده خواهد شد. همانطور که پیشتر بیان شد، کتابخانه TM1637 توانایی نمایش ساعت و دقیق را داراست. اما ممکن است به هنگام استفاده از تابع  printTime، با خطای زیر رو به رو شوید:

'class SevenSegmentTM1637' has no member named 'printTime'

خطای فوق بیانگر عدم وجود این تابع در کتابخانه TM1637 است. در حقیقت تابع فوق، در کتابخانه توسعه یافته یا EXTENDED قرار گرفته است. برای رفع این مشکل، می بایست از کتابخانه SevenSegmentExtended.h استفاده نماییم. برنامه زیر، نحوه استفاده از این کتابخانه را نشان می دهد.

#include "SevenSegmentExtended.h"  //استفاده از کتابخانه توسعه یافته
const byte PIN_CLK = 4;   // انتخاب پایه ۴ به عنوان پایه کلاک
const byte PIN_DIO = 5;   // انتخاب پایه ۵ به عنوان پایه دیتا
SevenSegmentExtended    display(PIN_CLK, PIN_DIO);  //به کمک این تابع یک شی به همراه توصیفی از نحوه اتصالات از کلاس سون سگمنت ساخته می شود این نمونه از کتابخانه و کلاس توسعه یافته ایجاد شده
void setup() {
  display.begin();            // راه اندازی نمایش
  display.setBacklight(100);  // تنظیم درخشندگی و نور بک لایت بر روی ۱۰۰
};

void loop() {
  display.print("1234"); //نمایش عدد ۱۲۳۴ از چپ به راست بر روی نمایشگر
  display.printTime(12,36,true);
}

 


قطعات سازگار با کتابخانه


ماژول نمایشگر TM1637

کابل بردبوردی نری به مادگی

انواع آردویینو

انواع ماژول های وای فای

انواع سنسورها

 


جمع بندی


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

 

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

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه