فهرست مطالب:

کنترل چند LED با پین های GPIO پایتون و رزبری پای شما: 4 مرحله (همراه با تصاویر)
کنترل چند LED با پین های GPIO پایتون و رزبری پای شما: 4 مرحله (همراه با تصاویر)

تصویری: کنترل چند LED با پین های GPIO پایتون و رزبری پای شما: 4 مرحله (همراه با تصاویر)

تصویری: کنترل چند LED با پین های GPIO پایتون و رزبری پای شما: 4 مرحله (همراه با تصاویر)
تصویری: Lesson A3: Calibration and Robot HAT exaplined | PICAR-X Raspberry Pi Smart Robot car by SunFounder 2024, جولای
Anonim
کنترل چند LED با پین های GPIO پایتون و رزبری پای شما
کنترل چند LED با پین های GPIO پایتون و رزبری پای شما

این دستورالعمل نشان می دهد که چگونه چندین پین GPIO را در RaspberryPi خود کنترل کنید تا 4 LED روشن شود. همچنین پارامترها و دستورات شرطی در پایتون را به شما معرفی می کند.

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

مرحله 1: آنچه شما نیاز دارید

آنچه شما نیاز خواهید داشت
آنچه شما نیاز خواهید داشت
آنچه شما نیاز خواهید داشت
آنچه شما نیاز خواهید داشت

- RaspberryPi با Raspbian قبلاً نصب شده است. همچنین باید بتوانید با استفاده از مانیتور ، ماوس و صفحه کلید یا از طریق Remote Desktop به Pi دسترسی داشته باشید. می توانید از هر مدلی از رزبری پای استفاده کنید. اگر یکی از مدل های Pi Zero را دارید ، ممکن است بخواهید چند پین هدر را به پورت GPIO بچسبانید.

- LED های قرمز ، آبی ، زرد و سبز

- یک تخته نان نمونه اولیه بدون سرب

- مقاومت 4 x 330 اهم

- برخی از سیم های جهنده نر به ماده

مرحله 2: مدار خود را بسازید

مدار خود را بسازید
مدار خود را بسازید
مدار خود را بسازید
مدار خود را بسازید

مدار فوق را روی تخته نورد خود بسازید و اطمینان حاصل کنید که هیچ یک از اجزای قطب به هم دست نمی زند و LED ها به طور صحیح به هم متصل شده اند.

چگونه می توانید سرنخ های مثبت و منفی (قطبیت) LED های خود را تشخیص دهید؟ اگر از نزدیک به LED نگاه کنید ، می بینید که دو قطعه فلزی کوچک در داخل بدنه رنگی دارد. به آنها آند و کاتد گفته می شود. کاتد بزرگترین از این دو است و همچنین به سرب منفی LED ها متصل است.

هنگامی که مدار خود را بررسی کردید ، با پیروی از نمودار بالا ، کابل های بلوز را به پین های GPIO رزبری پای خود وصل کنید.

مرحله 3: یک اسکریپت برای کنترل و آزمایش LED ها ایجاد کنید

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

در رزبری پای خود ، IDLE (منو> برنامه نویسی> پایتون 2 (IDLE)) را باز کنید.

یک پروژه جدید را باز کنید به مسیر File> New File بروید. سپس کد زیر را تایپ کنید (یا کپی و جایگذاری کنید):

RPi. GPIO را به عنوان GPIO وارد کنید

زمان وارد کردن GPIO.setmode (GPIO. BCM) GPIO.setup (17، GPIO. OUT) GPIO.setup (18، GPIO. OUT) GPIO.setup (22، GPIO. OUT) GPIO.setup (23، GPIO. OUT) GPIO.output (17 ، True) time.sleep (3) GPIO.output (17 ، False) time.sleep (1) GPIO.output (18 ، True) time.sleep (3) GPIO.output (18 ، False) time.sleep (1) GPIO.output (22 ، True) time.sleep (3) GPIO.output (22 ، False) time.sleep (1) GPIO.output (23 ، True) time.sleep (3) GPIO. خروجی (23 ، غلط)

پروژه خود را به عنوان multilights.py (فایل> ذخیره به عنوان) در پوشه Raspberry Pis Documents ذخیره کنید.

در Raspberry Pi خود ترمینال (منو> لوازم جانبی> ترمینال) را باز کنید و با تایپ موارد زیر به پوشه اسناد خود بروید:

cd/home/pi/اسناد

اکنون می توانید اسکریپت جدید خود را با تایپ موارد زیر اجرا کنید:

python multilights.py

چراغ ها به نوبه خود روشن و خاموش می شوند. اسکریپت بالا از دستور time.sleep برای ایجاد مکث بین هر مرحله استفاده می کند و باعث می شود هر چراغ 3 ثانیه روشن بماند و 1 ثانیه صبر کند تا چراغ بعدی روشن شود.

مرحله 4: افزودن انعطاف پذیری با استفاده از پارامترها و دستورات شرطی

با استفاده از پارامترها و بیانیه های شرطی می توانیم اسکریپت فوق را بسیار انعطاف پذیر کنیم.

پارامتر به شما اجازه می دهد تا مقداری را ذخیره کنید که می توانید بعداً در اسکریپت از آن استفاده کنید. متداول ترین انواع مقادیر عبارتند از رشته (متن) ، اعداد صحیح (اعداد کامل) یا شناور (اعداد اعشاری).

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

IDLE را در Raspberry Pi خود باز کنید و یک پروژه جدید (File> New File) باز کنید. سپس موارد زیر را تایپ کنید. مراقب باشید که با استفاده از کلید برگه اطمینان حاصل کنید که همه خطوط (زبانه ها) درج شده است:

RPi. GPIO را به عنوان GPIO وارد کنید

زمان واردات از sys واردات argv wholed = argv [1] ledaction = argv [2] LEDa = 17 LEDb = 18 LEDc = 22 LEDd = 23 GPIO.setmode (GPIO. BCM) GPIO.setup (LEDa، GPIO. OUT) GPIO. setmode (GPIO. BCM) GPIO.setup (LEDb، GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDc، GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDd، GPIO) OUT) if ledaction == "off": if = = "a": GPIO.output (LEDa ، False) if = = "b": GPIO.output (LEDb ، False) ifledled == "c": GPIO.output (LEDc ، False) ifledled == "d": GPIO.output (LEDd ، False) if = = "all": GPIO.output (LEDa ، False) GPIO.output (LEDb ، False) GPIO. خروجی (LEDc ، نادرست) GPIO.output (LEDd ، False) if ledaction == "on": if theledled == "a": GPIO.output (LEDa، True) if = = "b" whled: GPIO.output (LEDb ، True) ifledled == "c": GPIO.output (LEDc، True) ifledled == "d": GPIO.output (LEDd، True) if = = "all": GPIO.output (LEDa ، درست) GPIO.output (LEDb ، True) GPIO.output (LEDc ، True) GPIO.output (LEDd ، True)

پروژه خود را به عنوان controllight.py (File> Save As) در پوشه Document خود ذخیره کنید. حالا Terminal (Menu> Accessories> Terminal) را باز کرده و دستور زیر را تایپ کنید:

python controllight.py b on

LED دوم باید روشن شود. حالا موارد زیر را تایپ کنید:

python controllight.py b off

LED دوم باید خاموش شود.

در سطرهای 5 ، 6 ، 7 و 8 ، پارامترهای LEDa ، LEDb ، LEDc و LEDd را ایجاد می کنیم تا ذخیره کنیم کدام پین GPIO را به کدام LED متصل کرده ایم. این ما را قادر می سازد تا از پین های جایگزین GPIO بدون ایجاد تغییرات اساسی در اسکریپت استفاده کنیم.

به عنوان مثال ، اگر بخواهیم اولین LED های LED را به پین 3 (GPIO 2) متصل کنیم ، فقط باید خط 5 را به موارد زیر تغییر دهیم:

LEDa = 2

خط 4 مقادیری را که بعد از controllight.py وارد کرده اید در پارامترهای (c) و ledaction (روشن) ذخیره می کند. سپس اسکریپت از این پارامترها ، در کنار تعدادی بیانیه شرطی استفاده می کند تا تصمیم بگیرد که کدام LED را کنترل کند یا خاموش یا روشن شود.

خط 16 (اگر ledaction == "on") یک عبارت شرطی است. خطوط دندانه دار که در پی این بیانیه قرار می گیرند تنها در صورتی اجرا می شوند که شرط بیانیه رعایت شود. در این سناریو ، شرط این است که ledaction حاوی متن در باشد.

با خواندن سایر بیانیه های شرطی اسکریپت ، می توانید پیش بینی کنید که وقتی دستور زیر را در ترمینال تایپ می کنید ، چه اتفاقی می افتد؟

python controllight.py all on

چرا آن را امتحان نکنید و پاسخ خود را در قسمت نظرات زیر ارسال کنید.

توصیه شده: