برد رزبری پای می تواند کنترل سیستم اتوماسیون خانگی بزرگ را بر عهده بگیرد. اما برای انجام این کار، لازم است تا توانایی روشن و خاموش کردن دستگاه های الکتریکی و چراغ ها را داشته باشد، که به معنای توانایی کنترل ایمن ولتاژ 110V است.
در این درس از سنسور تشخیص حرکت PIR که در درس 13 با نحوه راه اندازی آن آشنا شدید، به همراه یک ماژول سوئیچ قدرت برای کنترل تعدادی دستگاه، زمانی که حرکتی تشخیص داده شد، استفاده می شود.
قطعات مورد نیاز:
برای انجام این پروژه می توانید از قطعات بخش های قبل استفاده کنید، و تنها قطعه اضافی ماژول سوئیچ قدرا می باشد.
سخت افزار:
سوئیچ قدرت نوع 2، ظاهری مانند یک سیم دارد که در وسط آن یک جعبه قرار گرفته است.
نکته: در صورتی که از توان 220V استفاده می کنید، مباحث بیان شده در این آموزش برای شما کار نخواهد کرد.
جعبه مشکی در واقع یک رله حالت جامد و ایزوله شده نوری می باشد. ایزوله نوری به این معناست که هیچ اتصال الکتریکی بین ولتاژ پایین مدار سوئیچینگ و ولتاژ اصلی 100V وجود ندارد. این موضوع باعث می شود تا امنیت به طور قابل توجهی افزایش یافته و هیچ آسیب غیر منتظره ای به برد رسپبری پای شما وارد نگردد.
با توجه به اینکه میزان جریان و ولتاژ مصرفی ورودی به ترتیب 3mA و 3.3V می باشند، بنابراین می توان آن را به طور مستقیم توسط پین های خروجی برد، کنترل کرد.
اتصالات سنسور تشخیص حرکت PIR نسبت به درس سیزدهم تغییر کرده است، بنابراین به محل اتصال پین زرد دقت کنید.
سوئیچ قدرت دارای یک نشانگر LED است، که زمان روشن بودن آن را نشان می دهد.
نرم افزار:
شما لزوما احتیاجی به برد رسپبری پای برای روشن کردن سوئیچ قدرت ندارید، مثال بیان شده به راحتی می تواند برای هدف های دیگر مورد استفاده قرار گیرد. برای مثال، امکان دارد شما از مجموعه داده های دما، رطوبت، نور و شاید مقداری داده اینترنتی مربوط به وضعیت هوا برای روشن و یا خاموش کردن یک هیتر، فن و یا مرطوب کننده، استفاده کنید.
import time
import RPi.GPIO as io
io.setmode(io.BCM)
pir_pin = 24
power_pin = 23
io.setup(pir_pin, io.IN)
io.setup(power_pin, io.OUT)
io.output(power_pin, False)
while True:
if io.input(pir_pin):
print("POWER ON")
io.output(power_pin, True)
time.sleep(20);
print("POWER OFF")
io.output(power_pin, False)
time.sleep(5)
time.sleep(1)
برنامه ابتدا پین های مورد استفاده GPIO را تنظیم می کند، یکی را به عنوان ورودی برای سنسور تشخیص حرکت PIR و یکی هم به عنوان خروجی برای سوئیچ قدرت.
حلقه اصلی برنامه منتظر می ماند تا سنسور تشخیص حرکت PIR، حرکتی را تشخیص دهد، سپس پیامی را نمایش داده و سپس سوئیچ قدرت را به مدت 20 ثانیه روشن می کند و بعد از آن دوباره آن را خاموش می کند.
زمانی که خروجی روشن شد، برای جلوگیری از بازپخش فوری، به مدت 5 ثانیه صبر می کند. همچنین فقط یک تاخیر یک ثانیه ای در طول حلقه وجود دارد.
نکته: ممکن است برد رسپبری پای و سنسور تشخیص حرکت PIR به درستی با یکدیگر کار نکنند، در صورت بروز خطا مطمئن شوید که سنسور PIR در فاصله دوری نسبت به بر رسپبری پای قرار دارد.
تست و نکات نهایی:
راه های زیادی برای وارد کردن دستورات زیر در برد رسپبری پای وجود دارد. یکی از ساده ترین راه ها اتصال با استفاده از SSH می باشد که در درس ششم در مورد آن توضیح داده شد. یک پنجره ویرایشگر را با استفاده از دستور زیر باز کنید:
nano powerswitch.py
سپس کد زیر را وارد کرده و در نهایت با استفاده از CTRL-x آن را ذخیره کنید.
برای شروع کار سنسور تشخیص حرکت PIR را با چیزی بپوشانید.
برنامه را به صورت superuser با استفاده از دستور زیر اجرا کنید:
sudo python powerswitch.py
حال پوشش سنسور را بردارید، باید پیام power on را مشاهده کنید و LED کوچک بر روی سوئیچ قدرت روشن شده و بعد از 20 ثانیه خاموش می گردد. حال شما می توانید در هر وسیله الکتریکی که مد نظرتان هست را به سوئیچ قدرت متصل کنید.
کد را به گونه ای تغییر ندهید که توان را با سرعت بالا قطع و وصل کند. تعداد زیادی از قطعات از جمله لامپ ها در فرکانس های بالای سوئیچینگ آسیب می بینند.
این درس مقدمه ای را برای کنترل سیستم اتوماسیون خانگی فراهم کرده است، که می تواند به شما در انجام پروژه ها کمک کند.
این مقاله آخرین بخش از مجموعه آموزش برد رسپبری پای می باشد. امیدواریم که اطلاعات مفیدی را در اختیار شما قرار داده باشد. در ادامه کار مقالات و پروژه های مرتبط با برد رسپبری پای در سایت قرار خواهد گرفت، تا تسلط بر موضوع افزایش یابد. نظرات، پیشنهادات و انتقادات خود را برای بهتر شدن محتوای مطالب با ما در میان بگذارید...
مترجم: علیرضا حقانی | منبع: adafruit.con