Мазмуну:
- 1 -кадам: керектүү жабдуулар
- 2 -кадам: Blackbox диаграммасы/Акыркы мамлекеттик машина
- 3 -кадам: BlackBox Digital Clock
- 4 -кадам: Компоненттер бирге жана сүрөттөлүшү
- 5 -кадам: Код
- 6 -кадам: Келечектеги өзгөртүүлөр
- 7 -кадам: Жыйынтык
- 8 -кадам: Кетүү
Video: Motion Sensor Lights Basys3: 8 Steps
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Санариптик дизайндагы акыркы долбоорубуз үчүн, кыймылдын сенсорлорун симуляциялоону чечтик, алар объект жанында болгондо гана эмес, күндүн белгилүү бир убагында гана активдешет. Биз муну FPGA (Basys3 board) аркылуу моделдей алабыз. FPGAны колдонуп жатканда, колдонуучуга кыймыл сенсорлору иштетиле турган убакытты киргизүүгө уруксат бердик, андан кийин сенсорлор кайсы сенсорго жараша сигнал жөнөтөт бул бөлмөдө же аймакта конкреттүү жарыкты күйгүзүү. Биз муну моделдештирдик, бир убакта бир гана кыймыл сенсорун иштетүүгө уруксат берүү жана ошого жараша берилген жарыктарды күйгүзүү. Убакыттын тардыгынан улам, колдонуучу киргизген убакыт кыймыл сенсорунун иштешине таасир эте албайт. Бирок, биздин логиканын негизи кимдир бирөөнүн оңой көчүрүлүшүнө жана жакшырышына жол бериши керек.
### Төмөндөгү шилтеме Долбоордун видеосун көрсөтөт
drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view?usp=sharing
1 -кадам: керектүү жабдуулар
Бул долбоор үчүн сизге төмөнкүлөр керек болот:
-Basys3 Board
-USBден microusb кабелине
-8 нан панелиндеги секирүүчү зымдар
-Нан тактасы
-2 таралган LED
2 -кадам: Blackbox диаграммасы/Акыркы мамлекеттик машина
Бул кара куту диаграммасы жарык берүүчү чырактарды күйгүзүү үчүн керектүү болгон маалыматтарды көрсөтөт. Саат кириши жана Мин киргизүүлөрү колдонуучунун basys3 тактасына киргизген убактысын билдирет (өчүргүчтөрдү колдонуп). Мисалы, sw киргизүү бөлмөнүн колдонуучусунун кайсы бөлүгүндө экенин билдирет (дагы эле объектинин жайгашкан жерин көрсөтүү үчүн өчүргүчтөрдү колдонуңуз).
FSM бир убакта объект жайгашкан бөлмөдө бир аймактан экинчисине өтүүнү көрсөтөт. Ар кандай бөлмөлөрдө (s1, s2, s3, s4) көрсөтүлгөн 4 түрдүү сенсор бар. Кайсы чыгымдарды же ар кандай бөлмөлөрдөгү жарыктарды, мисалы, жарыкты (L1, L2, L3) көзөмөлдөйт. Алгачкы абал сенсорлор эч кимди аныктабайт, ошондуктан бардык жарыктар өчүрүлгөн. Кийинки абалга өтүү үчүн (1 -абал), s1 кимдир бирөөнү табышы керек, s2, s3 жана s4 өчүрүлөт. Бул L1 чыгарат (1 жарыкты күйгүзөт), L2 жана L3 өчүрүлөт. 1 абалынан 2 абалга өтүү үчүн s1, s3 жана s4 өчүк, s2 күйүк болушу керек. Бул L1 жана L2 күйгүзүлөт. Бул абалдан кийинки абалга өтүү үчүн s3 күйүп турушу жана башка бардык сенсорлор өчүк болушу керек. Бул L2 жана L3 күйгүзөт, L1 өчүрүлөт. Акыркы абалга өтүү үчүн S4 күйүп турушу жана башка бардык сенсорлор өчүрүлүшү керек. Бул L3 күйгүзөт, башка бардык жарыктар өчөт. Эгерде адам бөлмөгө s4 тарабынан кирип, s1 аркылуу чыкса, бардык кадамдар тескери тартипте болот.
3 -кадам: BlackBox Digital Clock
Биз жараткан санариптик сааттын максаты - сенсорлордун жарыктары күндүз иштебей, колдонуучу киргизген убакытта гана иштеши үчүн. Санарип саат basys3 тактасындагы өчүргүчтөрдү колдонуу менен hour_in киргизүү жана mins_in убакытты алат жана аны тактага жүктөө үчүн (led_btn) басуу керек, ал аны бортто көрсөтөт. Биз ошондой эле башка убакытка кайра жүктөө үчүн баштапкы абалга келтирүү баскычын (rst_b) коштук. Basys3 маалыматтын 3 башка учурун көрсөтүү үчүн жетиштүү орунга ээ болгондуктан, биз секунддарды фондо ишке ашырдык. Бул үчүн биз секунддук которууну ишке ашырдык, андыктан ал колдонуучу basys3 тактасындагы (e_sec) кирүүнү күйгүзүүнү чечкенде гана убакыттын өтүшү менен көбөйөт. Санариптик сааттын ичиндеги ички иш флип-флоптордон жана киргизилген убакытты сактаган флип-флоптордон жана (e_sec) күйгүзүлгөндө гана колдонуучу киргизген убакытты көбөйткөн эсептегичтерден турат. Биз кодду кошуп турабыз, андыктан анын кантип так аткарылганын көрө аласыз.
4 -кадам: Компоненттер бирге жана сүрөттөлүшү
Жогорудагы сүрөттөр компоненттердин бири -бирине кантип байланышканын көрсөтөт. Ал биринчи жолу сааттарды жана мүнөттөрдү киргизүү менен башталат. Бул кирүүлөрдүн сигналдары биттерди кошуп эсептөөчү саатка жана минутага жөнөтүлөт, ал эми эсептегичтердин чыгуу сигналы SSEG компонентине жөнөтүлөт, ал жерде биттерди basys3 тактасында көрсөтүлүүчү белгилүү бир белгилерге айландырат. Бирок, колдонуучу киргизүүнү (led_btn) басмайынча, эсептегичтерден келген сигнал SSEG компонентине жөнөтүлбөйт, анткени биз санариптик саат үчүн FSM түзгөн эмеспиз. Ошондой эле, киргизилген убакыт (e_sec) күйгүзүлгөнгө чейин көбөйбөйт, анткени антпесе секунддук эсептегич ар дайым фондо иштейт. Эсептөөчү сек '59га жеткенде, ал мүнөткө сигнал жөнөтөт, ошону менен минутанын сааттарына чейин жасалат. Ошондой эле, кыймыл сенсорунун кириштери бар жана сигналдар FSM компонентине жөнөтүлөт, ал жерде сенсорго жараша кандай абалга баруу керектиги аныкталат. Анын баштапкы абалы - бардык сенсорлор өчүк болгондо. FSMдин бардык сүрөттөлүшү 2 -кадамда сүрөттөлгөн.
5 -кадам: Код
6 -кадам: Келечектеги өзгөртүүлөр
Келечекте, проектке светодиоддордун айкалышы менен чыныгы кыймыл датчиктерин кошуу, долбоордун татаалдыгын жогорулатуу жана заманбап кыймыл жарык сенсорун түзө аларыбызды көрүү үчүн жакшыртылган болмок. Бул дагы көйгөйлөрдү жаратат, анткени сиз объектинин жакындыгын ойлонушуңуз керек, ошого жараша жарыктар күйөт. Мындан тышкары, бардык башка функциялар. Ошондой эле, колдонуучунун секундага (e_sec) күйүшүн күтпөстөн, FSMди колдонуп, санариптик сааттын функциясын жакшыртуу. Санариптик сааттын FSMи кыймыл сенсоруна окшош болмок.
7 -кадам: Жыйынтык
Жалпысынан алганда, бул долбоор бизге акыркы мамлекеттик машиналардын иштешин жакшыраак түшүнүүгө жардам берди. Мындан тышкары, FSM менен сиз кайсы абалда экениңизди жана качан башка мамлекетке которулууну билишиңиз керек экенин дайыма эстен чыгарбооңуз керек. Башкача айтканда, сиз кайсы убакта экениңизди жана кийинчерээк кайда болоруңузду билишиңиз керек. Кандай факторлор сизге (кириштерге) башка абалга өтүүгө мүмкүндүк берерин жана ал жерге жеткенде эмне кылаарын унутпаңыз (чыгаруу). Биз ошондой эле маалыматты регистрация болгон флип-флоптордун жардамы менен basys3 тактасынын ичинде кантип сактоону жана экилик сандарды кошо эсептегичтерди колдонуу менен убакытты кантип көбөйтүүнү үйрөндүк.
8 -кадам: Кетүү
Two_sseg.vhdl = universal_sseg_dec.vhd
Ратнер, Джеймс жана Чэн Сэмюэль.. Ратфейс инженериясы.universal_sseg_dec.vhd
Сунушталууда:
Motion Triggered Lights: 5 кадам
Motion Triggered Lights: Бул колдонмо сизге FPGAны кантип колдонуу керектигин көрсөтүп турат, кыймылдын сенсорунун кыймылдаткычын иштетип турганда, ар кандай түстөгү жарыкты жаратат. Кызыл, көк жана жашыл түстөрдүн деңгээли ар бир түстүн маанисин аныктоо аркылуу башкарылат. Бул долбоор
VHDL Basys3: Connect 4 Game: 5 Steps
VHDL Basys3: Connect 4 Оюн: Киришүү: Бул Vivado Программасын колдонуу менен VHDLде иштелип чыккан жана Basys3 Башкармалыгына программаланган Connect 4 Санариптик Логикалык Оюну. Бул долбоордун курулушу жана дизайны орто, бирок жаңы келгендер кадамдарды көчүрүп, санариптик гаа кура алышат
Interactive Yard Lights, Walkway Lights: 3 Steps
Интерактивдүү короо жарыктары, өтмө жол чырактары: Мен арткы короом үчүн интерактивдүү короо жарыктарын кургум келди. Идея, кимдир бирөө бир жакка басса, ал сиз бараткан тарапка анимацияны коет. Мен Dollar General менен $ 1.00 күн чырактары менен баштадым
Touch Sensor & Sound Sensor Control AC/DC Lights: 5 Steps
AC/DC жарыктарын башкаруучу сенсор жана үн сенсору: Бул менин биринчи долбоорум жана бул эки негизги сенсордун негизинде иштеп жатат, бири сенсор, экинчиси үн сенсору, сенсордук сенсорго сенсордук панелди басыңыз КҮЙГҮН, эгер сиз аны коё берсеңиз, Жарык ӨЧҮП калат жана ошол эле учурда
IoT Wireless Temperature and Motion Sensor: 11 Steps (Сүрөттөр менен)
IoT Wireless Temperature and Motion Sensor: Мени Instructables'де турган көптөгөн IoT долбоорлору шыктандырды, ошондуктан үйрөнүү процессинде мен тиешелүү болгон пайдалуу тиркемени айкалыштырууга аракет кылып жатам. IoT Температура сенсоруна байланыштуу мурунку көрсөтмөлөрүмдүн кеңейтүүсү катары мен азыр