آموزش های کاربردیبایگانی مطالب

کنترل LED در Raspberry Pi

در این آزمایش روشن کردن LED، روشن و خاموش کردن LED، ساخت سوئیچ برای LED، تنظیم LED چشمک زن و کنترل دستی LED در رزبری پای(Raspberry Pi) را انجام خواهیم داد. همراه ما باشید

روشن کردن LED توسط Raspberry Pi

LED ها دیودهای کوچک و ظریفی هستند و اگر جریان برق وارده به آن‌ها زیاد باشد، می‌سوزند. برای محدود کردن عبور جریان الکتریکی از LED ها همیشه باید از یک قطعه مقاومت الکتریکی (resistor) استفاده کنید.

پایه طولانی LED را به پین 3V3 و پایه کوتاه را به پین GND بورد Pi وصل کنید. مقاومت مورد نیاز می تواند در حدود 50 اُهم باشد.

کنترل LED در Raspberry Pi

 

پس از وصل کردن پایه‌ها به پین‌ها LED باید روشن شود. LED همیشه روشن خواهد ماند چرا که به پین 3V3 وصل شده که همیشه روشن است.

حالا LED را به جای پین 3V3 به پین 17 وصل کنید:

کنترل LED در Raspberry Pi

 

در این حالت  LED باید خاموش شود.،  اما حالا به یک پین GPIO وصل است و به وسیله کد (Code) می‌توان آن را کنترل کرد.


روشن و خاموش کردن LED در Raspberry Pi

GPIO Zero یک کتابخانه پایتون جدید است که بسیاری از قطعات GPIO از قبل در آن تعریف شده‌اند.  این کتابخانه به صورت پیشفرض بر روی سیستم عامل RPi نصب است.

نحوه باز کردن MU

منوی Programming را باز کنید و بر روی Mu کلیک کنید.

روشن و خاموش کردن LED در Raspberry Pi

Mu را باز کنید

سپس حالتی (mode) که می‌خواهید در آن از Mu استفاده کنید را انتخاب کنید. در صورتی‌که می‌خواهید یک فایل پایتون (script) جدید ایجاد کنید، Python 3 را انتخاب کنید.

روشن و خاموش کردن LED در Raspberry Pi

 

شما می‌توانید به صورت مستقیم فرمان‌ها (command) را در REPL بنویسید و LED را خاموش و یا روشن کنید. از منو بر روی کلید REPL کلیک کنید.

ابتدا کتابخانه GPIO Zero را ایمپورت کنید و برای Pi مشخص کنید از کدام یک از پین‌های GPIO استفاده می‌کنید، در اینجا ما از پین 17 استفاده کرده‌ایم.

 In [1]: from gpiozero import LED
 In [2]: led = LED(17)

کلید Enter صفحه کلید را فشار دهید.

برای روشن کردن LED، فرمان مقابل را تایپ و کلید Enter را فشار دهید:

In [3]: led.on()

برای خاموش کردن LED، فرمان مقابل را تایپ کنید:

In [4]: led.off()

با اجرای این فرمان‌ها، LED شما باید روشن و سپس خاموش شود.


چشمک زدن LED در Raspberry Pi

به کمک کتابخانه time و یک حلقه کوچک می‌توانید کاری کنید که LED چشمک بزند.

با کلیک کردن بر روی New یک فایل جدید بسازید.

با کلیک کردن بر روی گزینه Save فایل جدید را ذخیره کنید. فایل را با نام py ذخیره کنید.

کد مقابل را وارد کنید:

from gpiozero import LED
 from time import sleep

 led = LED(17)

 while True:
    led.on()
    sleep(1)
    led.off()
    sleep(1)

فایل را ذخیره کنید و با کلیک کردن بر روی گزینه Run کد را اجرا کنید.

در این حالت LED خاموش و روشن می‌شود. برای خارج شدن از برنامه بر روی گزینه Stop کلیک کنید.


کنترل دستی LED در Raspberry Pi

اکنون می‌توانید دو برنامه‌ای که نوشته بودید را با هم ترکیب کنید و با استفاده از یک کلید، LED را کنترل کنید.

با کلیک کردن بر روی گزینه New یک فایل جدید ایجاد کنید.

با کلیک کردن بر روی گزینه Save فایل جدید را ذخیره کنید. فایل جدید را با نام gpio_control.py ذخیره کنید.

حالا کد زیر را بنویسید:

from gpiozero import LED, Button
from time import sleep

led = LED(17)
button = Button(2)

button.wait_for_press()
led.on()
sleep(3)
led.off()

برنامه را ذخیره و اجرا کنید. هر زمان که کلید را فشار دهید، LED به مدت سه ثانیه روشن می‌شود.

ساخت کلید روشن و خاموش برای LED در Raspberry Pi

به کمک یک سوییچ و با یک بار فشار دادن کلید، LED روشن می‌شود و اگر یک بار دیگر کلید را بزنید، LED خاموش می‌شود.

در گام اول باید کد را ویرایش کنید تا به شکل زیر درآید:

from gpiozero import LED, Button
from time import sleep

led = LED(17)
button = Button(2)

while True:
    button.wait_for_press()
    led.toggle()
    sleep(0.5)

() led.toggle اگر LED روشن باشد آن را خاموش و اگر خاموش باشد آن را روشن می‌کند. با توجه به اینکه این حالت در یک حلقه اتفاق می‌افتد، هر زمان که کسی کلید را فشار دهد، LED خاموش و روشن می‌شود.

اگر بتوانید کاری کنید که هر بار که کلید پایین است، LED روشن شود، عالی خواهد بود. با استفاده از کتابخانه GPIO Zero به آسانی می‌توانید این کار را انجام دهید. کلاس Button دو متد به نام‌های when_pressed و when_released دارد. این دو متد جریان برنامه را مختل نمی‌کنند، بنابراین اگر در یک حلقه اجرا شوند، برنامه کماکان به کار خود ادامه خواهد داد.

کد را ویرایش کنید تا به شکل زیر درآید:

from gpiozero import LED, Button
from signal import pause

led = LED(17)
button = Button(2)

button.when_pressed = led.on
button.when_released = led.off

pause()

برنامه را ذخیره و اجرا کنید. در این حالت، زمانی‌که کلید را بزنید LED روشن می‌شود و اگر دست‌تان را از روی کلید بردارید LED خاموش می‌شود.


این مقاله چطور بود ؟
+1
3
+1
14
+1
5
مشاهده بیشتر

محمد حسنی

علاقمند به حوزه IoT و الکترونیک. در حال حاضر به مدت یکسال است که در تیم سخت افزار سازان نام آور به تولید محتوا مشغول هستم.

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

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

دکمه بازگشت به بالا