آموزش Raspberry pi, کارگاه آموزشی

نگاهی به پین های خروجی Raspberry Pi

پین های خروجی Raspberry Pi

فهرست مطالب

GPIO یا “General Purpose Input Output Pins”  رابط اصلی بین Raspberry Pi و دستگاه ها ، سنسور ها و مدارهای دیجیتالی را تشکیل می دهد ، بدین صورت که پین های GPIO یک نقش عمومی به عنوان ورودی و خروجی و یک کارکرد اختصاصی  به عنوان  رابط I2C ، UART یا SPI دارند. در این اموزش به بررسی مختصر در مورد GPIO های  موجود در Raspberry Pi می پردازیم و اطلاعات مختصری در مورد عملکردهای هر یک  در اختیارتان قرار میدهیم.

این پین ها مستقیماً به تراشه Broadcom متصل شده است و بیشتر عملکردهای Raspberry Pi از همین پین ها ناشی می شود ، بنابراین یادگیری این اموزش بسیار ارزشمند است.زیرا Pi خود را میتوانید با یک اشتباه ساده در اتصال به پین ها، بسوزانید.

ترتیب پین های خروجی Raspberry Pi
ترتیب پین های خروجی

نحوه کنترل gpio در سیستم عامل Raspbian

GPIO ها از طریق Raspberry Pi به صورت نرم افزاری ، با استفاده از سیستم عامل استاندارد Raspbian  یا با استفاده از زبان های برنامه نویسی  C / C ++  یا Phython.  کنترل می شوند . خوشبختانه ، لینوکس (Raspbian  ) از زیر لایه های  سیستمی GPIO خود به عنوان برنامه  واسط سخت افزاری استفاده می کند ، بنابراین کاربران و برنامه  نویسان دیگر نیازی به نگرانی در مورد اشتراک گذاری GPIO بین برنامه های مختلف ندارند.

کاربرد پین های خروجی Raspberry Pi
کاربرد پین های خروجی

GPIO به چه معنی است و چگونه کار می کند؟

GPIO یا به طور خلاصه General Purpose Input Output یک رابط استاندارد برای میکروکنترلرهاست که با با ارائه ورودی / خروجی دیجیتال با دیگر قطعات الکترونیکی ، ماژول ها و غیره ارتباط برقرارمی کند برای استفاده از پین های GPIO ، پیکربندی ها به صورت نرم افزاری صورت خواهد گرفت که کتابخانه های پایتون مانند GPIOzero در دسترس هستند تا کنترل نرم افزاری انها برای همه کاربران ساده تر باشد. علاوه بر این ، برای استفاده برنامه نویسان با تجربه از انها با C ، C ++ و ، کتابخانه های GPIO مانند wiringPI نیز موجود هست.

اطلاعات کامل پین های خروجی Raspberry Pi
اطلاعات کامل پین های خروجی

GPIO در رزبری پای

اگر ااز Raspberry Pi  2 B +، ، Zero، 3 یا جدیدترین Raspberry Pi 4 Model B استفاده می کنید ، متوجه خواهید شد که برد شما دارای 40 پین GPIO است. نمونه های  قدیمی تر RPI مانند Raspberry Pi Model B ، فقط حاوی 26 پین می باشند. هر یک از پین های GPIO می تواند یا به عنوان پین ورودی / خروجی استفاده شود ، یا کاربردهای متنوع دیگری داشته باشند.

Raspberry Pi GPIO Pinout

Pin Functionality and Explanation

GPIO

GPIO pins seen above are your standard pins to be used for turning devices on and off.
E.g. When connected to an LED source

Power Pins (+)

Two 5V and two 3V3 pins are present on the board to draw power from the Raspberry Pi

I2C Pins

I2C pins are primarily used for connecting and hardware communication purposes for external modules that support such protocol.
Such I2C communication typically uses 2 pins

SPI

SPI (Serial Peripheral Interface Bus) pins share similar functionality as I2C, for hardware communication purposes
The only difference between both is that it uses a different protocol

UART

UART (Universal asynchronous receiver/trasmitter) pins are used for serial communication with other devices

DNC

DNC pins refer to pins that you shouldn’t connect, as its name (Do Not Connect) suggest

GND

GND (Ground) pins refer to pins to ground your devices.
As they are all connected in the same line, it won’t matter which GND pin you use to ground.

در زیر دیاگرام  Raspberry Pi GPIO را برای هر سه مدل مشاهده می کنید:

تمام پین ها دارای سطح منطق 3.3 ولت بوده و سطح ولتاژ 5V را تحمل نمی کنند. بنابراین میزان ولتاژ خروجی هر یک 0-3.3 ولت است و  ولتاژ ورودی نباید بیشتر از 3.3V باشد. پس اگر می خواهید یک خروجی 5 ولت را به ورودی Pi وصل کنید ، از یک انتقال دهنده سطح ولتاژ(level shifter) استفاده کنید.

level shifter و پین های خروجی Raspberry Pi
level shifter

نکته مهم

در Raspberry Pi Model 3B +  رابط UART سخت افزاری سریال UART device /dev/ttyAMA0 برای ارتباط با  بلوتوث داخلی مورد استفاده قرار گرفته است و دیگر در هدر پین های GPIO  رزبری پای نشان داده نشده است. در عوض ، یک پورت سریال جدید ” dev / ttyS0 ” که  مبتنی بر UART نرم افزاری (miniUART) می باشد، برای رزبری پای پیاده سازی شده است. این UART نرم افزاری از PARITY پشتیبانی نمی کند و برخی از کاربران با استفاده از این درگاه در سرعتهای بالاتر مشکلاتی را تجربه کرده اند. اگر به بلوتوث احتیاج ندارید ، می توانید برای استفاده دوباره از رابط سریال سخت افزاری ان را غیرفعال کنید..

شماره گذاری پین ها

دو روش برای شماره گذاری پین های GPIO روی  برد Raspberry Pi  وجود دارد:

  • اولین روش مورد استفاده از سیستم شماره گذاری BOARD است. این روش به شماره های پین موجود در هدر P1 روی برد Raspberry Pi اشاره دارد. مزیت استفاده از این سیستم شماره گذاری ان است که سخت افزار شما بدون در نظر گرفتن نوع برد RPi همیشه کار خواهد کرد. دیگر نیازی به تنظیم مجدد اتصالات خود یا تغییر کد خود ندارید.
  • دومین سیستم شماره گذاری شماره های BCM است. این روش که کمتر بین کاربران مرسوم است ، به شماره کانال های موجود در Broadcom SOC اشاره دارد. شما همیشه باید با یک دیاگرام کار کنید تا متوجه شوید کدام کانال به کدام پین روی برد RPi می رود. اگر بخواهید از کتابخانه های Scratch یا GPIO Zero یا GPIO در Python استفاده کنید ، BCM بسیار متداول تر است و از شماره گذاری ان استفاده می شود.
شماره گذاری پین های خروجی Raspberry Pi
شماره گذاری پین های خروجی

I2C، SPI و UART از کدام یک استفاده می کنید؟

 در ادامه به تفاوت های بین I2C ، SPI و UART می پردازیم ، اما اگر نمیدانید کدام یک را برای اتصال به دستگاه یا سنسور  مورد نظرتان استفاده کنید ، باید  برگه مشخصات یا دیتاشیت ان سنسور یا قطعه را بررسی کنید. به عنوان مثال ، یک صفحه نمایش LED کوچک ممکن است به پروتکل ارتباطیSPI نیاز داشته باشد و دیگری ممکن است از I2C استفاده کند .اگر مستنداتی را که همراه با محصول است معمولاً به شما می گوید که از کدام Pi pin استفاده کنید. برای Raspberry Pi 4 کاربران باید توجه داشته باشند که اکنون تعداد بیشتری پین I2C ، SPI و UART در دسترس شماست. این رابط های اضافی می توانند در دستگاه فعال  شوند .

برای اطلاعات بیشتر به این لینک مراجعه فرمایید.

برای مشاهده سایر اموزش های زربری پای، اینجا کلیک کنید!

نظرتان را درباره این مقاله بگویید 13 نظر

نگاهی به پین های خروجی Raspberry Pi

نوشته های مشابه

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

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

سیزده − 3 =