راه اندازی سون سگمنت با آردوینو

آموزش راه اندازی سون سگمنت با آردوینو

راه اندازی سون سگمنت با آردوینو

سون سگمنت چیست ؟ پایه های سون سگمنت

سون سگمنت ، یک نمایش دهنده هفت قسمتی هستش که از 8 دیود نوری تشکیل شده و با اعمال ولتاژ مناسب میشه اون هارو روشن کرد.

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

برای روشن کردن 8 دیود طبیعتا نیاز به هشت پایه ی دیجیتال داریم. شکل بالا سون سگمنت کاتد مشترک رو نشون میده که تمام پایه های کاتد دیود ها به هم وصل شده و به زمین وصل شدن.

در نوع آند مشترک ، آند دیود ها به هم وصل هستن و به 5 ولت ثابت وصل میشه و با صفر کردن ولتاژ کاتد هر دیود ، میشه اون رو روشن کرد.

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

برای آشنایی بیشتر با نحوه راه اندازی 7seg با آردوینو ابتدا اون رو بدون آی سی شیفت رجیستر راه اندازی میکنیم.

شماتیک:

پروژه شمارنده با سون سگمنت و آردوینو

کد:

این کد برای سون سگمنت های کاتد مشترک نوشته شده. برای اینکه برای 7seg های آند  مشترک هم استفاده کنین کافیه در متغیر seven_seg_digits بجای 0 ها یک و بجای یک ها صفر بزارین.

که اینطوری میشه:

راه اندازی سون سگمنت با آردوینو و آی سی 74595

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

آی سی 74HC595 یک مبدل سری به موازی (شیفت ریجیستر).

پایه های 74hc595

شمارنده با سون سگمنت و آردوینو

شمارنده با sevensegment و آردوینو

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

در شکل بالا، سه پایه ی دیجیتال آردوینو رو به به پایه های serialClock(11) و (12)registerClock و (14)serial تراشه 74595 وصل می کنیم.خروجی تراشه هم به سون سگمنت وصل میشه.(کد قبلی کمی پیچیده بود به همین جهت از کد ساده تری توی این پروژه استفاده میکنم)

توی کد پروژه ابتدا 3 پایه ای رو که به آردوینو وصل میشه رو نام گذاری کردیم و مقادیر هگزی که از صفر تا یک تعریف شدن طبق جدول زیر توی یک آرایه تعریف کردیم:

اگر نمیدونین حلقه for چیه : آموزش حلقه for در c

در حلقه for هم میبینیم که پایه 12 آی سی که با اسم latchpin در برنامه تعریفش کردیم پایه ی کلاکه ، یعنی باید برای دستور دادن به آی سی قبلش به اون یک کلاک بفرستیم(صفر و بعد یکش کنیم) و بین این صفر و بعد یک شدن دستور رو بفرستیم که میبینید توسط دستور digitalWrite این اتفاق افتاده و در آخر باید دستور shiftOut  رو توضیح بدم:


دستور shiftOut

ساختار کلی این دستور به شکل زیره:

datapin: پایه ای که دیتا روی اون قرار میگیره

clockpin: پایه کلاک برای انتقال داده

bitorder: وضعیت انتقال داده ها که وضعیت میگیره : MSBFIRFT یا LSBFIRST

value: داده ای که قرار است مقدار آن به خروجی ارسال بشه که اینجا مقداری از آرایه ی i هستش.


حالا اگر بخوایم یک شمارنده 4 رقمی با سون سگمنت داشته باشیم چی ؟

کاری نداره ! کافیه که تعداد حلقه های for  و دستور shiftOut رو که مقدار آرایه ی صفر تا 9 رو یکی یکی میشماره برای رقم یکان دهگان صدگان و هزارگان تکرار کنیم:(4بار)

 

توی کد میتونین ببین که 4تا حلقه For تو در تو وجود داره که آخرین حلقه فور برای شمارش یکان کاربرد داره و با هربار رسیدن اون به 9 یک رقم به دهگان اضافه میشه و با هربار 9 شدن دهگان یکی به صدگان و .. این روند تا رسیدن به رقم 9999 ادامه داره.

میتونین کد و شبیه سازی اون در محیط  پروتئوس رو از لینک زیر دریافت کنین:

دانلود پروژه

نحوه راه اندازی سون سگمنت با آردوینو رو در این مطلب با ای سی شیفت رجیستر 74HC595  یاد گرفتیم ، امیدوارم مفید بوده باشه.

موفق باشید!

حمیدرضا مودت

یک مهندس الکترونیک ، علاقه مند به یاد دادن و یاد گرفتن پیرامون دانش برق و الکترونیک

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *