فهرست مطالب:
- مرحله 1: تجهیزات مورد نیاز
- مرحله 2: نمودار Blackbox/ماشین حالت محدود
- مرحله 3: ساعت دیجیتال BlackBox
- مرحله 4: اجزاء با هم و توضیحات
- مرحله 5: کد
- مرحله 6: اصلاحات آینده
- مرحله 7: نتیجه گیری
- مرحله 8: شروع
تصویری: سنسور حرکت Motion Basys3: 8 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
برای آخرین پروژه خود در زمینه طراحی دیجیتال ، ما تصمیم گرفتیم چراغ های سنسور حرکت را شبیه سازی کنیم. آنها نه تنها هنگامی که یک جسم در نزدیکی آن قرار دارد ، بلکه فقط در زمان معینی از روز فعال می شوند. ما می توانیم این را با استفاده از FPGA (برد Basys3) مدل کنیم. در حین استفاده از FPGA ، به کاربر اجازه می دهیم زمانی را وارد کند که در آن سنسورهای حرکت می توانند شروع به فعال شدن کنند ، و سپس حسگرها بسته به سنسور آن سیگنال ارسال می کنند این است که آن چراغ خاص را در آن اتاق یا منطقه روشن کنید. ما با اجازه دادن به فعال کردن تنها یک سنسور حرکت در یک زمان معین و روشن کردن چراغ های داده شده ، این را مدل کردیم. به دلیل محدودیت زمانی ، نمی توانیم زمان وارد شده توسط کاربر را بر فعال شدن سنسور حرکت تحت تأثیر قرار دهیم. با این حال ، اساس منطق ما باید به کسی اجازه دهد تا به راحتی آن را تکرار کرده و آن را بهبود بخشد.
### پیوند زیر ویدئویی از پروژه را نشان می دهد
drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view؟usp=sharing
مرحله 1: تجهیزات مورد نیاز
برای این پروژه به موارد زیر نیاز دارید:
-Basys3 برد
-کابل USB به microusb
-8 سیم جامپر تخته نرد
-تختخواب
-2 LED پراکنده
مرحله 2: نمودار 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
هدف از ساعت دیجیتالی ای که ایجاد کردیم این است که چراغ های حسگر در طول روز فعال نشوند و فقط در مدت زمانی که کاربر وارد می کند کار کنند. ساعت دیجیتالی با استفاده از سوئیچ های روی برد 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
توصیه شده:
هشدار سنسور حرکت: 5 مرحله
هشدار سنسور حرکت: آیا همیشه در حال بررسی این هستید که ببینید چه کسی در خانه شما است؟ این مورد مناسب شماست. من همیشه کنجکاو بودم بدانم آیا افرادی در خارج از منزل بدون اطلاع هستند. من این دزدگیر حرکت را با چراغ های LED ایجاد کرده ام که نشان می دهد
سنسور صدا و سروو: حرکت واکنشی: 4 مرحله
Sound Sensor & Servo: Reactive Motion: ابتدا باید مواد مربوطه را جمع آوری کنید تا این مدار را کنار هم قرار دهید
DIY: جعبه مینی سنسور سقفی با سنسور حرکت فوکوس: 4 مرحله
DIY: جعبه مینی سنسور سقفی با سنسور حرکت قابل تمرکز: سلام. مدتی پیش من با مفهوم خانه هوشمند به دوستم کمک کردم و یک جعبه سنسور کوچک با طراحی سفارشی ایجاد کردم که می تواند روی سقف به سوراخ 40x65 میلی متر نصب شود. این جعبه به موارد زیر کمک می کند: • اندازه گیری شدت نور • اندازه گیری رطوبت
مکانیسم حرکت و حرکت برای دورهای DSLR: 7 مرحله (همراه با تصاویر)
Pan and Tilt Mechanism for DSLR Time Lapses: من چند موتور پله ای در اطراف داشتم و واقعاً می خواستم از آنها برای ایجاد یک چیز جالب استفاده کنم. من تصمیم گرفتم که یک سیستم Pan and Tilt برای دوربین DSLR خود بسازم تا بتوانم بازه های زمانی خوبی ایجاد کنم. موارد مورد نیاز: موتورهای پله ای 2 برابر -htt
خروجی کنترل شده حرکت - از طریق نور حسگر حرکت: 6 مرحله
خروجی کنترل شده حرکت - از طریق نور حسگر حرکت: & nbsp؛ تصور کنید که شما یک حقه باز یا درمانگر هستید که به ترسناک ترین خانه بلوک می روید. پس از پشت سر گذاشتن همه غولها ، ارواح و قبرستان ، سرانجام به آخرین مسیر می رسید. می توانید آب نبات را در یک کاسه جلوی خود ببینید! اما ناگهان یک غافل