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

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

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

راه اندازی سنسور وزن با Raspberry pi

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

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

ماژول سنسور وزن Load Cell و HX711

Load Cell مبدل است که نیرو یا فشار را به خروجی الکتریکی تبدیل می کند. بزرگی این خروجی الکتریکی به طور مستقیم با نیرویی که اعمال می شود متناسب است. مقاومت مؤثر این سنسور ها در اثر افزایش فشار و نیروی وارده تغییر می کند. سلول بار (Load Cell) در محدوده های مختلفی از قبیل 5 کیلوگرم ، 10 کیلوگرم ، 100 کیلوگرم و … وجود دار ، در اینجا ما برای تست پروژه از یک لودسل با قابلیت وزن 40 کیلو گرم استفاده میکنیم.

تصویر یک Load cell لود سل

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

لودسل با استفاده از چهار سیم به HX711 متصل میشود.

ماژول سنسور وزن HX711

  • سیم قرمز به E + وصل شده است
  • سیم سیاه به E وصل شده است
  • سیم سفید به A- وصل شده است
  • سیم سبز یا آبی به A + وصل شده است

نحوه اتصال لودسل به HX711

فیکس کردن سطح و لودسل

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

حتما ببینید :  پروژه کنترل سروو موتور با STM32 + آموزش

راه اندازی سنسور وزن با Raspberry pi

توضیحات مدار

مدار پروژه درب اتوماتیک با سنسور وزن بسیار ساده است. در تصویر زیر نحوه اتصال قطعات این پروژه را مشاهده میکنید. پین DT و SCK ماژول HX711 مستقیماً به پین 27 و 17 GPIO رزبری پای متصل شده و موتور درایور L293D در پین های 12 و 16 GPIO به Raspberry Pi متصل است.

شماتیک پروژه دروازه اتوماتیک با Raspberry pi

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

  1. هر مدل رزبری پای
  2. بار سلول Load Cell
  3. ماژول HX711
  4. IC درایور موتور L293D
  5. موتور DC
  6. ال سی دی کاراکتری 16*2
  7. منبع تغذیه یا پاوربانک

نحوه کار پروژه

در این پروژه از Raspberry Pi 3 برای کنترل کل فرآیند ها استفاده کرده ایم. سلول بار فشار در سطح نزدیک درب را حس می کند و ولتاژ آنالوگ الکتریکی را به ماژول تقویت کننده بار HX711 وارد می کند. HX711 یک آنالوگ به دیجیتال 24bit است که باعث تقویت و تبدیل خروجی سلول Load به دیجیتالی می شود. سپس این مقدار تقویت شده به Raspberry Pi تغذیه می شود. اکنون Raspberry Pi خروجی HX711 را محاسبه کرده و آن را به مقدار وزن تبدیل می کند. سپس Raspberry Pi مقادیر را با وزن مرجع مقایسه می کند و با استفاده از درایور موتور IC L293D، دروازه را هدایت می کند. در اینجا ما از موتور DC برای نشان دادن دروازه استفاده کرده ایم.

در اینجا ما از وزن مرجع 100 گرم استفاده کرده ایم، به این معنی که اگر شخصی بزرگتر از 100 گرم در نزدیکی درب ایستاده باشد، درب باز خواهد شد. و هنگامی که آن 100 گرم یا شخص از بین برود، دروازه بسته خواهد شد. شما میتوانید مقدار وزن مرجع را ویرایش کنید. یک ال سی دی 16*2 را میتوانید به صورت اختیاری برای نمایش وضعیت دروازه استفاده کنید.

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

برنامه نویسی پروژه باز شدن درب با پایتون

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

در اینجا ما از Python برای برنامه نویسی استفاده کرده ایم. در این پروژه از هیچ کتابخانه ای برای ارتباط سنسور بار HX711 با Raspberry Pi استفاده نکردیم. اگرچه برخی از کتابخانه ها برای این منظور وجود دارند، اما ما استفاده نمیکنیم. اول از همه ، ما کتابخانه ای برای پین های GPIO فراخوانی میکنیم و سپس پین های ال سی دی ، HX711 ، موتور DC و ال سی دی تعریف میکنیم. همچنین متغیر های مورد نیاز را نیز تعریف میکنیم.

import RPi.GPIO as gpio // کتابخانه پین های GPIO
import time  // کتابخانه زمان

RS =18 // پین های ال سی دی
EN =23
D4 =24
D5 =25
D6 =8
D7 =7

DT =27 // پین های HX711
SCK=17

m1=12 // پین های موتور DC
m2=1

پس از آن ، ما عملکرد زیر را برای خواندن داده ها از ماژول HX711 ایجاد میکنیم.

def readCount():
  i=0
  Count=0
  gpio.setup(DT, gpio.OUT)
  gpio.output(DT,1)
  gpio.output(SCK,0)
  gpio.setup(DT, gpio.IN)

  while gpio.input(DT) == 1:
      i=0
  for i in range(24):
        gpio.output(SCK,1)
        Count=Count<<1

        gpio.output(SCK,0)
        #time.sleep(0.001)
        if gpio.input(DT) == 0: 
            Count=Count+1
        
  gpio.output(SCK,1)
  Count=Count^0x800000
  gpio.output(SCK,0)
  return Count

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

while 1:
  count= readCount()
  w=0
  w=(count-sample)/106
  print w,"g"
  if w>100:  
    setCursor(0,0)
    lcdprint("Gate Opened ")
    if flag == 0:
      gpio.output(m1, 1)
      gpio.output(m2, 0)
      time.sleep(1.3)
      gpio.output(m1, 0)
      gpio.output(m2, 0)
      time.sleep(1.5)
      flag=1;
      lcdclear()
  elif w<100:
    setCursor(0,0)
    lcdprint("Gate Closed ")
    if flag==1:
      gpio.output(m1, 0)
      gpio.output(m2, 1)
      time.sleep(1.3)
      gpio.output(m1, 0)
      gpio.output(m2, 0)
      time.sleep(2)
      flag=0
  time.sleep(0.5)

برخی از توابع برای LCD ایجاد می شوند، مانند Def start (): برای، پیکربندی ال سی دی و  ، def lcdcmd (): برای ارسال دستورات به ال سی دی ، Def lcdwrite (ch): برای چاپ کاراکتر و Def lcdclear (): برای پاکسازی LCD و Def lcdprint (): برای چاپ رشته ها.

حتما ببینید :  آموزش اتصال و راه اندازی ماژول RFID با STM32

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

در اینجا ما دیده ایم که می توانیم به راحتی با استفاده از لود سلول و Raspberry Pi، یک درب خودکار بازشونده با وزن اشخاص بسازیم. فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.

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

موارد موجود در فایل : شماتیک کامل مدار ، سورس کامل

برای دانلود فایل های پروژه ثبت نام کنید، تنها چند ثانیه زمان لازم است. از طریق فرم زیر اقدام کنید.

ایمیل خود را وارد کنید

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

محمد رحیمی

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

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

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

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