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

راه اندازی سنسور مادون قرمز با رزبری پای (آموزش Raspberry pi #16)

سلام. راه اندازی سنسور مادون قرمز با رزبری پای (آموزش Raspberry pi #16) را آماده کردیم.

استفاده از سنسور IR با Raspberry pi

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

راه اندازی سنسور مادون قرمز با رزبری پای

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

قسمت قبل : برنامه نویسی جوی استیک با رزبری پای و پایتون (آموزش Raspberry Pi #15)

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

سنسور مادون قرمز چیست و چگونه کار میکند؟

سنسور IR در اصل از یک LED مادون قرمز و یک فتودیود تشکیل شده است، این دو معمولاً به عنوان جفت IR نامیده می شود. سنسور IR بر روی اصلی کار می کند که در آن LED اشعه مادون قرمز را تابش می کند و فتودیود آن را دریافت میکند.. مقاومت Photodiode با توجه به میزان تابش IR که بر روی آن می افتد تغییر می کند، از این رو افت ولتاژ در آن نیز تغییر می کند و با استفاده از مقایسه کننده های ولتاژ (مانند LM358) می توانیم تغییر ولتاژ را حس کنیم و براساس آن خروجی تولید کنیم.

سنسور مادون قرمز چیست و چگونه کار میکند؟

قرار دادن IR LED و Photodiode به دو روش مستقیم و غیرمستقیم قابل انجام است.

روش مستقیم استفاده از سنسور مادون قرمز

در روش مستقیم ، چراغ IR و فتودودیود در مقابل یکدیگر قرار می گیرند، به طوری که اشعه IR می تواند مستقیماً بر روی فتودودیود قرار گیرد. اگر هر شیئی را بین آنها قرار دهیم ، آنگاه تابش نور IR بر روی فتو دیود متوقف می شود.

روش غیر مستقیم استفاده از سنسور مادون قرمز

در روش غیر مستقیم ، هر دو دیود IR و Photo به طور موازی (کنار هم) قرار می گیرند ، و هر دو در یک جهت قرار دارند. در این روش ، هنگامی که یک جسم در مقابل جفت IR نگه داشته می شود، نور IR توسط جسم منعکس می شود و توسط فتو دیود جذب می شود. توجه داشته باشید که شیء نباید سیاه باشد زیرا به جای بازتاب، تمام نور IR را جذب می کند.

حتما ببینید :  آموزش استفاده از Digital Read/Write در لانچ پد MP430GT

توضیحات کامل در مورد سنسور های مادون قرمز در : سنسور مادون قرمز چگونه کار میکند ؟ آموزش کامل راه اندازی حسگر IR

سنسور مادون قرمز در این پروژه مانند همه سنسور های مادون قرمز دارای 3 پین به نام های 5v, GND, Out است.  این ماژول توسط پین 5 ولت رزبری پای تغذیه میشود و پین Out به پین GPIO 14 رزبری پای متصل میشود. پتانسیومتر بالای ماژول برای تنظیم میزان حساسیت و دامنه سنسور استفاده میشود.

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.

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

شماتیک پروژه راه اندازی سنسور مادون قرمز با Raspberry pi در تصویر زیر نشان داده شده است. همانطور که میبنید مدار پروژه بسیار ساده است. ما برای تغذیه حسگر IR به طور مستقیم از 5 ولت و GND رزبری پای استفاده کرده ایم و همانطور که گفته شد پین خروجی ماژول به پین GPIO 14 متصل میشود. همچنین از دو ال ای دی برای نمایش وضعیت سنسور استفاده کرده ایم که این دو LED به ترتیب به GPIO3 و GPIO2 وصل شده اند.

استفاده از سنسور IR با Raspberry pi

از آنجا که پین ​​های GPIO رزبری پای 3.3 ولت هستند ، اضافه کردن مقاومت محدود کننده فعلی الزامی نیست. با این وجود در صورت تمایل می توانید یک مقاومت با ارزش 470 اهم بین پین GND ال ای دی ها و Raspberry Pi اضافه کنید. این مدار توسط یک شارژر موبایل 5 ولت از طریق درگاه میکرو USB Raspberry pi تغذیه می شود.

توجه: هنگام اتصال هر سنسور ، اطمینان حاصل کنید که GND سنسور به GND برد یا میکروکنترلر وصل شده باشد. در غیر اینصورت کار نخواهد کرد.

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

  1. رزبری پای 3 یا هر مدل دیگر
  2. ماژول سنسور مادون قرمز
  3. چراغ های LED سبز و قرمز

کد پایتون برای سنسور مادون قرمز

وقتی همه چیز را مانند شماتیک مدار متصل کردید، می توانیم Raspberry Pi را روشن کنیم تا برنامه را در پایتون (PYHTON) بنویسیم. کد کامل در انتهای صفحه قرار داده شده است. در اینجا در مورد قسمت های مهم کد صحبت میکنیم.

حتما ببینید :  ارسال و دریافت SMS با میکروکنترلر STM32 و ماژول Sim800

کد پایتون برای سنسور مادون قرمز

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

import RPi.GPIO as IO

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

IO.setwarnings(False)

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

IO.setmode (IO.BCM)

ما 3 پین را به عنوان پین های ورودی / خروجی تنظیم می کنیم. دو پین خروجی LED را کنترل می کنند و پین ورودی سیگنال را از سنسور IR می خواند.

IO.setup(2,IO.OUT) #GPIO 2 -> پین ال ای دی قرمز به عنوان خروجی
IO.setup(3,IO.OUT) #GPIO 3 -> پین ال ای دی سبز به عنوان خروجی
IO.setup(14,IO.IN) #GPIO 14 -> پین سنسور مادون قرمز به عنوان ورودی

حالا باید LED سبز را خاموش کنیم و وقتی چیزی جلوی سنسور نبود، چراغ قرمز را روشن کنیم. این کار را می توان با چک کردن پین GPIO14 انجام داد.

    if(IO.input(14)==True): #وقتی چیزی جلوی سنسور نیست
        IO.output(2,True) #روشن کردن ال ای دی قرمز
        IO.output(3,False) #خاموش کردن ال ای دی سبز

به همین ترتیب هنگامی که چیزی جلوی سنسور مادون قرمز باشد، ال ای دی سبز را روشن میکنیم و ال ای دی قرمز را خاموش میکنیم.

  if(IO.input(14)==False): #وقتی چیزی جلوی سنسور هست
        IO.output(3,True) #روشن کردن ال ای دی سبز
        IO.output(2,False) #خاموش کردن ال ای دی قرمز

دستورات موجود در While 1 به صورت مداوم اجرا میشوند.

While 1:

کد کامل پروژه

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

import RPi.GPIO as IO
import time
IO.setwarnings(False)
IO.setmode(IO.BCM)
IO.setup(2,IO.OUT)
IO.setup(3,IO.OUT)
IO.setup(14,IO.IN)
while 1:
    if(IO.input(14)==True): 
        IO.output(2,True)
        IO.output(3,False) 
    
    if(IO.input(14)==False):
        IO.output(3,True)
        IO.output(2,False)

فیلم عملکرد پروژه

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

قسمت بعد : بزودی …

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

محمد رحیمی

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

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

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

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