رزبری پای پایتون Python پروژه رزبری پای

بخش سوم برنامه نویسی پایتون Python با رزبری پای سنسور PIR

Python-with-raspberry-pi-PIR-motion-sensor-digispark
نوشته شده توسط پریسا پوربلورچیان

زبان برنامه نویسی پایتون Python به سرعت در حال رشد می‌باشد و جامعه کاربری فعال بسیار زیادی دارد. شابد برای تازه کارها وارد شدن به این حوزه کمی ترسناک به نظر آید. پس از بررسی‌های چند ماهه و نظر سنجی بین اسپارکرها به این نتیجه رسیدیم که آموزش‌های پروژه محور روند یادگیری را افزایش داده و منجر به یادگیری در لحظه و عدم فراموشی کدها خواهد شد. برای شروع پایتون Python فقط به برد رزبری پای Raspberry pi نیاز دارید. در ادامه با مرجع تخصصی رزبری پای به زبان فارسی، دیجی اسپارک همراه باشید.

 


آغاز پایتون Python


دو روش جهت دسترسی به محیط برنامه نویسی پایتون خواهیم داشت:

 

  • روش اول: اگر علاقه به کد نویسی و آشنایی با محیط Terminal دارید، روش اول را تست کنید. برای اینکار از منو رزبری پای Terminal را باز کنید.
sudo idle

 

همانند تصویر زیر کامند sudo idle را در ترمینال وارد کرده و سپس Enter را بزنید. پس از آن نرم افزار python برای شما باز می‌گردد.

 

 

  • روش دوم: از منو رزبری پای، وارد Programming شده و سپس یکی از دو‌ ورژن Python را انتخاب کنید.

 


اتصالات سنسور PIR رزبری پای


در این آموزش از سنسور تشخیص حرکت یا همان PIR استفاده می‌کنیم. دو مدل پرمصرف سنسور PIR موجود است که بنا بر نیاز پروژه انتخاب می‌گردند. ماژول PIR به ترتیب دارای ۳ پایه VCC, OUT, GND است.

  • پایه OUT سنسور تشخیص حرکت PIR را به دلخواه به یکی از پایه های GPIO اتصال دهید. ( در این آموزش از GPIO 4 استفاده شده است)
  • پایه – سنسور تشخیص حرکت PIR را به یکی از پایه های GND رزبری پای اتصال دهید.
  • پایه + سنسور تشخیص حرکت PIR را به یکی از پایه های ۵ ولت رزبری پای اتصال دهید.

 


کدنویسی PIR در محیط Python


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

 

  • import GPIO

همانطورکه در بخش ۱ و بخش ۲ گفته شد، جهت فراخوانی کتابخانه و ماژول از import استفاده می‌کنیم. در این آموزش از ماژول GPIO استفاده می‌شود و نحوه ی فراخوانی آن به صورت زیر است:

import RPi.GPIO as GPIO

 

  • import time

پایتون یک ماژول کاربردی به نام time را معرفی کرده است، که این ماژول امکان کنترل زمان در موقعیت های مختلف را برای ما فراهم می‌کند و به صورت زیر فراخوانی می‌شود:

import time

 

  • GPIO.setmode

توسط این دستور پین gpio و نوع اتصال آن مشخص شود. در این قسمت از شماره پین های bcm استفاده می‌کنیم. نحوه‎‌ی فراخوانی به صورت زیر است:

GPIO.setmode(GPIO.BCM)

 

  • انتخاب پایه GPIO

در این مرحله پایه سیگنال سنسور را به یک GPIO نسبت می‌دهیم:

pirpin=4

 

  • GPIO.setmode

توسط این دستور پین مورد نظر را به عنوان ورودی تنظیم می‌کنیم:

GPIO.setup(pirpin, GPIO.IN)

 

آموزش پایتون با رزبری پای سنسور PIR - دیچی اسپارک

 

  • print

توسط این تابع محتوای مرود نظر در محیط اجرای برنامه نویسی پایتون نوشته می‌شود:

 

print "run"
print"sense"
print"done"

 

دستور Try except

در بخش دوم به معرفی این تابع پرداخته شد. توسط این تابع امکان تست برنامه وجود دارد.

try:
test some code

except KeyboardInterrupt:
test other code

 

دستور while True:

توسط این دستور تا زمانیکه دستورات یک شرط صحیح باشد، در این تابع اجرا می‌گردد.

 


کدنویسی به زبان پایتون Python


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

  • وارد محیط پایتون شده و ctrl + N را کلیک کنید تا پنجره جدید باز گردد.
  • سپس کدهای پایتون را به ترتیب زیر وارد کنید.
  • از منو FILE برنامه نوشته شده را SAVE کنیدو یا از CTRL + S استفاده کنید.

 

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
pirpin=4
GPIO.setup(pirpin, GPIO.IN)

try:
    print"test pir"
    time.sleep(2)
    print"run"
    while True:
        if GPIO.input(pirpin):
            print"sense"
            time.sleep(1)

except KeyboardInterrupt:
    print "done"
    GPIO.cleanup()

 

 


RUN Module اجرای پروژه


در این مرحله پس از ذخیره کدها با پسوند .py نوبت به اجرای پروژه می‌رسد. از منو پایتون بر روی RUN کلیک کنید و گزینه RUN Module را انتخاب کنید. سپس در صفحه باز شده سنسور در صورت فعال شدن، عبارات نوشته شده در کدها را نمایش می‌دهد:

test pir
run
sense
done

 


وسایل مورد نیاز


رزبری پای Raspberrypi

سنسور تشخیص حرکت PIR

 


دیگر آموزش‌های مرتبط با سنسور PIR


معرفی سنسور PIR چگونگی کار و آموزش راه اندازی با برد آردوینو

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

طراحی و پیاده سازی سنسور راه پله هوشمند بدون آردوینو و برنامه نویسی

طراحی و پیاده سازی سیستم هشدار قطعی برق آسانسور در زمان حضور انسان

پروژه‌ی سیستم تشخیص حرکت انسان با میکروپایتون و رزبری پای پیکو

آموزش ساخت دوربین مخفی امنیتی با برد ESP32-Cam و سنسور PIR

طراحی و پیاده سازی سیستم خوش آمدگویی به کمک آردوینو و DFPLAYER

 

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

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۶ دیدگاه

  • سلام خانم بلورچیان
    آیا امکان اتصال ال ای دی برای نمایش فعال شدن سنسور به این کد وجود دارد
    اگر دارد چگونه لطفا راهنمایی کنید

  • با سلام
    من یک برنامه ای رو با پایتون اجرا میکنم اما موقع اجرا خطای tensorflow.contrib رو میده. کتابخانه tensorflow رو هم نصب کردم اما باز هم همین مشکل رو دارم. ممنون میشم راهنماییم کنید چکاری باید انجام بدم. متشکرم.

    • با سلام
      در این خصوص ممکن است ورژن ها متفاوت باشد.
      در ابتدا توسط دستور زیر tensorflow را حذف کنید:
      pip uninstall tensorflow
      سپس با دستور زیر مجدد نصب کنید.
      pip install tensorflow==1.13.2

  • با عرض سلام
    می خواستم پبرسم که بیشتر پروژه هایی که با رزبری پای مدل ۳ انجام میدهید میشه با رزبری پای مدل ۲ هم انجام داد؟