به نام خدا
آموزش پروژه محور رسپبری پای – جلسه هشتم شیفت رجیستر
در این جلسه توسط رزبری پای یک شیفت رجیستر را راه اندازی می کنیم .
تعداد پین های ورودی و خروجی برد رزبری پای محدود است و ۲۶ تا است . در بعضی از پروژه ها به تعداد پین بیشتری نیاز داریم ، برای افزایش تعداد پین ها می توانیم از آی سی های شیفت رجیستر استفاده کنیم . یک آی سی شیفت رجیستر داده ها را از برد رزبری به صورت سریال می گیرد و به صورت موازی به خروجی می دهد . شیفت رجیستر ما ۸ بیتی است پس در خورجی می تواند ۸ پین را صفر و یک کند و این ۸ بیت را به صورت سریال از برد رزبری پای دریافت کند .
آی سی مورد استفاده ما ۷۴HC595 است که ۱۶ پین دارد . در این جلسه ما از ۳ پین رزبری پای برای تبدیل به ۸ پین ورودی خروجی استفاده می کنیم .
توجه کنید که در اینجا ما می توانیم از پین های آی سی شیفت رجیستر به عنوان خروجی استفاده کنیم ، پس نمی توانیم هیچ سنسوری به این ۸ پایه وصل کنیم زیرا سنسور نیاز به پایه های ورودی دارد نه خروجی . ما در این جلسه خروجی ها را به LED وصل می کنیم .
قطعات مورد نیاز پروژه :
ما از برد رسپبری پای ۲ مدل B استفاده میکنیم ، همان طور که در جلسه های پیش گفته شد کار با این برد با برد های دیگر رسپبری پای به خصوص رسپبری پای ۳ فرق چندانی ندارد . سیستم عامل ما رسپبین میباشد . زبان برنامه نویسی ما هم پایتون میباشد .
سایر قطعاتی که نیاز داریم به شرح زیر است :
- تعدادی سیم
- مقاومت ۲۲۰ اهم یا نزدیک به آن به تعداد ۶ عدد
- ال ای دی ۸ عدد
- خازن ۰٫۰۱ میکروفاراد
- آی سی ۷۴HC595
- بردبورد
شماتیک مدار رزبری پای :
توضیح پین های آی سی شیفت رجیستر :
Pin Name |
Description |
Q0 – Q7 |
این پین ها پین های خروجی آی سی هستند که ۸ بیت دیتا به صورت موازی برای ما فراهم می کنند و ما آن ها را به LED وصل کرده ایم . |
Data Pin (DS) |
اولین داده بیت به بیت برای این پین ارسال می شود . برای ارسال ۱ این پین را پول آپ می کنیم و برای ارسال ۰ این پین را پول داون می کنیم . |
Clock Pin (SHCP) |
هر پالس در این پین رجیستر ها را مجبور می کند یک بین از پین دیتا بگیرند و آن را ذخیره کنند . |
Shift Output (STCP) |
بعد از دریافت ۸ بیت ، پالس این پایه را به منظور دیدن خروجی فراهم می کنیم . |
توضیحات برنامه :
کد های برنامه رزبری پای را از لینک زیر دانلود کنید .
دانلود فایل
در خطوط زیر ، پایه های ۴ و ۵ و ۶ را به عنوان خروجی تعریف می کنیم .
IO.setup(4,IO.OUT) IO.setup(5,IO.OUT) IO.setup(6,IO.OUT)
توسط دستور زیر ، حلقه ۸ بار تکرار می شود .
for y in range(8):
سایر خطوط برنامه هم که ساده هستش و اگه برنامه رو دانلود کرده باشید جلوی هر خط توضیحات لازم داده شده است .
پایان جلسه هشتم
دیدگاهها (0)