فهرست مطالب:

سنسور اثر آردوینو هال با وقفه: 4 مرحله
سنسور اثر آردوینو هال با وقفه: 4 مرحله

تصویری: سنسور اثر آردوینو هال با وقفه: 4 مرحله

تصویری: سنسور اثر آردوینو هال با وقفه: 4 مرحله
تصویری: ساخت سیستمی برای کنترل روشنایی محیط 2024, نوامبر
Anonim
Image
Image
سنسور جلوه هال چیست؟
سنسور جلوه هال چیست؟

سلام به همه،

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

ابزارها و مواد مورد استفاده در ویدیو (پیوندهای وابسته): Arduino Uno:

سنسورهای اثر هال:

انواع مقاومت:

مرحله 1: سنسور جلوه هال چیست؟

سنسور جلوه هال چیست؟
سنسور جلوه هال چیست؟
سنسور جلوه هال چیست؟
سنسور جلوه هال چیست؟
سنسور جلوه هال چیست؟
سنسور جلوه هال چیست؟

سنسور اثر هال دستگاهی است که برای اندازه گیری میدان مغناطیسی استفاده می شود. ولتاژ خروجی آن مستقیماً با قدرت میدان مغناطیسی از طریق آن متناسب است.

سنسورهای اثر هال برای سنجش مجاورت ، موقعیت یابی ، تشخیص سرعت و برنامه های سنجش جریان استفاده می شود.

چیزی که امروز با آن کار می کنم 3144 است که یک سوئیچ جلوه ای است که عمدتا برای دمای بالا و برنامه های کاربردی خودرو استفاده می شود. خروجی آن به طور پیش فرض زیاد است و یکبار در حضور میدان مغناطیسی کم می شود.

این سنسور دارای 3 پایه ، VCC ، زمین و خروجی است. اگر سنسور را با برچسب ها به سمت خود نگه دارید ، می توانید آنها را به این ترتیب تشخیص دهید. VCC در سمت چپ ، و خروجی در سمت راست است. برای جلوگیری از هرگونه تغییر ولتاژ ، از یک مقاومت 10k بین VCC و خروجی در تنظیمات کششی استفاده می شود.

مرحله 2: وقفه چیست؟

وقفه چیست؟
وقفه چیست؟
وقفه چیست؟
وقفه چیست؟

برای اتصال سنسور در آردوینو ، از یک ویژگی ساده و در عین حال بسیار قدرتمند به نام Interrupt استفاده می کنیم. وظیفه وقفه این است که مطمئن شوید پردازنده به سرعت به رویدادهای مهم پاسخ می دهد. هنگامی که سیگنال خاصی تشخیص داده می شود ، یک Interrupt (همانطور که از نامش پیداست) هر کاری که پردازنده انجام می دهد را قطع می کند و برخی از کدها را طراحی می کند که به هر محرک خارجی که به آردوینو تغذیه می شود واکنش نشان می دهد. پس از اتمام آن کد ، پردازنده به هر کاری که در ابتدا انجام می داد باز می گردد و گویی هیچ اتفاقی نیفتاده است!

چیزی که در این مورد بسیار جذاب است این است که سیستم شما را در واکنش سریع و کارآمد به رویدادهای مهمی که پیش بینی آنها در نرم افزار آسان نیست واکنش نشان می دهد. از همه بهتر ، پردازنده شما را برای انجام کارهای دیگر آزاد می کند در حالی که منتظر نمایش رویدادی هستید.

Arduino Uno دارای دو پین است که می توانیم به عنوان وقفه از آنها استفاده کنیم ، پین 2 و 3. عملکردی که برای ثبت پین به عنوان وقفه استفاده می کنیم attachInterrupt نامیده می شود که در آن به عنوان اولین پارامتر پین را برای استفاده ارسال می کنیم ، پارامتر دوم نام تابعی که می خواهیم پس از تشخیص وقفه فراخوانی کنیم و به عنوان پارامتر سوم در حالتی که می خواهیم وقفه در آن کار کند ارسال می کنیم. پیوندی در توضیحات ویدئو به مرجع کامل این عملکرد وجود دارد.

مرحله 3: اتصالات و کد

اتصالات و کد
اتصالات و کد
اتصالات و کد
اتصالات و کد
اتصالات و کد
اتصالات و کد

در مثال ما ، سنسور جلوه های سالن را به پین 2 در آردوینو متصل می کنیم. در ابتدای طرح ، ما متغیرهایی را برای شماره پین LED ساخته شده ، پین وقفه و همچنین یک متغیر بایت تعریف می کنیم که از آنها برای تغییر در وقفه استفاده می کنیم. بسیار مهم است که این مورد را به عنوان فرار علامت گذاری کنیم تا کامپایلر بداند که در خارج از جریان اصلی برنامه از طریق وقفه در حال تغییر است.

در تابع راه اندازی ، ابتدا حالت های پین های مورد استفاده را مشخص می کنیم و سپس وقفه را همانطور که قبلاً توضیح داده شد وصل می کنیم. یکی دیگر از عملکردهایی که ما در اینجا استفاده می کنیم digitalPinToInterrupt است که همانطور که از نامش پیداست ، شماره پین را به شماره وقفه ترجمه می کند.

در روش اصلی ، ما فقط متغیر حالت را روی پین LED می نویسیم و یک تاخیر بسیار کوچک اضافه می کنیم تا پردازنده بتواند زمان لازم را داشته باشد تا به درستی کار کند.

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

سومین پارامتر تابع attachIntertupt حالت کارکرد آن است. هنگامی که آن را به عنوان CHANGE داشته باشیم ، عملکرد چشمک زدن هر بار که حالت وقفه تغییر می کند ، اجرا می شود ، هنگامی که آهن ربا را به سنسور نزدیک می کنیم ، یک بار فراخوانی می شود و یک بار دیگر آن را فعال می کنیم. به این ترتیب ، LED روشن است در حالی که آهن ربا را نزدیک سنسور نگه می داریم.

اگر اکنون حالت را به RISING تغییر دهیم ، عملکرد چشمک زدن تنها زمانی فعال می شود که لبه بالایی از سیگنال در پین وقفه مشاهده شود. اکنون هر بار که آهنربا را به سنسور نزدیک می کنیم ، LED یا خاموش می شود یا روشن می شود بنابراین ما اساساً یک کلید مغناطیسی ایجاد کردیم.

حالت نهایی که ما سعی خواهیم کرد LOW است. با استفاده از آن ، هنگامی که آهن ربا نزدیک است ، عملکرد چشمک زدن دائماً فعال می شود و LED چشمک می زند و حالت آن همیشه معکوس می شود. وقتی آهن ربا را برمی داریم ، واقعاً غیر قابل پیش بینی است که وضعیت چگونه به پایان می رسد زیرا این بستگی به زمان دارد. با این حال ، اگر ما نیاز به دانستن مدت زمان فشار دادن یک دکمه داشته باشیم ، این حالت واقعاً مفید است ، زیرا می توانیم از توابع زمان بندی برای تعیین آن استفاده کنیم.

مرحله 4: اقدامات بیشتر

اقدامات بیشتر
اقدامات بیشتر

وقفه ها راهی ساده برای پاسخگویی بیشتر سیستم شما به کارهای حساس به زمان هستند. آنها همچنین مزیت اضافی آزاد کردن حلقه اصلی () شما برای تمرکز بر برخی از وظایف اصلی در سیستم را دارند. (من متوجه می شوم که این باعث می شود کد من هنگام استفاده از آنها کمی سازمان یافته تر شود - راحت تر می بینید که بخش اصلی کد برای چه چیزی طراحی شده است ، در حالی که وقفه ها وقایع دوره ای را مدیریت می کنند.) مثال نشان داده شده در اینجا بیشترین موارد را نشان می دهد مورد اصلی برای استفاده از وقفه - می توانید از آنها برای خواندن دستگاه I2C ، ارسال یا دریافت داده های بی سیم یا حتی راه اندازی یا توقف موتور استفاده کنید.

اگر از جالب توجه یا حسگر جلوه های سالن استفاده جالبی دارید ، حتماً در نظرات به من اطلاع دهید ، این دستورالعمل را لایک و به اشتراک بگذارید ، و فراموش نکنید که برای آموزش ها و پروژه های بسیار جذاب در کانال YouTube من مشترک شوید. آینده.

سلام و تشکر از تماشا!

توصیه شده: