Turinys:
- 1 žingsnis: reikalinga įranga
- 2 žingsnis: „Blackbox“diagrama/baigtinės būsenos mašina
- 3 žingsnis: „BlackBox“skaitmeninis laikrodis
- 4 žingsnis: komponentai kartu ir aprašymas
- 5 žingsnis: kodas
- 6 žingsnis: būsimi pakeitimai
- 7 žingsnis: Išvada
- 8 žingsnis: Citavimas
Video: Judesio jutiklio lemputės Basys3: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Paskutiniame skaitmeninio dizaino projekte nusprendėme imituoti judesio jutiklių žibintus. Jie įsijungia ne tik tada, kai objektas yra šalia jo, bet ir aktyvuojasi tik tam tikru paros metu. Mes galime tai modeliuoti naudodami FPGA („Basys3“plokštę). Naudodami FPGA leidome vartotojui įvesti laiką, per kurį judesio jutikliai gali pradėti veikti, o tada jutikliai siunčia signalą, priklausomai nuo to, kuris jutiklis yra įjungti tą konkrečią šviesą toje patalpoje ar zonoje. Mes tai modeliavome leisdami įjungti tik vieną judesio jutiklį tam tikru metu ir atitinkamai įjungdami nurodytas šviesas. Dėl laiko apribojimo negalime padaryti, kad vartotojo įvestas laikas paveiktų judesio jutiklio aktyvavimą. Tačiau mūsų logikos pagrindas turėtų leisti kam nors lengvai ją atkartoti ir patobulinti.
### Žemiau esančioje nuorodoje rodomas projekto vaizdo įrašas
drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view?usp=sharing
1 žingsnis: reikalinga įranga
Šiam projektui jums reikės:
-Basys3 lenta
-USB -microsb kabelis
-8 duonos lentos trumpikliai
-Bandomoji Lenta
-2 išsklaidyti šviesos diodai
2 žingsnis: „Blackbox“diagrama/baigtinės būsenos mašina
Ši juodos dėžės schema rodo reikiamus įėjimus, reikalingus LED lemputėms įsijungti. Valandos įvestis ir Min įvestis rodo laiką, kurį vartotojas įvedė į „basys3“plokštę (naudodamas jungiklius). „Sw“įvestis parodo, kurioje kambario dalyje yra vartotojas (dar kartą naudodamas jungiklius vietovės objektui parodyti).
FSM rodo perėjimą iš vienos zonos į kitą patalpos zoną, kurioje tam tikru laiku yra objektas. Skirtinguose kambariuose yra 4 skirtingi jutikliai, vaizduojami kaip (s1, s2, s3, s4). Kuris valdo išėjimus arba skirtingų kambarių žibintus, pavyzdžiui, šviesą (L1, L2, L3). Pradinė būsena, kai jutikliai nieko neaptinka, todėl visos lemputės yra išjungtos. Norėdami pereiti į kitą būseną (1 būsena), s1 turi ką nors aptikti, s2, s3 ir s4 bus išjungti. Tai išves L1 (įjungs 1 lemputę), L2 ir L3 bus išjungti. Norėdami pereiti į 2 būseną iš 1 būsenos, s1, s3 ir s4 turi būti išjungti, s2 turi būti įjungtas. Tai įjungs L1 ir L2. Norėdami pereiti į kitą būseną iš šios būsenos, s3 turi būti įjungtas ir visi kiti jutikliai išjungti. Tai įjungs L2 ir L3, L1 bus išjungtas. Norėdami pereiti į galutinę būseną, S4 turi būti įjungtas, o visi kiti jutikliai - išjungti. Tai įjungs tik L3, visos kitos lemputės bus išjungtos. Jei žmogus įeina į kambarį iš s4 pusės ir išeina per s1, visi veiksmai bus atvirkštine tvarka.
3 žingsnis: „BlackBox“skaitmeninis laikrodis
Mūsų sukurto skaitmeninio laikrodžio paskirtis yra tokia, kad jutiklių lemputės dienos metu neįsijungtų ir veiktų tik tuo metu, kai vartotojas įvedė. Skaitmeninis laikrodis naudoja įvestį „hour_in“ir „mins_in“, naudodamas „basys3“plokštės jungiklius, ir, kad galėtumėte jį įkelti į plokštę, turite paspausti (led_btn), kad jis būtų rodomas laive. Taip pat pridėjome atstatymo mygtuką (rst_b), kad galėtumėte iš naujo įkelti kitą laiką. Kadangi „basys3“turi pakankamai vietos 3 skirtingiems informacijos atvejams parodyti, fone įdiegėme sekundes. Šiuo tikslu mes įdiegėme sekundžių jungiklį, kad laikas tik padidėtų, kai vartotojas nusprendžia įjungti (e_sec) įvestį „basys3“plokštėje. Skaitmeninio laikrodžio vidinį rėmo darbą sudaro šlepetės, kuriose saugomas įvestas laikas, ir skaitikliai, kurie padidina vartotojo įvestą laiką tik tada, kai (e_sec) yra įjungtas. Pridėsime kodą, kad galėtumėte pamatyti, kaip jis buvo tiksliai įdiegtas.
4 žingsnis: komponentai kartu ir aprašymas
Aukščiau esančiose nuotraukose parodyta, kaip komponentai yra sujungti. Jis pradedamas pirmiausia įvedant įvestis valandas ir minutes. Signalai iš tų įėjimų siunčiami į skaitiklius ir skaitiklius, kur jie susumuoja bitus, o skaitiklių išvesties signalas siunčiamas į SSEG komponentą, kur bitai konvertuojami į konkrečius simbolius, kurie bus rodomi „basys3“plokštėje. Tačiau signalas iš skaitiklių nebus siunčiamas į SSEG komponentą, kol vartotojas nepaspaus įvesties (led_btn). Tai buvo padaryta, nes nesukūrėme skaitmeninio laikrodžio FSM. Be to, įvestas laikas nepadidės, kol įjungiamas įvesties jungiklis (e_sec), nes priešingu atveju sekundžių skaitiklis visada veiktų fone. Kai skaitiklis pasiekia „59“, jis siunčia signalą minutėms, kad jis didėtų minutėmis, tas pats daroma nuo minučių iki valandų. Taip pat yra judesio jutiklių įvestys, o signalai siunčiami į FSM komponentą, kur jis nustato, į kurią būseną pereiti, priklausomai nuo įjungto jutiklio. Pradinė būsena yra tada, kai visi jutikliai yra išjungti. Visas FSM aprašymas buvo aprašytas 2 veiksme.
5 žingsnis: kodas
6 žingsnis: būsimi pakeitimai
Ateityje būtų patobulintas projekto pridėjimas prie tikrųjų judesio jutiklių su šviesos diodų deriniu. Kad galėtume padidinti projekto sudėtingumą ir išsiaiškinti, ar galime sukurti modernų judesio šviesos jutiklį. Tai sukeltų daugiau problemų, nes taip pat turėsite galvoti apie objekto artumą, kad žibintai atitinkamai įsijungtų. Be to, visos kitos funkcijos anksčiau. Taip pat skaitmeninio laikrodžio funkcionalumo tobulinimas naudojant FSM, o ne laukimas, kol vartotojas įjungs sekundes (e_sec). Skaitmeninio laikrodžio FSM būtų panašus į judesio jutiklio.
7 žingsnis: Išvada
Apskritai šis projektas padėjo mums geriau suprasti, kaip veikia baigtinės būsenos mašinos. Be to, naudodamiesi MFV visada turite nepamiršti, kad turite žinoti, kokioje būsenoje esate ir kada norite pakeisti į kitą. Kitaip tariant, jūs turite žinoti, kur esate tam tikru laiku ir kur būsite vėliau. Turint omenyje, kokie veiksniai leis jums (įvestims) pereiti į kitą būseną ir ką ji darys, kai ji pateks (išvestis). Mes taip pat sužinojome, kaip saugoti informaciją „basys3“lentoje naudojant šlepetes, kurios yra registrai, ir kaip padidinti laiką naudojant skaitiklius, kurie kartu prideda dvejetainius skaičius.
8 žingsnis: Citavimas
The two_sseg.vhdl = universal_sseg_dec.vhd
Ratner, James ir Cheng Samuel.. Ratface Engineering.universal_sseg_dec.vhd
Rekomenduojamas:
Judesio jutiklio aliarmas: 5 žingsniai
Judėjimo jutiklio aliarmas: Ar visada tikrinate, kas yra prie jūsų durų? Tai jums tobulas daiktas. Man visada buvo įdomu sužinoti, ar už mano durų yra žmonių, nežinančių. Aš sukūriau šį judesio jutiklio aliarmą su LED lemputėmis, kurios parodys
Judesio jutiklio vandens čiaupas naudojant „Arduino“ir solenoidinį vožtuvą - pasidaryk pats: 6 žingsniai
Judėjimo jutiklio vandens čiaupas naudojant „Arduino“ir solenoidinį vožtuvą - pasidaryk pats: Šiame projekte parodysiu, kaip sukurti judesio jutiklio vandens čiaupą naudojant solenoidinį vožtuvą. Šis projektas gali padėti jums paversti esamą rankinį vandens čiaupą į čiaupą, kurį galima valdyti pagal judesio aptikimą. Naudojant IR jutiklio sąsają
„Pasidaryk pats“automatinė judesio jutiklio LED naktinė lemputė: 6 žingsniai (su nuotraukomis)
„Pasidaryk pats“automatinė judesio jutimo LED naktinė lemputė: Sveiki, vaikinai, kviečiame į dar vieną pamokomą dalyką, kuris visada padės jums kasdieniame gyvenime ir suteiks jums patogumo, kad jūsų gyvenimas būtų lengvas. Kartais tai gali būti gelbėtojas senatvės žmonėms, kuriems tenka stengtis atsikelti iš lovos
Kas yra prie mano durų? PIR judesio jutiklio/diapazono jutiklio projektas: 5 žingsniai
Kas yra prie mano durų? PIR judesio jutiklio/diapazono jutiklio projektas: Mūsų projekto tikslas yra pajusti judesį per PIR ir atstumo jutiklius. „Arduino“kodas skleis vaizdo ir garso signalą, kad vartotojui būtų pranešta, kad kažkas yra šalia. MATLAB kodas atsiųs el. Pašto signalą, kad įspėtų vartotoją, kad kažkas yra šalia. Šis įrenginys
Judėjimo jutiklio/skaitiklio valdomos lemputės: 7 žingsniai
Judesio jutiklis/skaitiklio valdomos šviesos: šis projektas buvo sukurtas kaip paskutinis skaitmeninio dizaino kurso projektas „Cal Poly“, San Luis Obispo (CPE 133). Kodėl mes tai darome? Norime padėti išsaugoti gamtos išteklius pasaulyje. Mūsų projekto tikslas - taupyti elektros energiją. Išsaugojus daugiau