آی سی شیفت رجیستر 74HC595 ( راه اندازی با آردوینو )

آی سی شیفت رجیستر 74HC595  ( راه اندازی با آردوینو )

سلام به شما همراهان همیشگی داناساز ^.^

امیدوارم در سلامت کامل باشین ×.×

گاهی اوقات پیش میاد که می خواید تعداد زیادی ال ای دی رو با آردوینو کنترل کنید یا می خواین تعداد پایه های ورودی و خروجی رو بیشتر کنید، چون مثلاً می خواید تعداد زیادی سنسور و موتور و ال ای دی رو به آردوینو وصل کنید و پایه کم میاد.

راه حل این مشکل، استفاده از شیفت رجیستر است. شیفت رجیستر تعداد پین های ورودی و خروجی آردوینو ( یا هر میکروکنترلر دیگری ) را افزایش می دهد. یکی از معروف ترین این شیفت رجیسترها، آی سی 74HC595 است.

 

آی سی شیفت رجیستر 74HC595

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

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

پایه های آی سی شیفت رجیستر 74HC595 

GND : به پایه GND آردوینو متصل می شود.

Vcc: به پایه 5 ولت آردوینو وصل می شود.

پایه های QA تا QH: این پایه ها برای داده های خروجی هستند ( به صورت 8 بیتی ). به ازای هر بیت می توان یک ال ای دی را کنترل کرد؛ بنابراین این آی سی 8 ال ای دی را کنترل می کند.

پایه SER: این پین داده ها را یکی یکی و به صورت سریال وارد آی سی می کند.

پایه SRCLK: کلاک ورودی داده های سریال به آی سی.

پایه RCLK: کلاک خروجی ها به صورت موازی است. به ازای هر صفر ورودی، ال ای دی مربوطه خاموش و به ازای هر یک، ال ای دی مربوطه روشن می شود.

پایه SRCLR: این پایه برای ریست کردن خروجی آی سی است. در حالت عادی با این پایه کاری نداریم، اما در صورتی که خواستیم خروجی را پاک کنیم، این پایه را به GND متصل می کنیم. ( در حالت عادی به 5 ولت متصل است ).

پایه OE: این پایه برای فعال کردن خروجی آی سی است. یکی از استفاده های این پایه، اتصال به PMW و تغییر ولتاژ ال ای دی ها به منظور کم نور یا پر نور کردن آن ها است. ( برای فعال شدن خروجی آی سی به GND متصل می کنیم )

پایه ‘QH: این پایه برای اتصال به آی سی بعدی، به منظور افزایش خروجی است. ( اگر آی سی دیگری موجود نبود، به هیچ چیز متصل نمی شود )

 

برای اتصال آی سی 74HC595 به وسایل زیر نیاز داریم:

 

  • آردوینو UNO
  • آی سی 74HC595
  • 8 ال ای دی
  • 8 مقاومت ( 220 تا 560 اهمی )
  • سیم جامپر به تعداد مورد نیاز

مدار را به صورت زیر می بندیم :

پایه 11 آی سی  ( کلاک پالس ورودی ) به پایه 6 آردوینو متصل می شود.

پایه 12 آی سی  ( کلاک پالس خروجی Latch ) به پایه 5 آردوینو متصل می شود.

پایه 14 آی سی  ( ورودی سریال ) به پایه 4 آردوینو متصل می شود.

 

کد استفاده از یک شیفت رجیستر برای کنترل 8 ال ای دی به صورت زیر است:

این برنامه به این صورت است که پس از دریافت ورودی های سریال به طور کامل ( 8 بیت )، با استفاده از حلقه for هر بار یکی از این بیت ها را مد نظر قرار می دهیم.

سپس در تابع () updateshiftregister و با استفاده از دستور ()shiftOut، از سمت راست به چپ بیت ها ( از کم ارزش ترین بیت به سمت پر ارزش ترین) مقدار خروجی جابجا می شود و هر بار ال ای دی مربوطه روشن می شود.

نتیجه نهایی به شکل زیر است:

 

حال اگر بخواهیم با همین 3 پایه از آردوینو، 16 ال ای دی روشن کنیم، فقط کافی است که یک شیفت رجیستر دیگر نیز به مدار اضافه کنیم.

کلاک خروجی و ورودی هر دو رجیستر، هر کدام به یک پین آردوینو متصل می شوند ( یک پین برای دو کلاک خروجی و یک پین برای دو کلاک ورودی )، از پایه 9 شیفت رجیستر اول، به پایه 14 ( ورودی سریال) شیفت رجیستر دوم متصل می کنیم. به شکل زیر:

 

در این قسمت پایه ها را طبق مدار بالا به صورت زیر متصل می کنیم:

latchPin——> پایه 8 آردوینو

clockPin——> پایه 12 آردوینو

dataPin——> پایه 11 آردوینو

پایه 9 شیفت رجیستر اول ——> پایه 14 شیفت رجیستر دوم

کد کنترل 16 ال ای دی به کمک شیفت رجیستر را از لینک زیر دانلود کنید:

http://s7.picofile.com/file/8392280018/Shift16.ino.html

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

 

امیدوارم که از این آموزش لذت برده باشید ^.^

 

هر سوالی داشتین حتما بپرسید.

 

روز و روزگار خوش ^.*

مهندس مریم عبادی نژاد

مریم عبادی نژاد هستم . کارشناسی ارشد مهندسی برق (الکترونیک) از دانشگاه چمران اهواز . مدرس رباتیک، آردوینو و اینترنت اشیا. شاغل در حوزۀ رباتیک

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

نشانی ایمیل شما منتشر نخواهد شد.