راه اندازی چند سون سگمنت با شیفت رجیستر توسط آردوینو

کنترل لوازم الکتریکی از طریق ماژول ESP8266 بر پایه IoT
مارس 26, 2018
ارتباط سون سگمنت با atmega (قسمت اول)
ژانویه 19, 2018
نمایش همه

راه اندازی چند سون سگمنت با شیفت رجیستر توسط آردوینو

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

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

  • آردوینو Arduino UNO
  • چهار عدد سون سگمنت
  • چهار عدد شیفت رجیستر 74HC595
  • چهار عدد آی سی ULN2003A
  • یک عدد آی سی UDN2981A (در صورتی که بخواهیم روشن و خاموش شدن هر یک از سون سگمنت ها را کنترل کنیم)
  • 14 عدد مقاومت 220 اهم (به تعداد سگمنت های موجود که در این مثال 2*7 می باشد)
  • برد بورد
  • سیم

شماتیک مدار

در شماتیک زیر از سون سگمنت های آند مشترک (Common Anode) استفاده شده است همانطور که از نامش هم پیداست یعنی تمامی آندهای دیودها در این سون سگمنت مشترک هستند و برای نمایش اعداد و فعال کردن هر سگمنت باید کاتد مربوطه را زمین کرد. همچنین در شماتیک زیر از آی سی ULN2003A نیز استفاده شده است که در واقع در این مثال چون سون سگمنت های استفاده شده توان بالا هستند (4 اینچی) و اگر از سون سگمنت های کوچک استفاده شود نیازی به آی سی های ULN2003A نخواهد بود در واقع این آی سی به عنوان سینک یا زمین با قابلیت گذر جریان تا 500 میلی آمپر استفاده شده است که از پورت های میکرو برای این منظور به دلیل وجود جریان زیاد نمی توانستیم بهره ببریم. از یک آی سی UDN2981A نیز استفاده کرده ایم که برای تامین ولتاژ کاری سون سگمنت ها استفاده شده است (12V). با استفاده از خروجی های آی سی UDN2981A می توان آند هر یک از سون سگمنت ها و در واقع زمان روشن شدن آن ها را کنترل کرد و این آی سی نقش سورس را برای ما ایجاد می کند.

(سون سگمنت بالایی صرفا جهت نحوه اتصال سایر سون سگمنت ها و پین های آن ها کشیده شده است.)

آی سی ULN2003A به شکل زیر است همانطور که مشخص است این آی سی به خودی خود دارای پورت های NOT می باشد بنابراین هر گاه ولتاژ 5 ولت به هر پایه از این آی سی داده شود خروجی متناظر زمین خواهد شد. با توجه به توضیحات داده شده با وجود این آی سی برنامه نویسی برای میکرو طوری خواهد بود که با فعال شدن هر خروجی شیفت رجیستر سگمنت متناظر روشن خواهد شد. نحوه سیم کشی آی سی نیز در شماتیک فوق قابل مشاهده است. پورت COMMON به جایی وصل نخواهد بود و GND به زمین کلی مدار باید متصل گردد.

آی سی UDN2981A نیز به شکل زیر است. هر گاه به هر یک از ورودی های آی سی ولتاژ 5 ولت اعمال نماییم خروجی متناظر با ولتاژ Vs فعال خواهد شد. در شماتیک فوق نیز Vs به 12 ولت و GND به زمین اصلی متصل شده است. به دلیل اینکه در این مدار می خواهیم هر 4 سون سگمنت روشن باشند هر چهار پورت آی سی را فعال کرده ایم بنابراین می توانستیم از این آی سی استفاده نکنیم و مستقیما آند سون سگمنت ها را به 12 ولت متصل نماییم.

نحوه عملکرد شیفت رجیستر

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

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

در این برنامه دو عدد دکمه یکی برای افزایش و دیگری برای کاهش مقدار نمایش داده شده در سون سگمنت ها استفاده شده است. شروع عدد 1000 در نظر گرفته شده است.

 

این مطلب را به اشتراک بگذارید.

پاسخ دهید

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

*