• برچسب ها: رسپبری پای
  • 0.0/5 rating (0 votes)
  • یکشنبه, 03 مرداد 1395

برای انجام پروژه های رسپبری پای به درکی جامع از نحوه ی عملکردهای اصلی و پایه ای آن نیاز است. با کمک این آموزش قادر خواهید بود تا به رسپبری پای خود یک کلید وصل کنید. با ما همراه باشید.

رسپبری پای یک معماریARM است که برای مهندسان الکترونیک و علاقه مندان به رباتیک طراحی شده است. یکی از قابل اعتمادترین پلتفرم های توسعه یافته ای که میتوان به آن اشاره کرد، رسپبری پای است. با استفاده از پردازنده هایی با سرعت بالاتر و 1 GB RAM، رسپبری پای می تواند برای بسیاری از پروژه هایی با پروفایل بالاتر مانند پردازش تصویر و IOT مورد استفاده قرار گیرد.
برای انجام پروژه های رسپبری پای به درکی جامع از نحوه ی عملکردهای اصلی و پایه ای آن نیاز است. به همین دلیل در اینجا تمام ویژگی های اساسی رسپبری پای آموزش داده شده است. در هر یک از آموزش ها در مورد یکی از عملکرد های رسپبری پای صحبت خواهد شد. در پایان این سری آموزش ها قادر خواهید بود تا پروژه های بزرگی بسازید. قبل از شروع به کار قسمت دوم آموزش کار با رسپبری پای (تنظیمات) را مشاهده کنید.
در طراحی پروژه های رسپبری پای، برقراری ارتباط بین رسپبری پای و کاربر حائز اهمیت ویژه ای است. برای برقرار کردن این ارتباط رسپبری پای باید ورودی هایی را از کاربر دریافت کند. در این آموزش نحوه ی اتصال یک کلید به رسپبری پای برای دریافت ورودی از کاربر شرح داده شده است.
در این جا یک - کلید به یک پین GPIO و یک LED به یک پین دیگر GPIO متصل شده است. برای روشن ماندن مداوم LED با فشار کلید توسط کاربر، یک برنامه پایتون روی رسپبری پای نوشته می شود. با قطع و وصل شدن GPIO ، LED چشمک میزند.
قبل از نوشتن برنامه بهتر است کمی در مورد لینوکس و پایتون صحبت شود.

لینوکس

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

پایتون:

بر خلاف لینوکس، پایتون یک زبان برنامه نویسی مانند C ، C++ و ... است. این زبان ها برای توسعه ی نرم افزارها استفاده می شوند. به خاطر داشته باشید که زبان های برنامه نویسی روی سیستم عامل اجرا می شوند و شما نمی توانید یک زبان برنامه نویسی را بدون سیستم عامل اجرا کنید. بنابراین می توان گفت سیستم عامل مستقل است در حالیکه زبان های برنامه نویسی وابسته اند. شما میتوانید پایتون، C ، C++ و ... را روی ویندوز و لینوکس اجرا کنید. نرم افزارهای توسعه یافته با استفاده از زبان های برنامه نویسی می توانند انواع بازی ها، مرورگرها ، نرم افزارهای کاربردی و ... باشد. از زبان برنامه نویسی پایتون بر روی رسپبری پای برای طراحی پروژه ها و دستکاری پین های GPIO استفاده می شود. بهتر است کمی در مورد پین های GPIO صحبت شود.

پین های GPIO:

academy 950502 button interface to raspberry pi 02academy 950502 button interface to raspberry pi 03
همانطور که در شکل بالا نشان داده شده است، 40 پین خروجی روی رسپبری پای وجود دارد. اما وقتی به تصویر دوم نگاه می کنید، می بینید که تنها 26 پین از این 40 پین می توانند برای برنامه ریزی استفاده شوند که پین های GPIO2 تا GPIO27 هستند.
این 26 پین GPIO میتوانند بر اساس هر نیازی برنامه ریزی شوند. برخی از این پین ها علاوه بر این عملکرد خاصی نیز انجام می دهند که در آینده در مورد آن ها بحث خواهد شد. با کنار گذاشتن پین های GPIO خاص، 17 پین باقی می ماند.
هر کدام از این 17 پین حداکثر می توانند 15 میلی آمپر جریان را تحویل دهند و همچنین جمع جریان کل GPIO ها نمی تواند از 50 میلی آمپر تجاوز کند. بنابراین میتوان گفت حداکثر جریانی که میتوان برای هر پینGPIO در نظر گرفت، حدودا 3 میلی آمپر است. بنابراین نباید آنها را دستکاری کنید مگر در صورتی که دقیقا بدانید چه کار می کنید.
academy 950502 button interface to raspberry pi 04

گام اول: قطعات مورد نیاز

در اینجا از رسپبری پای مدل B با سیستم عامل Raspbian Jessie استفاده شده است. در مورد نرم افزارها و سخت افزارهای پایه ی مورد نیاز قبلا صحبت شد، می توانید به معرفی رسپبری پای مراجعه کنید.

  1. پین های اتصال
  2. مقاومت 220 اهم یا 1 کیلواهمی
  3. LED
  4. کلید
  5. بردبورد

گام دوم: توضیح مدار

academy 950502 button interface to raspberry pi 05
همانطور که در شکل نشان داده شده است می خواهیم LED ب به پین 35 ( GPIO19) و کلید به پین 37 (GPIO26) متصل شود. با توجه به گفته های قبل ، نمی توان از هر یک از این پین ها بیشتر از 15mA کشید و برای محدود کردن جریان از مقاومت 220 اهمی یا یک کیلو اهمی به صورت سری با LED استفاده می شود.

گام سوم: توضیح کار

بعد از انجام اتصالات، می توانید رسپبری پای را روشن کنید و برنامه ی پایتون را روی آن رایت کرده و اجرا کنید. برای اطلاع از نحوه ی کار پایتون اینجا را ببینید.)
بهتر است در مورد چند دستور که در زبان برنامه نویسی پایتون استفاده می شود، صحبت شود.
تابع زیر قابلیت برنامه ریزی پین های GPIO رسپبری پای را به کاربرد میدهد، در این قسمت فایل GPIO را از کتابخانه وارد (import) می کنیم. همچنین نام " GPIO " را به "IO" تغییر می دهیم، بنابراین برای اشاره به پین های GPIO از کلمه ی IO استفاده خواهیم کرد.


import RPi.GPIO as IO
 

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


IO.setwarnings(False)
 

با استفاده از شماره ی پین روی برد یا شماره ی عملکرد آنها، می توان به پین های GPIO رسپبری پای اشاره کرد. در دیاگرام پین، شما پین 37 را روی برد GPIO26 میبینید.


IO.setmode (IO.BCM)
 

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


IO.setup(26,IO.IN)
 

While 1: برای حلقه های - نامتناهی استفاده می شود. با این دستور، عبارات در داخل حلقه به صورت پیوسته اجرا خواهند شد.
بعد از اجرای کد، با هر مرتبه فشار کلید ، LED متصل شده به پین GPIO19 (پین35) چشمک می زند. به محض رها کردن کلید، LED مجددا به حالت خاموش باز میگردد.

کد:


import RPi.GPIO as IO         #we are calling header file which helps us to use GPIO’s of PI
import time                           # we are calling for time to provide delays in program
IO.setwarnings(False)          #do not show any warnings
IO.setmode (IO.BCM)         #we are programming the GPIO by BCM pin numbers. (PIN39 as ‘GPIO19’)
IO.setup(19,IO.OUT)         # initialize GPIO19 as an output.
IO.setup(26,IO.IN)               #initialize GPIO26 as input
while 1:                                       #execute loop forever
    if(IO.input(26) == False):       #if GPIO26 goes low execute the below statements
          IO.output(19,True)           # turn the LED on (making the voltage level HIGH)
        time.sleep(0.11)                 #sleep for 100m second
        IO.output(19,False)            # turn the LED off (making GPIO19 low)
        time.sleep(1)                      #sleep for 100m second
 

 

منبع : سایت circuitdigest

افزودن نظر
  • هیچ نظری یافت نشد