آموزش الکترونیکآموزش رزبری پایپروژه های رزبری پای

اتصال دکمه به برد رزبری پای و کنترل LED با پایتون (آموزش Raspberry Pi #5)

سلام. آموزش کامل اتصال دکمه به برد Raspberry pi با python را آماده کردیم.

آموزش کامل اتصال دکمه و ساخت سوئیچ با رزبری پای

در جلسه قبل سری آموزش های رزبری پای، ما به طور کامل با پین های GPIO برد رزبری پای آشنا شدیم. همچنین با استفاده از پایتون ، یک چراغ ال ای دی چشمک زن را با Raspberry pi راه اندازی کردیم. حتما قبل از خواندن این قسمت از آموزش قسمت قبل را بخوانید.

قسمت قبل : آموزش LED چشمک زن با Raspberry Pi و پایتون (آموزش رزبری پای #4)

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

در مورد پین های GPIO برد رزبری پای در قسمت قبل به طور کامل توضیح دادیم. اینجا کمی در مورد لینوکس و پایتون می آموزیم.

لینوکس چیست ؟

Linux یک سیستم عامل مانند ویندوز است و تمامی عملکرد های اساسی را که سیستم عامل ویندوز انجام میدهد را دارا است. تفاوت اصلی بین ویندوز و لینوکس این است که لینوکس یک نرم افزار متن باز است ولی ویندوز خیر. به طور کلی در لینوکس میتوانید آزادانه هر عملی را انجام بدهید و هر تغییری را ایجاد کنید. سیستم عامل لینوکس به صورت رایگان قابل دریافت است اما برای ویندوز نیازمند پرداخت مبلغی هستید.

مهم ترین تفاوت بین لینوکس و ویندوز این است که Linux را با تغییر کد میتوان اصلاح و ویرایش کرد اما ویندوز این ویژگی را در اختیار کاربر قرار نمیدهد و انجام این کار مشکل قانونی (در خارج از کشور) بوجود می آورد. بنابراین هر کسی میتواند سیستم عامل های لینوکس را دریافت کند و مطابق با نیاز خود آن را تغییر دهد. اما نمیتوان این کار را در ویندوز انجام داد.

حتما ببینید :  BLE چیست ؟ آموزش بلوتوث کم انرژی یا کم مصرف

دلیل اینکه در مورد لینوکس توضیح دادیم این است که سیستم عامل JESSIE LITE یک سیستم عامل مبتنی بر Linux است که ما از آن استفاده میکنیم.

پایتون چیست ؟

برخلاف لینوکس ، PYTHON یک زبان برنامه نویسی مانند C ، C ++ و JAVA است. این زبان ها برای توسعه برنامه ها استفاده می شوند. به یاد داشته باشید زبانهای برنامه نویسی روی سیستم عامل اجرا می شوند. شما نمی توانید یک زبان برنامه نویسی را بدون سیستم عامل اجرا کنید. بنابراین سیستم عامل مستقل است در حالی که زبانهای برنامه نویسی وابسته هستند. می توانید PYTHON ، C ، C ++ و JAVA را در لینوکس و ویندوز اجرا کنید.

برنامه های ایجاد شده توسط این زبان های برنامه نویسی می توانند بازی ، مرورگر ، برنامه و … باشند. ما از زبان برنامه نویسی PYTHON در پروژه های رزبری پای ، برای طراحی پروژه ها و کار با GPIO استفاده خواهیم کرد.

توضیحات شماتیک مدار

در اینجا ما از رزبری پای 2 مدل B با سیستم عامل Raspbian Jessie استفاده می کنیم. مقاومت 1 کیلو اهم (یا 220 اهم)، دکمه و یک ال ای دی برای این پروژه مورد نیاز هستند.

توضیحات شماتیک مدار رزبری پای

همانطور که در شماتیک بالا میبینید، ما میخواهیم یک ال ای دی را به پین 35 (GPIO19) متصل کنیم. همچنین یک دکمه را نیز به پین 37 (GPIO26) متصل میکنیم. همانطور که در قسمت قبل آموزش رزبری پای گفتیم، ما نمیتوانیم بیش از 15 میلی آمپر از هر یک از پین ها بکشیم، بنابراین برای محدود کردن جریان میتوانیم یک مقاومت 220 اهم یا 1 کیلو اهم را به صورت سری به LED متصل میکنیم.

توضیحات کد پایتون

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

ما می خواهیم پرونده GPIO را از کتابخانه وارد کنیم، عملکرد زیر ما را قادر می سازد که پین ​​های GPIO از PI را برنامه ریزی کنیم. ما همچنین “GPIO” را به “IO” تغییر می دهیم، بنابراین در برنامه هر زمان که بخواهیم به پین ​​های GPIO مراجعه کنیم ، از کلمه “IO” استفاده خواهیم کرد.

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.
حتما ببینید :  اندازه گیری جمعیت با پردازش تصویر رزبری پای و OpenCV
import RPi.GPIO as IO

گاهی اوقات، هنگامی که پین ​​های GPIO که می خواهیم از آنها استفاده کنیم، درگیر فعالیت دیگری هستند و نرم افزار به ما هشدار میدهد. کد زیر باعث میشود این هشدار ها نادیده گرفته شوند و برنامه به همین شکل اجرا شود.

IO.setwarnings(False)

ما می توانیم پین های GPIO رزبری پای یا شماره پین آن یا شماره GPIO آن ها وارد کنیم. به طور مثال پین 37 روی برد Raspberry pi، همان پین GPIO 26 است. بنابراین ما میتوانیم آن را با 26 یا 37 معرفی کنیم.

IO.setmode (IO.BCM)

ما GPIO26 (یا PIN37) را به عنوان پین ورودی تنظیم می کنیم. ما فشرده شدن دکمه توسط این پین را تشخیص خواهیم داد.

IO.setup(26,IO.IN)

while 1 را معرفی میکنیم. در این قسمت ما برنامه خود را مینویسیم تا به صورت مداوم اجرا شود. طبق این برنامه هنگامی که دکمه فشرده شود (دکمه به GND متصل است) و حریان منفی در پین 26 وجود داشته باشد، ال ای دی شروع به چشمک زدن با فاصله 0.1 ثانیه میکند.

while 1:                                       #یک دوره بی انتها
    if(IO.input(26) == False):       #اگر پین 26 منفی شد
          IO.output(19,True)           #ال ای دی را روشن کن
        time.sleep(0.1)                 #تاخیر به مدت 100 میلی ثانیه
        IO.output(19,False)            # ال ای دی را خاموش کن
        time.sleep(0.1)                      #تاخیر به مدت 1 میلی ثانیه

پس از اجرای برنامه ، هر زمان که دکمه را فشار دهید ، LED متصل به GPIO19 یا همان PIN35 چشمک می زند. و پس از رها سازی دکمه چراغ خاموش میشود.

کد کامل

در باکس زیر کد کامل این آموزش قرار داده شده است.

import RPi.GPIO as IO         
import time                       
IO.setwarnings(False)         
IO.setmode (IO.BCM)        
IO.setup(19,IO.OUT)         
IO.setup(26,IO.IN)             
while 1:                                   
    if(IO.input(26) == False):    
        IO.output(19,True)    
        time.sleep(0.11)           
        IO.output(19,False)       
        time.sleep(1)

 

فیلم عملکرد

فیلم زیر عملکرد این مدار را در انتها نشان میدهد و به شما در درک نحوه کار این مدار و کد کمک میکند.

جلسه بعد : چگونه از PWM در Raspberry Pi استفاده کنیم؟ (آموزش رزبری پای #6)

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید

محمد رحیمی

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

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

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

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