Мазмұны:
- 1 -қадам: Қажетті құрал -жабдықтар
- 2 -қадам: Қара жәшік диаграммасы/Ақырлы күй машинасы
- 3 -қадам: BlackBox сандық сағаты
- 4 -қадам: Компоненттер бірге және сипаттамасы
- 5 -қадам: код
- 6 -қадам: Болашақ өзгерістер
- 7 -қадам: Қорытынды
- 8 -қадам: Ситация
Бейне: Қозғалыс сенсорының жарығы Basys3: 8 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Цифрлық дизайндағы соңғы жобамыз үшін біз қозғалыс сенсорларының шамдарын модельдеуді шештік, олар тек объект жанында болғанда ғана емес, сонымен қатар тәуліктің белгілі бір уақытында ғана қосылады. Біз мұны FPGA (Basys3 тақтасы) арқылы модельдей аламыз. FPGA көмегімен біз пайдаланушыға қозғалыс сенсорлары іске қосылатын уақытты енгізуге рұқсат бердік, содан кейін сенсорлар сенсорға байланысты сигнал жібереді. бұл бөлмедегі немесе аймақтағы нақты жарықты қосу. Біз мұны белгілі бір уақытта тек бір қозғалыс датчигін қосуға рұқсат беру арқылы модельдеп, сәйкесінше берілген шамдарды қосамыз. Уақыттың тар болуына байланысты біз пайдаланушы енгізген уақытты қозғалыс сенсорының іске қосылуына әсер ете алмаймыз. Дегенмен, біздің логиканың негізі біреудің оны оңай көшіруге және жақсартуға мүмкіндік беруі керек.
### Төмендегі сілтемеде жобаның бейнесі көрсетілген
drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view?usp=sharing
1 -қадам: Қажетті құрал -жабдықтар
Бұл жоба үшін сізге мыналар қажет:
-Basys3 тақтасы
-USB -ден микро -кабельге
-8 табақшадағы секіргіш сымдар
-Нан тақтасы
-2 диффузиялық жарықдиодты
2 -қадам: Қара жәшік диаграммасы/Ақырлы күй машинасы
Бұл қара жәшіктің диаграммасы жарықдиодты шамдардың қосылуы үшін қажетті кірістерді көрсетеді. Сағат кірісі мен Мин кірісі пайдаланушының 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 сандық сағаты
Біз жасаған цифрлық сағаттардың мақсаты - сенсор шамдары күндіз қосылмайды және тек пайдаланушы енгізген уақытта жұмыс істейді. Цифрлық сағат 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 -қадам: Болашақ өзгерістер
Болашақта жобаға жарықдиодты комбинациясы бар нақты қозғалыс датчиктерін қосу жақсартылған болар еді, осылайша біз жобаның күрделілігін арттыра аламыз және қазіргі заманғы жарық сенсорын жасай аламыз ба? Бұл көп қиындықтар туғызады, себебі сіз шамдардың сәйкесінше қосылуы үшін объектінің жақын орналасуы туралы ойлануыңыз керек. Сонымен қатар, барлық басқа функциялар. Сондай -ақ, FSM көмегімен цифрлық сағаттардың функционалдығын жақсарту, сонымен қатар пайдаланушының бірнеше секунд қосылатынын күтудің орнына (e_sec). Сандық сағатқа арналған FSM қозғалыс сенсорына ұқсас болады.
7 -қадам: Қорытынды
Тұтастай алғанда, бұл жоба бізге соңғы машиналардың қалай жұмыс істейтінін жақсы түсінуге көмектесті. Сонымен қатар, FSM көмегімен сіз қандай күйде екеніңізді және басқа күйге ауысқыңыз келетінін білуіңіз керек екенін әрқашан есте ұстауыңыз керек. Басқаша айтқанда, сіз белгілі бір уақытта қай жерде екеніңізді білуіңіз керек, және кейінірек қайда боласыз. Қандай факторлар сізге (кіріс) басқа күйге ауысуға мүмкіндік беретінін және ол келгенде (шығыс) не істейтінін есте ұстау. Біз сонымен қатар basys3 тақтасында ақпаратты регистрлер-флип-флоптардың көмегімен сақтауды және екілік сандарды қосатын есептегіштерді қолдану арқылы уақытты көбейтуді үйрендік.
8 -қадам: Ситация
Two_sseg.vhdl = universal_sseg_dec.vhd
Ратнер, Джеймс және Чэн Сэмюэль.. Реттік беттік инженерия.universal_sseg_dec.vhd
Ұсынылған:
Logitech 3D Extreme Pro Hall эффект сенсорының конверсиясы: 9 қадам
Logitech 3D Extreme Pro Hall эффект сенсорының конверсиясы: джойстиктің рульдік басқару элементі өшіп қалды. Мен кәстрөлдерді алып, тазалап көрдім, бірақ бұл көмектеспеді. Мен ауыстыратын кәстрөлдерді іздей бастадым және бірнеше жыл бұрын бірнеше веб -сайттарды кездестірдім
Қозғалыс сенсорының дабылы: 5 қадам
Қозғалыс сенсорының дабылы: Сіз әрқашан сіздің есігіңізде кім тұрғанын тексересіз бе? Бұл сіз үшін тамаша элемент. Мен әрқашан есігімнің сыртында білмейтін адамдар бар -жоғын білуге қызығатынмын. Мен бұл қозғалыс сенсорлық дабылды жарықдиодты шамдармен жасадым, ол көрсетеді
Қозғалыс сенсорының есік қоңырауы: 5 қадам (суреттермен)
Қозғалыс сенсорының есік қоңырауы: Мен ұлым Джейденге қиындық туралы айтқанымда, ол бірден LEGO WeDo жиынтығын қолдануды ойлады. Ол жылдар бойы Legos -пен ойнады, бірақ ол WeDo 2.0 -мен кодтау мүмкіндігіне өткен оқу жылының басында ғана ие болды
Үйде PIR қозғалыс сенсорының жарығын қалай жасауға болады: 7 қадам
Үйде PIR қозғалыс сенсорының жарығын қалай жасауға болады: Бұл бейнеде мен үйде пир қозғалыс сенсорын қалай жасау керектігін көрсеттім. Сіз менің бейнеролигімді youtube сайтынан көре аласыз. Жазылыңыз, егер сізге менің бейне ұнаса және маған өсуге көмектессе
Жақын бейне жарығы/ қолмен түсірілетін фотосурет жарығы: 7 қадам (суреттермен)
Жақын бейне жарығы/ қолмен түсірілетін фотосурет жарығы: Мен сенің не ойлағаныңды білемін. &Quot; жақын, " арқылы Мен қиын жарық жағдайларында жақыннан жарықтандыруды айттым-бұл міндетті түрде " жақын жағдайлар " үшін емес. (Алайда, бұл үшін де қолдануға болады …) Нью-Йорктегі бейнекамер ретінде-немесе