سون سگمنت ها از ابزارهای مهم به عنوان نمایشگر در پروژه های مختلف به شمار می رود. به کمک سون سگمنت ها پروژه های بسیاری را می توان اجرا نمود. به عنوان مثال در ساخت دستگاه های دما و رطوبت، چراغ های راهنمایی و رانندگی و بسیاری از سیستم ها نمایشگر های سگمنت کاربرد دارند. نمایشگرهای سگمنت در راه اندازی و نمایش اعداد و یا کاراکترها، نیازمند رعایت نکات خاصی هستند. اما به کمک کتابخانه SeasySevenSegment شما می توانید به سادگی و تنها با چند تابع، به سادگی داده ها را روی نمایشگر، نمایش دهید. در این آموزش به تحلیل و بررسی این کتابخانه کاربردی می پردازیم. نخست به معرفی و بررسی مختصر نمایشگر سون سگمنت خواهیم پرداخت. در ادامه الزامات فنی کی کتابخانه EasySevenSeg را از نظر، خواهیم گذراند. در ادامه با بررسی توابع کلیدی کتابخانه، به اجرای مثالی جهت کاربرد توابع، خواهیم پرداخت. در ادامه، با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک، همراه باشید.
نمایشگر سون سگمنت
نمایشگرهای سون سکمنت از پایه ای ترین نمایشگر ها در پروژه های مختلف به شمار می روند. این نمایشگر از ۷ چراغ LED تشکیل شده است. به همین جهت این نمایشگر را نمایشگر سون سگمنت یا هفت قسمتی می شناسند. در این نمایشگر جهت تمایش اعداد یا حروف، سگمنت یا LED های خاصی روشن شوند. برای روشن تر شدن موضوع به تصویر زیر دقت کنید.
مطابق تصویر فوق، هر کدام از سگمنت ها با یک حرف انگلیسی شناخته می شوند. از ترکیب قرار گیری این سگمنت ها در کنار هم، حروف و یا اعداد انگلیسی ایجاد می گردند. به عنوان مثال برای ساخت عدد ۲، حروف A B G E D می بایست LED های متناظر با آن ها، روشن گردد. به همین ترتیب سایر ارقام ساخته می شوند. این موضوع برای حروف هم صدق می کند. توجه داشته باشید که نمایشگر سون سگمنت قادر به نمایش برخی از حروف انگلیسی است.
نمایشگرهای سون سگمنت دارای دو دسته کلی آند مشترک و یا کاتد مشترک هستند. در هر دو نوع این نمایشگرها، یک پایه مشترک وجود دارد. در مد آند مشترک، پایه مثبت همه دیود ها به هم متصل هستند. در این حالت برای روشن کردن هر سگمنت یا LED، باید پالس صفر منطقی یا ۰ ولت به سگمنت اعمال کنیم. در مقابل این موضوع، مد کاتد مشترک وجود دارد. در مد کاتد مشترک، پایه کاتد به صفر ولت متصل می شود. در حالت برای روشن کردن هر سگمنت، باید پالس یک منطقی به آن اعمال شود. پس از آشنایی با نمایشگر سون سگمنت، نوبت به دانلود کتابخانه آن می رسد. قسمت بعد مربوط به این موضوع است.
دانلود و نصب کتابخانه EasySevenSeg
جهت نصب کتابخانه، می بایست به صفحه گیت هاب آن مراجعه کنیم. برای این موضوع، لطفا روی این لینک کلیک کنید. پس از ورود به صفحه کتابخانه، روی گزینه code و سپس download zip مطابق تصویر زیر کلیک کرده و فایل کتابخانه را دانلود کنید.
پس از دانلود کتابخانه، می بایست آن را به نرم افزار آردوینو اضافه کنیم. برای این مورد، در نرم افزار آردوینو روی منوی sketch->include library->add zip file مطابق نصویر زیر کلیک کرده و کتابخانه را به نرم افزار اضافه کنید.
الزامات و نکات فنی کتابخانه EasySevenSeg
پس از بررسی نحوه نصب کتابخانه، نوبت به الزامات و نکات فنی می رسد. کتابخانه EasySevenSeg یک کتابخانه ساده جهت راه اندازی و کار با سون سگمنت های تک دیجیت است. این کتابخانه از منابع سخت افزاری استفاده زیادی نمی کند. در حقیقت این کتابخانه روال تبدیل اعداد و کاراکترها به مقادیر قابل فهم روی سون سگمنت ها را انجام می دهد. از این رو این کتابخانه برای بردهای آردوینو نظیر UNO و MEGA قابل استفاده خواهد بود.
از این کتابخانه می توان در بردهای ESP هم استفاده نمود. اما از آنجاییکه بردهای ESP، به خصوص ESP8266 پایه های GPIO محدودی دارد، لذا استفاده از سون سگمنت های تک دیجیت بدون درایور، منطقی به نظر نمی رسد. در ادامه این مطلب، به تحلیل و بررسی توابع کلیدی این کتابخانه کاربردی، می پردازیم.
تحلیل توابع کلیدی و کاربردی
پس از آشنایی با نمایشگرهای سون سگمنت، نصب کتابخانه و بررسی الزامات فنی، نوبت به تحلیل توابع کلیدی و کاربردی می رسد. جدول زیر لیست توابع را نمایش می دهد.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
در رابطه با تابع begin، این تابع اتصالات را در حالت پیش فرض در نظر می گیرد. برای در نظر گرفتن حالت پیش فرض، ابتدا به تصویر زیر دقت کنید.
در حالت پیشفرض، پایه های سون سگمنت به پایه های آردوینو مطابق جدول زیر، می بایست متصل شوند.
سون سگمنت | آردوینو |
۱ | A1 |
۲ | A2 |
۴ | A4 |
۵ | A5 |
۶ | ۶ |
۷ | ۷ |
۹ | ۹ |
۱۰ | ۱۰ |
همچنین شما می توانید به کمک تابع begin، ترتیب پایه ها را هم تعیین کنید. تابع begin دارای دو تعریف است. در حالتی که ورودی نداشته باشد(مطابق جدول تحلیل توابع)، حالت پیشفرض فوق در نظر گرفته می شود. در غیر اینصورت مطابق تعریف زیر می توانید پایه ها را خود تعیین کنید.
bool begin(int bl, int bm, int br, int d, int tr, int tm, int tl, int c);
مطابق تابع فوق، به کمک ورودی ها پایه های اتصال بین سون سگمنت و آردوینو تعیین می گردد. ورودی های فوق به شکل جدول زیر تعریف می گردند.
شماره پایه معادل سون سگمنت | ورودی |
۱ | bl |
۲ | bm |
۴ | br |
۵ | d |
۶ | tr |
۷ | tm |
۹ | tl |
۱۰ | c |
پس از بررسی موارد مربوط به کتابخانه، نوبت به اجرای یک مثال عملی می رسد. قسمت بعدی مربوط به این موضوع است.
اجرای یک نمونه برنامه
پس از بررسی توابع کلیدی و تشریح آن ها، نوبت به اجرای یک نمونه برنامه می رسد. در این برنامه اعداد و حروف روی نمایشگر به ترتیب نمایش داده می شوند.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
لوازم مورد نیاز
جمع بندی
در مجموعه آموزش های تحلیل و بررسی کتابخانه ها، این آموزش را به کتابخانه EasySevenSeg اختصاص دادیم. این کتابخانه به صورت ساده و کاربردی، امکان راه اندازی و کار با نمایشگرهای سون سگمنت تک دیجیت را فراهم می کند. نمایشگرهای سون سگمنت دارای کاربردهای فراوانی هستند. این نمایشگر به دلیل قیمت مناسب و کیفیت نور بالا، در پروژها مورد بهره قرار می گیرند. در این آموزش مطابق سایر آموزش های کتابخانه، ابتدا به معرفی نمایشگر سگمنت پرداخته شد. در ادامه نحوه نصب و الزامات فنی کتابخانه مورد بررسی قرار گرفت. در نهایت با تحلیل توابع کلیدی و کاربردی و اجرای یک نمونه برنامه، آموزش را به پایان رساندیم.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.