حسگر مادون قرمز را به Raspberry Pi GPIO اضافه کنید
همانطور که همه ما می دانیم Raspberry Pi یک پلت فرم فوق العاده در حال توسعه و مبتنی بر ریز پردازنده ARM است. با قدرت محاسباتی بالا می تواند معجزه هایی را در دست علاقه مندان به الکترونیک یا دانشجویان رقم بزند.
همه اینها تنها در صورت امکان پذیر است اگر بدانیم چگونه می توانیم آن را با دنیای واقعی تعامل دهیم. حسگرهای زیادی وجود دارد که می توانند پارامترهای خاصی را از دنیای زمان واقعی تشخیص داده و به دنیای دیجیتال منتقل کنند. ما بسیاری از پروژه های Raspberry Pi را با حسگرهای زیادی پوشش داده ایم.
Raspberry Pi همچنین به عنوان یک کامپیوتر جیبی دارای Wi-Fi داخلی و دارای قابلیت های میکروکنترلر، یک مزیت برای پروژه های اینترنت اشیا محسوب می شود.
در این آموزش یاد می گیریم که چگونه می توان یک حسگر IR را با Raspberry pi ارتباط دهید. این سنسورها معمولاً در ربات های کوچکی مانند ربات پیرو خط و غیره استفاده می شود. به زبان ساده، می تواند وجود اشیا را قبل از خود تشخیص دهد و همچنین تفاوت بین رنگ سفید و سیاه را تشخیص دهد. عالی به نظر می رسد درسته؟
بنابراین بیایید یاد بگیریم که چگونه از این سنسور با Raspberry Pi استفاده کنیم. در این پروژه، وقتی شیئی در مقابل سنسور IR وجود ندارد، LED قرمز روشن باقی می ماند و به محض قرار دادن چیزی در مقابل سنسور IR ، LED قرمز خاموش و LED سبز روشن می شود. این مدار می تواند به عنوان مدار زنگ خطر نیز عمل کند.
لوازم مورد نیاز:
رزبری پای ۳ (هر مدلی)
ماژول سنسور IR
چراغ های LED سبز و قرمز
ماژول سنسور IR:
سنسورهای IR (سنسور مادون قرمز) ماژول هایی هستند که وجود اشیا قبل از خود را تشخیص می دهند. اگر جسم موجود باشد، ۳.۳ ولت به عنوان خروجی و در صورت عدم وجود ۰ ولت می دهد. این امر با استفاده از یک جفت IR (فرستنده و گیرنده) امکان پذیر است، فرستنده (IR LED) یک پرتوی IR ساطع می کند که در صورت وجود جسمی قبل از آن منعکس می شود.
این اشعه IR توسط گیرنده (Photodiode) پس گرفته می شود و پس از تقویت با استفاده از op-amp LM358، خروجی تقویت می شود
سنسور IR مورد استفاده در این پروژه در بالا نشان داده شده است. مانند تمام سنسورهای IR سه پایه دارد که به ترتیب ۵ ولت ، Gnd و Out هستند. ماژول از پایه ۵ ولت Raspberry Pi تغذیه می شود و پایه خروجی به GPIO14 برد Raspberry Pi متصل می شود. برای تنظیم برد سنسور IR می توان از پتانسیومتر بالای ماژول استفاده کرد.
شماتیک مدار و توضیحات:
شماتیک مدار اتصال Raspberry Pi با سنسور IR در زیر نشان داده شده است. همانطور که مشاهده می کنید شماتیک مدار بسیار ساده است. ماژول IR را مستقیماً از ۵ ولت و پین زمینی Raspberry Pi تأمین کرده ایم. پین خروجی ماژول IR به GPIO14 متصل است. ما همچنین از دو LED (سبز و قرمز) برای نشان دادن وضعیت جسم استفاده کرده ایم. این دو LED به ترتیب به GPIO3 و GPIO2 متصل هستند.
از آنجا که پایه های GPIO برد Raspberry Pi دارای ۳.۳ ولت است، مقاومت محدود کننده جریان اجباری نیست. اما در صورت تمایل می توان مقاومت بین ۴۷۰ اهم را بین پایه زمین LED ها و Raspberry Pi اضافه کرد. کل مدار توسط یک شارژر همراه ۵ ولت از طریق درگاه میکرو USBبرد Raspberry pi تأمین می شود.
توجه: هنگام اتصال هر سنسور، مطمئن شوید که زمین سنسور به زمین MCU یا MPU وصل شده است (در اینجا Raspberry Pi). فقط در این صورت است که آنها قادر به برقراری ارتباط خواهند بود.
برنامه نویسی به زبان پایتون:
در اینجا ما از زبان برنامه نویسی پایتون برای برنامه نویسی RPi استفاده می کنیم. روش های زیادی برای برنامه ریزی Raspberry Pi شما وجود دارد. در این آموزش ما از Python 3 IDE استفاده می کنیم، زیرا بیشترین استفاده را دارد. برنامه پایتون کامل در انتهای این آموزش آورده شده است.
ما قصد داریم فایل GPIO را از کتابخانه وارد کنیم، عملکرد زیر ما را قادر می سازد تا پایه های GPIO برد را برنامه ریزی کنیم. ما همچنین “GPIO” را به “IO” تغییر نام می دهیم، بنابراین در برنامه هر زمان که بخواهیم به پین های GPIO مراجعه کنیم از کلمه “IO” استفاده خواهیم کرد.
import RPi.GPIO as IO
بعضی اوقات ، ممکن است پین های GPIO ، که سعی داریم از آنها استفاده کنیم ، عملکردهای دیگری را نیز انجام می دهند. در این صورت ، هنگام اجرای برنامه اخطارهایی دریافت خواهیم کرد. دستور زیر به برد می گوید که هشدارها را نادیده گرفته و برنامه را ادامه دهد.
IO.setwarnings(False)
ما می توانیم پین های GPIO را، یا با شماره پین موجود در صفحه یا با توجه به تعداد عملکرد آنها ، ارجاع دهیم. مانند «پین ۲۹» روی «GPIO5» است. بنابراین ما در اینجا می گوییم یا می خواهیم پین را با “۲۹” یا “۵” نشان دهیم.
IO.setmode (IO.BCM)
ما ۳ پایه به عنوان پایه های ورودی / خروجی تنظیم می کنیم. دو پایه خروجی LED را کنترل می کنند و پایه ورودی سیگنال را از سنسور IR می خواند.
IO.setup(2,IO.OUT) #GPIO 2 -> Red LED as output IO.setup(3,IO.OUT) #GPIO 3 -> Green LED as output IO.setup(14,IO.IN) #GPIO 14 -> IR sensor as input
if(IO.input(14)==True): #object is far away IO.output(2,True) #Red led ON IO.output(3,False) # Green led OFF
به همین ترتیب ما باید LED سبز را روشن کرده و LED قرمز را هنگام نزدیک شدن جسم خاموش کنیم.
if(IO.input(14)==False): #object is near IO.output(3,True) #Green led ON IO.output(2,False) # Red led OFF
دستور زیر به عنوان حلقه بی نهایت استفاده می شود، با این دستور عبارات داخل این حلقه به طور مداوم اجرا می شوند.
While 1:
اجرای برنامه:
هنگامی که کد پایتون خود را ایجاد کردید، آن را با استفاده از دستور run اجرا کنید. همچنین وقتی هیچ شیئی در جلوی سنسور وجود ندارد، باید ببینید که چراغ LED قرمز روشن می شود.
Code:
import RPi.GPIO as IO import time IO.setwarnings(False) IO.setmode(IO.BCM) IO.setup(2,IO.OUT) #GPIO 2 -> Red LED as output IO.setup(3,IO.OUT) #GPIO 3 -> Green LED as output IO.setup(14,IO.IN) #GPIO 14 -> IR sensor as input while 1: if(IO.input(14)==True): #object is far away IO.output(2,True) #Red led ON IO.output(3,False) # Green led OFF if(IO.input(14)==False): #object is near IO.output(3,True) #Green led ON IO.output(2,False) # Red led OFF
مطالب پیشنهادی برای شما
- آموزش راه اندازی برد رزبری پای و ماژول GPS
- ارتباط سریال RS-485 بین Raspberry Pi و Arduino Uno
- معرفی Webmin برای کار با Raspberry Pi
- اندازه گیری فاصله با سنسور اولتراسونیک و Raspberry Pi
- ۸ عامل برای انتخاب یک IoT وب سرور
- تفاوت بین روتر و فایروال - مهر ۱۰, ۱۴۰۳
- مسیریابی استاتیک در ویندوز - مهر ۸, ۱۴۰۳
- پروتکل SNMP - شهریور ۱۵, ۱۴۰۳