آموزش رزبری پای

آشنایی و استفاده از GPIO ها در رزبری پای زیرو Zero

در آموزش قبلی ما درباره شروع کار با RASPBERRY PI ZERO ، ما یک نمای کلی از Raspberry Pi zero W و راه اندازی آن داشتیم. در این آموزش ما قصد داریم یک مدار ساده LED را طراحی کرده و با اتصال مدار به پین ​​های GPIO آن را با Raspberry Pi Zero W کنترل کنیم. بنابراین اجازه دهید اصول پایه های GPIO (خروجی ورودی عمومی) را مورد بحث قرار دهیم و نحوه شروع کار با محاسبات فیزیکی و GPIO با استفاده از برنامه نویسی پایتون را بیاموزیم.

پین های GPIO چیست؟

GPIO (خروجی ورودی با هدف عمومی – General Purpose Input Output) یک رابط استاندارد برای ورودی و خروجی دیجیتال است که در میکروکنترلر ها و SBC ها یافت می شود. این دستگاه ها قادر به کنترل اجزای خارجی مانند روتورها و فرستنده های IR (خروجی) و همچنین دریافت داده ها از ماژول های حسگر و سوئیچ ها هستند. در اصل ، GPIO به Raspberry Pi ما اجازه می دهد تا با طیف گسترده ای از اجزای خارجی ارتباط برقرار کند ، و این امر برای پروژه های مختلف از ایستگاه هواشناسی تا یک ربات خودران مفید است. تنظیمات نرم افزاری برای کارکرد پین های GPIO ضروری خواهد بود.

پین های GPIO چیست؟

قابلیت GPIO های Raspberry Pi Zero W

قابلیت GPIO های Raspberry Pi Zero W

برای یادگیری آردوینو (برنامه نویسی، ساخت ربات، ارتباط با اندروید) روی دوره آموزش آردوینو کلیک کنید.
برای یادگیری کامل الکترونیک روی دوره آموزش الکترونیک کلیک کنید.

پین های GPIO پین هایی هستند که می توانند برای روشن و خاموش کردن دستگاه های خارجی مانند LED ها استفاده شوند. هدر GPIO در رزبری پای شما دارای 40 پین GPIO است. در Raspberry Pi Zero W ، پین های 1 و 17 برق 3.3 ولت تغذیه می کنند. پایه های 2 و 4 برق 5 ولت تغذیه می کنند ، در حالی که پایه های 9 ، 25 ، 39 ، 6 ، 14 ، 20 ، 30 و 34 همه به زمین GND متصل شده اند. در اینجا می توانید لیستی از همه 40 پین Raspberry Pi Zero W و اتصال آنها به Raspberry Pi zero را مشاهده کنید. پین های باقی مانده عملکردهای متفاوتی دارند. هر پین روی هدر 40 پین هدف خاصی دارد. در جدول زیر ، دسته های مختلف شرح داده شده است.

  • Power – پین های قدرت 5 ولت و 3.3 ولت برای دادن توان 5 ولت و 3.3 ولت به ماژول خارجی استفاده می شود.
  • UART – برای ارتباط سریال ، از پین های UART (گیرنده/فرستنده) استفاده می شود.
  • I2C – پین های I2C برای اتصال و ارتباط با ماژول های خارجی سازگار با I2C استفاده می شود.
  • SPI – ارتباط سخت افزار نیز از طریق پین های SPI (Serial Peripheral Interface Bus) انجام می شود ، اگرچه با پروتکلی متفاوت.
  • GND – پین های GND (Ground) پین هایی در مدار های شما هستند که اتصال الکتریکی را ارائه می دهند.

در آموزش های آینده Raspberry Pi zero W ، با این توابع اختصاصی بیشتر آشنا می شوید. در تصویر زیر ، برخی از توابع مهم که به پین ها ​​اختصاص داده شده است را مشاهده می کنید.

واحد های مختلف رزبری پای زیرو Zeroمدار ال ای دی چشمک زن با رزبری پای زیرو

در اینجا ، ما قصد داریم دو LED را با استفاده از پین های GPIO چشمک زن کنیم. ساده ترین ارتباطی که می توانید با GPIO (خروجی ورودی عمومی) در Raspberry Pi zero w برقرار کنید اتصال به پین ​​است تا بتوانید یک ولتاژ خروجی دیجیتال ساده ارسال کنید. این کار را با روشن کردن یک LED با پین های GPIO IO انجام می دهید. برای تکمیل پروژه به سخت افزار های زیر نیاز دارید:

در تصویر زیر می توانید شماتیک مدار LED چشمک زن را مشاهده کنید.

پروژه ال ای دی چشمک زن با رزبری پای زیرو

در اینجا ، ما دو LED داریم ، پایانه مثبت LED قرمز با GPIO 27 (پین 13) و پایانه مثبت LED زرد با GPIO 22 (پین 15) و پایانه منفی هر دو LED به پین ​​زمین (GND) متصل است. ما از دو مقاومت 220 اهم برای افت ولتاژ در ترمینال مثبت LED استفاده کرده ایم. در تصویر زیر می توانید اتصال سخت افزاری واقعی را مشاهده کنید.

تصویر واقعی اتصالات پروژه چشمک زن LED

توضیح کد برای چشمک زدن LED با استفاده از Pi zero W

در اینجا ، ما قصد داریم تمام کد ها را خط به خط توضیح دهیم. ابتدا باید Raspberry Pi Zero را راه اندازی کنید. سپس باید وارد شوید و پنجره ترمینال را باز کنید. اکنون ، باید نسخه بسته Raspberry Pi را با استفاده از دستور زیر به روز کنید.

sudo apt-get update

شما باید بسته RPi.GPIO را نصب کنید. این بسته برای دسترسی به پایه های GPIO رزبری پای زیرو W ضروری است. شما می توانید با استفاده از دستور زیر این بسته را در رزبری پای نصب کنید.

sudo apt-get install rpi.gpio

اکنون می توانید کد پایتون را برای چشمک زدن LED در پنجره ترمینال بنویسید.

  • #!/user/bin/python – این خط به شما امکان می دهد این کد را بدون تایپ کردن Python قبل از نام فایل اجرا کنید
  • import RPi.GPIO as io – با این کار می توانید کتابخانه RPi.GPIO را وارد کنید و به شما این امکان را می دهد که پین ​​های GPIO را کنترل کنید.
  • import time – چندین توابع مبتنی بر زمان در کتابخانه time موجود است. در این حالت ، از آن برای متوقف کردن کد برای چند ثانیه استفاده خواهید کرد.
  • io.setmode(io.BCM)- این حالت مشخصات پین های GPIO را به شماره کانال Broadcom SOC (BCM) تغییر می دهد. این بدان معناست که به جای تعیین شماره فیزیکی پین ، از شماره GPIO برای پین هایی که می خواهید کنترل کنید استفاده می کنید.
  • led1 = 27 – مقدار 27 را به متغیر led1 تنظیم می کند.
  • led2 = 22 – مقدار 22 را به متغیر led2 تنظیم می کند.
  • io.setup (led1، io.OUT) – پین GPIO 27 اکنون به یک کنترل خروجی پیکربندی شده است.
  • io.setup (led2، io.OUT) -پین GPIO 22 اکنون به یک کنترل خروجی پیکربندی شده است.
  • while 1 – این شما را در یک حلقه بی پایان قرار میدهد. برای متوقف کردن کد ، Ctrl + C را در صفحه کلید خود فشار دهید.
  • io.output (led1 ، True) – در led1 ، این یک سیگنال 3.3 ولت را ارائه می دهد (این GPIO 27 است)
  • io.output(led2, True) – در led2 ، یک سیگنال 3.3 ولت در نتیجه این تولید می شود (این GPIO 22 است).
  • time.sleep(1) – این امر باعث توقف یک ثانیه ای برنامه می شود.
  • io.output(led1, False) -در led1 (GPIO 27) ، این کد 0 ولت تولید می کند.
  • io.output(led2, False) – در led2 (GPIO 22) ، این کد 0 ولت تولید می کند.
  • time.sleep(1) – این باعث توقف یک ثانیه ای در برنامه می شود.

کد کامل:

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید
#!/user/bin/python
import RPi.GPIO as io
import time
io.setmode(io.BCM)
led1 = 27
led2 = 22
io.setup(led1, io.OUT)
io.setup(led2, io.OUT)
while 1
io.output(led1, True)
time.sleep(1)
io.output(led1, False)
io.output(led2, True)
time.sleep(1)
io.output(led2, False)
time.sleep(1)

برنامه را led.py ذخیره کرده و python led.py را تایپ کنید تا برنامه در پنجره ترمینال اجرا شود. اکنون ، خواهید دید که دو LED در فواصل یک ثانیه ای شروع به چشمک زدن می کنند. در اینجا می توانید فیلم چشمک زدن LED را مشاهده کنید.

به این ترتیب می توانید LED را با استفاده از Raspberry Pi zero W چشمک زن کنید. این یک راهنمای اساسی برای شروع کار برای درک پین های GPIO بود. در آموزش های بعدی ما ، قصد داریم سنسورهای مختلف دوربین و نمایشگر LCD را با رزبری پای Zero راه اندازی کنیم. امیدوارم از پروژه لذت برده باشید و چیزهای مفیدی را آموخته باشید.

5/5 - (1 امتیاز)

برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید.

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام آیرنکس را دنبال کنید.

تصویر از محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید) سعی میکنم تمام نظرات را پاسخ دهم.

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

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