فهرست مطالب:

سنسور حرکت Motion Basys3: 8 مرحله
سنسور حرکت Motion Basys3: 8 مرحله

تصویری: سنسور حرکت Motion Basys3: 8 مرحله

تصویری: سنسور حرکت Motion Basys3: 8 مرحله
تصویری: Using 28BYJ-48 Stepper Motor Push button Speed with 8 projects: Ultimate Video Tutorial Lesson 107 2024, نوامبر
Anonim
سنسور حرکت Motion Basys3
سنسور حرکت Motion Basys3
سنسور حرکت Motion Basys3
سنسور حرکت Motion Basys3
سنسور حرکت Motion Basys3
سنسور حرکت Motion Basys3

برای آخرین پروژه خود در زمینه طراحی دیجیتال ، ما تصمیم گرفتیم چراغ های سنسور حرکت را شبیه سازی کنیم. آنها نه تنها هنگامی که یک جسم در نزدیکی آن قرار دارد ، بلکه فقط در زمان معینی از روز فعال می شوند. ما می توانیم این را با استفاده از FPGA (برد Basys3) مدل کنیم. در حین استفاده از FPGA ، به کاربر اجازه می دهیم زمانی را وارد کند که در آن سنسورهای حرکت می توانند شروع به فعال شدن کنند ، و سپس حسگرها بسته به سنسور آن سیگنال ارسال می کنند این است که آن چراغ خاص را در آن اتاق یا منطقه روشن کنید. ما با اجازه دادن به فعال کردن تنها یک سنسور حرکت در یک زمان معین و روشن کردن چراغ های داده شده ، این را مدل کردیم. به دلیل محدودیت زمانی ، نمی توانیم زمان وارد شده توسط کاربر را بر فعال شدن سنسور حرکت تحت تأثیر قرار دهیم. با این حال ، اساس منطق ما باید به کسی اجازه دهد تا به راحتی آن را تکرار کرده و آن را بهبود بخشد.

### پیوند زیر ویدئویی از پروژه را نشان می دهد

drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view؟usp=sharing

مرحله 1: تجهیزات مورد نیاز

تجهیزات مورد نیاز
تجهیزات مورد نیاز

برای این پروژه به موارد زیر نیاز دارید:

-Basys3 برد

-کابل USB به microusb

-8 سیم جامپر تخته نرد

-تختخواب

-2 LED پراکنده

مرحله 2: نمودار Blackbox/ماشین حالت محدود

نمودار Blackbox/ماشین حالت محدود
نمودار Blackbox/ماشین حالت محدود
نمودار Blackbox/ماشین حالت محدود
نمودار Blackbox/ماشین حالت محدود

این نمودار جعبه سیاه ورودی های مورد نیاز برای روشن شدن چراغ های LED را نشان می دهد. ورودی ساعت و حداقل ورودی ها نشان دهنده زمانی است که کاربر روی برد basys3 وارد کرده است (با استفاده از سوئیچ ها). همانطور که ورودی sw نشان می دهد که کاربر در کدام قسمت از اتاق قرار دارد (مجدداً از کلیدها برای نشان دادن شیء موقعیت در).

FSM انتقال از یک منطقه به منطقه دیگر یک اتاق را نشان می دهد که در آن یک شی در یک زمان معین واقع شده است. 4 سنسور مختلف در اتاق های مختلف وجود دارد که به صورت (s1 ، s2 ، s3 ، s4) نمایش داده می شوند. که خروجی ها را کنترل می کند ، یا چراغهای اتاقهای مختلف به عنوان مثال نور (L1 ، L2 ، L3). حالت اولیه سنسورها کسی را تشخیص نمی دهد ، بنابراین همه چراغ ها خاموش هستند. برای حرکت به حالت بعدی (حالت 1) ، s1 باید شخصی را تشخیص دهد ، s2 ، s3 و s4 خاموش هستند. با این کار L1 (چراغ 1 را روشن کنید) ، L2 و L3 خاموش می شود. برای حرکت به حالت 2 از حالت 1 ، s1 ، s3 و s4 باید خاموش ، s2 باید روشن باشد. با این کار L1 و L2 روشن می شود. برای حرکت به حالت بعدی از این حالت ، s3 باید روشن و همه سنسورهای دیگر خاموش باشند. این L2 و L3 را روشن می کند ، L1 خاموش است. برای حرکت به حالت نهایی S4 باید روشن باشد و همه سنسورهای دیگر باید خاموش باشند. این فقط L3 را روشن می کند ، سایر چراغ ها خاموش می شوند. اگر شخصی از سمت s4 وارد اتاق شود و از s1 خارج شود ، همه مراحل به ترتیب معکوس خواهد بود.

مرحله 3: ساعت دیجیتال BlackBox

ساعت دیجیتال BlackBox
ساعت دیجیتال BlackBox

هدف از ساعت دیجیتالی ای که ایجاد کردیم این است که چراغ های حسگر در طول روز فعال نشوند و فقط در مدت زمانی که کاربر وارد می کند کار کنند. ساعت دیجیتالی با استفاده از سوئیچ های روی برد basys3 ورودی hour_in و mins_in را می گیرد و برای اینکه بتوانید آن را روی برد بارگذاری کنید باید (led_btn) را فشار دهید تا روی برد نمایش داده شود. ما همچنین دکمه بازنشانی (rst_b) را اضافه کردیم تا بتوانید زمان دیگری را دوباره بارگذاری کنید. همانطور که basys3 دارای فضای کافی برای نمایش 3 نمونه مختلف از اطلاعات است ، ثانیه ها را در پس زمینه پیاده سازی کردیم. برای این منظور ، ما یک سوئیچ ثانیه را پیاده سازی کردیم تا زمانی که کاربر تصمیم می گیرد ورودی (e_sec) را روی برد basys3 روشن کند ، به مرور زمان افزایش می یابد. فریم داخلی داخل ساعت دیجیتالی از فلیپ فلاپ هایی تشکیل شده است که زمان ورودی را ذخیره می کنند و شمارنده هایی که زمان وارد شده توسط کاربر را تنها زمانی که (e_sec) روشن است افزایش می دهند. ما کد را اضافه می کنیم تا بتوانید نحوه اجرای دقیق آن را مشاهده کنید.

مرحله 4: اجزاء با هم و توضیحات

اجزاء با هم و توضیحات
اجزاء با هم و توضیحات
اجزاء با هم و توضیحات
اجزاء با هم و توضیحات

تصاویر بالا نحوه اتصال اجزا به یکدیگر را نشان می دهد. ابتدا با ورودی ساعت و دقیقه شروع می شود. سیگنال های آن ورودی ها به ساعت شمارنده و دقیقه شمارها ارسال می شود که در آن بیت ها را با هم جمع می کند و شمارنده سیگنال خروجی به جزء SSEG ارسال می شود و در آنجا بیت ها را به کاراکترهای خاصی که روی برد basys3 نمایش داده می شوند ، تبدیل می کند. با این حال ، تا زمانی که کاربر ورودی (led_btn) را فشار ندهد ، سیگنال از شمارنده ها به جزء SSEG ارسال نمی شود. این کار به این دلیل است که ما FSM را برای ساعت دیجیتال ایجاد نکرده ایم. همچنین ، زمان وارد شده تا زمان روشن شدن کلید ورودی (e_sec) افزایش نمی یابد زیرا در غیر این صورت شمارنده ثانیه ها همیشه در پس زمینه اجرا می شوند. هنگامی که شمارنده ثانیه به عدد 59 برسد ، سیگنال را به دقیقه ها ارسال می کند ، به طوری که دقیقه را افزایش می دهد و از دقیقه به ساعت افزایش می یابد. همچنین ، ورودی های سنسور حرکت وجود دارد و سیگنال ها به جزء FSM ارسال می شوند و بسته به سنسور تعیین می کند که به چه وضعیتی برود. حالت اولیه آن زمانی است که همه سنسورها خاموش هستند. تمام توضیحات FSM در مرحله 2 شرح داده شد.

مرحله 5: کد

مرحله 6: اصلاحات آینده

در آینده ، افزودن سنسورهای حرکتی واقعی با ترکیبی از LED ها به پروژه بهبود می یابد. به این ترتیب ما می توانیم پیچیدگی پروژه را افزایش دهیم و ببینیم آیا می توانیم یک سنسور نور حرکت مدرن ایجاد کنیم. این امر مشکلات بیشتری را ایجاد می کند زیرا مجبورید به مجاورت جسم نیز فکر کنید تا چراغ ها مطابق آن روشن شوند. علاوه بر این ، سایر عملکردها از قبل. همچنین ، بهبود عملکرد ساعت دیجیتال با استفاده از FSM و همچنین به جای انتظار برای روشن شدن ثانیه کاربر (e_sec). FSM برای ساعت دیجیتال شبیه به سنسور حرکت است.

مرحله 7: نتیجه گیری

به طور کلی ، این پروژه به ما کمک کرد تا درک بهتری از نحوه عملکرد ماشین های حالت محدود داشته باشیم. علاوه بر این ، با FSM همیشه باید به خاطر داشته باشید که باید بدانید در چه وضعیتی هستید و چه زمانی می خواهید به حالت دیگری تغییر وضعیت دهید. به عبارت دیگر ، شما باید بدانید در یک زمان معین کجا هستید و بعداً کجا خواهید بود. به خاطر داشته باشید که چه عواملی به شما اجازه می دهد (ورودی ها) به وضعیت دیگری تغییر دهید و وقتی به آنجا می رسد (خروجی) چه کاری انجام می دهد. ما همچنین نحوه ذخیره اطلاعات در تخته basys3 با استفاده از فلیپ فلاپ ها که ثبت نام هستند و نحوه افزایش زمان با استفاده از شمارنده که اعداد باینری را با هم جمع می کند ، یاد گرفتیم.

مرحله 8: شروع

the two_sseg.vhdl = universal_sseg_dec.vhd

Ratner، James and Cheng Samuel.. Ratface Engineering.universal_sseg_dec.vhd

توصیه شده: