Turinys:

Judesio jutiklio lemputės Basys3: 8 žingsniai
Judesio jutiklio lemputės Basys3: 8 žingsniai

Video: Judesio jutiklio lemputės Basys3: 8 žingsniai

Video: Judesio jutiklio lemputės Basys3: 8 žingsniai
Video: Kaip įrengti judesio jutiklį TRÅDFRI? 2024, Liepa
Anonim
Judesio jutiklių žibintai „Basys“3
Judesio jutiklių žibintai „Basys“3
Judesio jutiklių žibintai „Basys“3
Judesio jutiklių žibintai „Basys“3
Judesio jutiklių žibintai „Basys“3
Judesio jutiklių žibintai „Basys“3

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

Reikalinga įranga
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

„Blackbox“diagrama/baigtinės būsenos mašina
„Blackbox“diagrama/baigtinės būsenos mašina
„Blackbox“diagrama/baigtinės būsenos mašina
„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

„BlackBox“skaitmeninis laikrodis
„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

Komponentai kartu ir aprašymas
Komponentai kartu ir aprašymas
Komponentai kartu ir aprašymas
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: