دستگاههای الکترونیکی زیادی وجود دارند که از گذرگاه SPI یا گذرگاه رابط محیطی سریال برای ارتباطات استفاده میکنند (مانند سنسورهای مختلف، نمایشگرهای LCD، پتانسیومترهای دیجیتال، مبدلهای D/A و A/D، فرستندهها و گیرندههای بیسیم، کنترلهای حجم صدا). دستگاه ها داده ها را به صورت سریال از یک میکروکنترلر با استفاده از یک راه اندازی 3 سیم دریافت می کنند که شامل یک سیگنال انتخاب تراشه است (معمولاً با عنوان CS - زمانی که این سیگنال در منطق 0 باشد، یک تراشه تشخیص می دهد که در حال دریافت یا ارسال داده است)، یک سیگنال ساعت. برای کلاک کردن داده های سریال در دستگاه، و جریان داده های سریال خود.
بسیاری از علاقمندان از میکروکنترلرهایی مانند آردوینو برای کنترل و استفاده از دستگاه های SPI استفاده می کنند. اغلب اوقات، شما فقط می خواهید دستگاه الکترونیکی را آزمایش کنید تا مطمئن شوید که آن و مدارهای مرتبط با آن به درستی کار می کنند. این دستورالعمل به شما نشان می دهد که چگونه یک مدار برد پروتو ساده را با استفاده از Arduino Uno برای هدایت داده های SPI به یک مدار جانبی که در این مورد یک پتانسیومتر دیجیتال دستگاه های آنالوگ AD7376 است راه اندازی و برنامه ریزی کنید. این می تواند هر دستگاه SPI 8 بیتی با استفاده از این مدار باشد.
مرحله 1:
مدار را جمع کنید: برد آردوینو را روی برد پروتو در مکانی مناسب قرار دهید. سپس DIP سوئیچ ها را با تمام پایه ها در یک طرف متصل به زمین وارد کنید (این DIP سوئیچ ها 8 بیت داده را ارائه می دهند که توسط آردوینو خوانده می شود و سپس به صورت سریال به AD7376 ارسال می شود). پینهای دیجیتال 2 تا 9 آردوینو را به طرف دیگر سوئیچ DIP، یک سیم برای هر عنصر سوئیچ وصل کنید.
گام 2:
در مرحله بعد، به دیتاشیت دستگاهی که میخواهید رانندگی کنید نگاه کنید تا پینهای آن را پیدا کنید. سپس پین 13 آردوینو را به پین ساعت دستگاه های SPI، پین آردوینو 11 را به پین SDI دستگاه SPI (Serial Data In) و پایه 10 آردوینو را به CS دستگاه SPI (Chip Select) متصل کنید.
مرحله 3:
در مرحله بعد، شما باید چند پارامتر را روی عملیات SPI تنظیم کنید - اگر LSB (کمترین بیت مهم) یا MSB (مهمترین بیت) ابتدا ارسال شود، اگر داده ها در لبه بالا یا پایین ساعت به دستگاه جانبی کلاک شوند. و اگر می خواهید سرعت انتقال داده ها را با کاهش فرکانس ساعت کاهش دهید). این داده ها به خوبی در سایت آردوینو (www.arduino.cc) و در ویکی پدیا توضیح داده شده است، بنابراین در اینجا پوشش داده نخواهد شد. برای این مثال، MSB ابتدا ارسال می شود، در یک لبه افزایشی ساعت می شود.
مرحله 4:
حالا نوبت به نرم افزار می رسد. شما باید Arduino IDE (محیط توسعه یکپارچه) را از www.arduino.cc دانلود کنید. این ابزار توسعه به شما امکان می دهد کدی را بنویسید که می تواند در برد آردوینو آپلود شود و سپس اجرا شود. کد زیر را در Arduino IDE وارد کنید. به نظرات موجود در کد توجه کنید که به شما می گوید هر قسمت از کد در حال انجام چه کاری است.
/*
********************************************** ****
* تست SPI (رانندگی پتانسیومتر دیجیتال در این مورد)
*
* این ماژول از کتابخانه Arduino SPI استفاده می کند (به همراه