در ARDUINO ما 20 پایه ورودی/خروجی داریم، بنابراین میتوانیم 20 پایه UNO را برای استفاده به عنوان ورودی یا خروجی برنامهریزی کنیم. اگرچه تعداد پینهای کنترلکننده ATMEGA328P بیشتر از UNO است، این به این دلیل است که هنگام طراحی برد، برخی از پینها پیشفرض هستند. اکنون برای برخی از برنامه ها به بیش از 30 پین نیاز داریم، مثلاً اگر می خواهیم یک مکعب LED 5x5x5 طراحی کنیم، بنابراین برای این کار به 5×5+5=30 پین نیاز داریم. برای چنین مواردی از تراشه های مبدل سریال به موازی یا شیفت رجیستر استفاده می کنیم. یک چیپ رجیستر شیفت داده ها را از برد UNO به صورت سریال می گیرد و خروجی را در پیکربندی موازی 8 بیتی می دهد.
اجزای مورد نیاز
سخت افزار: برد uno آردوینو، پین های اتصال، مقاومت 220Ω، LED (هشت تکه)، آی سی 74HC595، برد نان.
نرم افزار: آردوینو شبانه
نمودار مدار و توضیح کار
در اینجا ما قصد داریم داده ها را در اندازه هشت بیت از طریق یک کانال واحد ارسال کنیم تا ثبت نام تغییر کند. شیفت رجیستر داده ها را به صورت سریال می گیرد و آن داده ها را در حافظه خود ذخیره می کند. هنگامی که داده ها توسط کنترلر ارسال می شود، دستوری برای شیفت رجیستر ارسال می کنیم تا داده ها را در خروجی نشان دهد، با این دستور شیفت رجیستر داده ها را به صورت موازی قرار می دهد.
این خروجی با هشت LED متصل در خروجی نشان داده می شود.
برای اتصال شیفت رجیستر به آردوینو UNO باید دو کار انجام دهیم:
|
ابتدا باید هر سه پایه UNO را به عنوان خروجی تنظیم کنیم. سپس باید پین دیجیتال، ساعت و پین لچ را به این سه پایه خروجی وصل کنیم. پس از آن باید به UNO بگوییم کدام پایه تراشه به پین های برد UNO متصل است. این کار با نوشتن ساده در دستور " shiftOut(dataPin, clockPin, data);
" انجام می شود. داده های اینجا می توانند به صورت دودویی یا اعشاری یا هگزادسیمال باشند. اطلاعات هشت بیتی که باید ارسال شود به جای "داده" نوشته می شود.
بیشتر بخوانید: چگونه از Shift Register 74HC595 با Arduino Uno استفاده کنیم؟
در ادامه، متن انگلیسی این مطلب را میتوانید مشاهده نمایید:
In ARDUINO we have 20 I/O pins, so we can program 20 pins of UNO to be used as either input or output. Although there are more pins on ATMEGA328P controller than on UNO, this is because while designing the board some pins are defaulted. Now for some applications we need more than 30 pins, say if we want to design a 5x5x5 LED CUBE, so for this we need 5×5+5=30pins. For such cases we use serial to parallel converter chips or shift register. A shift register chip takes data from UNO board serially and gives output in 8 bit parallel configuration.
Components Required
Hardware: Arduino uno board, connecting pins, 220Ω resistor, LED (eight pieces), 74HC595 IC, bread board.