تور از Raspberry Pi GPIO

01 از 09

مقدمه ای بر پنجه تمشک

Raspberry Pi GPIO. ریچارد ساویل

اصطلاح GPIO (خروجی ورودی عمومی هدف) به Raspberry Pi منحصر به فرد نیست. پین های ورودی و خروجی را می توان در اکثر میکروکنترلرها مانند Arduino، Beaglebone و بیشتر یافت.

هنگامی که ما در مورد GPIO با Raspberry Pi صحبت می کنیم، ما به بلوک طولانی پین در گوشه سمت چپ هیئت مدیره اشاره می کنیم. مدل های قدیمی تر 26 پین داشتند، اما اکثر ما با استفاده از یک مدل جاری با 40 می توانیم استفاده کنیم.

شما می توانید اجزاء و سایر دستگاه های سخت افزاری را به این پین ها وصل کنید و از کنترل استفاده کنید. این بخش مهمی از Raspberry Pi و یک راه عالی برای یادگیری در مورد الکترونیک است.

پس از چند پروژه نرمافزاری، شما احتمالا خودتان را با این پینها آزمایش میکنید، مشتاقید که کد خود را با سختافزاری ترکیب کنید تا چیزها در «زندگی واقعی» اتفاق بیافتد.

این فرایند می تواند در صورت جدید بودن در صحنه وحشت زده شود و با توجه به اینکه یک حرکت غلط می تواند به Raspberry Pi شما آسیب برساند، این قابل درک است که این منطقه عصبی برای مبتدیان برای کشف است.

این مقاله توضیح می دهد که هر نوع پین GPIO و محدودیت های آن چیست.

02 از 09

GPIO

پین های GPIO شماره 1 تا 40 هستند و می توانند تحت عملکردهای مختلف گروه بندی شوند. ریچارد ساویل

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

هر پین شماره 1 تا 40 از پایین سمت چپ شروع می شود. اینها عدد پینهای فیزیکی هستند، با این حال، عبارات شماره گذاری / برچسب زدن مانند BCM وجود دارد که در هنگام نوشتن کد استفاده میشوند.

03 از 09

برق و زمین

Raspberry Pi دارای پین های قدرت و زمین می باشد. ریچارد ساویل

برجسته قرمز، پین های قدرت با 3 و 5 برای 3.3 و 5 وات است.

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

2 راننده قدرت - 3.3 ولت و 5 ولت وجود دارد. با توجه به این مقاله، راه آهن 3.3V محدود به 50mA جریان قرعه کشی، در حالی که ریل 5V می تواند هر ظرفیت فعلی را از منبع تغذیه خود را پس از Pi گرفته شده است آنچه که نیاز دارد را فراهم می کند.

قهوه ای برجسته ، پین های زمین (GND) است. این پین ها دقیقا همان چیزی است که آنها می گویند - پین های زمین - که بخش مهمی از هر پروژه الکترونیک هستند.

(پین های GPV 5V دارای شماره های فیزیکی 2 و 4 هستند. پین 3.3V GPIO شماره های فیزیکی 1 و 17. پین های زمین GPIO شماره های فیزیکی 6، 9، 14، 20، 25، 30، 34 و 39 است)

04 از 09

پین های ورودی / خروجی

پین های ورودی و خروجی به شما امکان اتصال سخت افزاری مانند حسگرها و سوئیچ ها را می دهد. ریچارد ساویل

پین های سبز چیزی است که من پین ورودی / خروجی "عمومی" نامیده می شود. این به راحتی می تواند به عنوان ورودی یا خروجی بدون هیچ گونه نگرانی در مورد برخورد با سایر توابع مانند I2C، SPI یا UART مورد استفاده قرار گیرد.

اینها پین هایی هستند که می توانند قدرت را به یک LED، زنگ و یا سایر اجزای ارسال کنند یا به عنوان یک ورودی برای خواندن سنسور ها، سوئیچ ها یا سایر دستگاه های ورودی استفاده شوند.

قدرت خروجی این پین 3.3 وات است. هر پین نباید از 16mA جریان، هر دو غرق شدن یا خریداری شود، و تمام مجموعه پین ​​GPIO نباید بیش از 50mA در هر بار تجاوز کند. این می تواند محدود کننده باشد، بنابراین شما ممکن است نیاز به خلاقیت در پروژه های خاص.

(پین های عمومی GPIO شماره های فیزیکی هستند 7، 11، 12، 13، 15، 16، 18، 22، 29، 31، 32، 33، 35، 36، 37، 38 و 40)

05 از 09

پین I2C

I2C به شما اجازه می دهد دستگاه های دیگر خود را با Pi فقط با چند پین وصل کنید. ریچارد ساویل

در زرد، ما پین I2C داریم. I2C یک پروتکل ارتباطی است که در شرایط ساده اجازه می دهد تا دستگاه ها با Raspberry Pi ارتباط برقرار کنند. این پین ها همچنین می توانند به عنوان پین GPIO عمومی استفاده شوند.

مثال خوبی از استفاده از I2C، تراشه پاورپوینت بسیار محبوب MCP23017 است که میتواند از طریق این پروتکل I2C به شما پین های ورودی / خروجی بیشتری بدهد.

(پین های I2C GPIO پین های فیزیکی 3 و 5 هستند)

06 از 09

UART (سریال) پین

اتصال به Pi خود را بیش از یک اتصال سریال با پین UART. ریچارد ساویل

در خاکستری، پین UART هستند. این پین یکی دیگر از پروتکل های ارتباطی است که اتصالات سریال را ارائه می دهد و همچنین می تواند به عنوان ورودی ها / خروجی های GPIO عمومی نیز استفاده شود.

استفاده مورد علاقه من برای UART این است که اتصال سریال از Pi به لپ تاپ من از طریق USB فعال شود. این را می توان با استفاده از تخته های افزودنی یا کابل ساده و از بین بردن نیاز به یک صفحه نمایش و یا اتصال به اینترنت برای دسترسی به Pi خود را به دست آورد.

(پین UIO GPIO پین های فیزیکی 8 و 10 هستند)

07 از 09

پین SPI

پین SPI - یکی دیگر از پروتکل ارتباطی مفید است. ریچارد ساویل

در صورتی که پین ​​SPI داریم. SPI یک اتوبوس رابط است که اطلاعات را بین Pi و سایر سخت افزار ها / لوازم جانبی می فرستد. این معمولا برای زنجیرگذاری دستگاههایی مانند ماتریس LED یا صفحه نمایش استفاده می شود.

مانند دیگران، این پین ها همچنین می توانند به عنوان ورودی / خروجی GPIO عمومی نیز استفاده شوند.

(پین SPI GPIO پین های فیزیکی 19، 21، 23، 24 و 26 است)

08 از 09

پین DNC

هیچ چیزی برای دیدن اینجا - پین DNC خدمتی به هیچ تابع. ریچارد ساویل

در نهایت، دو پین آبی هستند که در حال حاضر به عنوان DNC نامگذاری می شوند که "عدم اتصال" را نشان می دهد. اگر بنیاد Raspberry Pi تغییر تابلوها / نرم افزارها ممکن است در آینده تغییر کند.

(پین های DNC GPIO پین های فیزیکی 27 و 28 هستند)

09 از 09

کنوانسیون شماره گیری GPIO

Portsplus یک ابزار دستی برای بررسی شماره پین ​​GPIO است. ریچارد ساویل

هنگام کدگذاری با GPIO، شما می توانید وارد کنید کتابخانه GPIO را یکی از دو روش - BCM یا BOARD.

گزینه ای که ترجیح می دهم GPIO BCM است. این کنوانسیون شماره گذاری Broadcom است و من متوجه شدم که آن بیشتر در پروژه ها و افزودنی های سخت افزاری استفاده می شود.

گزینه دوم GPIO BOARD است. این روش با استفاده از تعداد پین های فیزیکی به جای آن، که مفید است هنگام شمارش پین، اما شما می توانید آن را در نمونه های پروژه کمتر استفاده می شود.

هنگام وارد کردن کتابخانه GPIO حالت GPIO تنظیم می شود:

برای وارد کردن به عنوان BCM:

وارد کردن RPi.GPIO به GPIO GPIO.setmode (GPIO.BCM)

برای وارد کردن به عنوان BOARD:

وارد کردن RPi.GPIO به GPIO GPIO.setmode (GPIO.BOARD)

هر دوی این روش ها دقیقا همان کار را انجام می دهند، این تنها مسئله شماره گذاری اولویت است.

من به طور منظم از تابلوهای برچسب دستی GPIO مانند RasPiO Portsplus (در تصویر) استفاده می کنم تا ببینم کدام پین ها سیم ها را نیز وصل می کنم. یک طرف نشان می دهد کنوانسیون شماره BCM، دیگر نشان می دهد BOARD - بنابراین شما برای هر پروژه ای که پیدا می کنید تحت پوشش است.