Sisukord:

Liikumisanduri tuled: 3: 8 sammu
Liikumisanduri tuled: 3: 8 sammu

Video: Liikumisanduri tuled: 3: 8 sammu

Video: Liikumisanduri tuled: 3: 8 sammu
Video: 5 МЕСЯЦЕВ БЕЗ ПОДЗАРЯДКИ, БЕСПЛАТНОЕ ОБЛАКО, беспроводная камера Uniwatch 2024, November
Anonim
Liikumisanduri tuled Basys3
Liikumisanduri tuled Basys3
Liikumisanduri tuled Basys3
Liikumisanduri tuled Basys3
Liikumisanduri tuled Basys3
Liikumisanduri tuled Basys3

Lõpliku digitaalse disaini projekti jaoks otsustasime simuleerida liikumisandurite tulesid. Need aktiveeruvad mitte ainult siis, kui objekt on selle lähedal, vaid aktiveeruvad ka ainult teatud kellaajal. Saame seda modelleerida, kasutades FPGA -d (Basys3 -plaati). FPGA -d kasutades lubasime kasutajal sisestada aja, millal liikumisandurid saavad aktiveeruda, ja seejärel saadavad andurid signaali sõltuvalt sellest, milline andur see on on selles ruumis või piirkonnas selle konkreetse valguse sisselülitamine. Me modelleerisime seda, lubades teatud ajal aktiveerida ainult ühe liikumisanduri ja lülitades vastavalt ette antud tuled. Ajapiirangu tõttu ei saa me kasutaja sisestatud aega mõjutada liikumisanduri aktiveerimist. Meie loogika alus peaks aga võimaldama kellelgi seda hõlpsasti korrata ja parandada.

### Allpool olev link näitab projekti videot

drive.google.com/file/d/1FnDwKFfFFDDo8mg25j1sW61lUyEqdavQG/view?usp=sharing

Samm: vajalikud seadmed

Vajalik varustus
Vajalik varustus

Selle projekti jaoks vajate järgmist:

-Basys3 juhatus

-USB kuni microusb kaabel

-8 leivaplaadi hüppaja juhtmest

-Leivalaud

-2 hajutatud LED -i

2. samm: Blackboxi diagramm/piiratud olekumasin

Blackboxi diagramm/piiratud olekumasin
Blackboxi diagramm/piiratud olekumasin
Blackboxi diagramm/piiratud olekumasin
Blackboxi diagramm/piiratud olekumasin

See musta kasti skeem näitab LED -tulede sisselülitamiseks vajalikke sisendeid. Sisendid Tund ja Min sisendid tähistavad aega, mille kasutaja sisestas basys3 -plaadile (lülitite abil). Nagu näiteks, sisend sw tähistab seda, millises ruumi ruumis kasutaja on (jällegi lülitite abil asukohaobjekti kuvamiseks).

Mikroneesia näitab üleminekut ruumi ühest piirkonnast teise, kus objekt asub antud ajahetkel. Erinevates ruumides on 4 erinevat andurit, mis on kujutatud (s1, s2, s3, s4). Mis juhivad väljundeid või erinevate ruumide tulesid, näiteks valgust (L1, L2, L3). Andurite esialgne olek ei tuvasta kedagi, nii et kõik tuled on välja lülitatud. Järgmisesse olekusse (olek 1) liikumiseks peab s1 kellegi tuvastama, s2, s3 ja s4 on välja lülitatud. See väljastab L1 (lülitage tuli 1 sisse), L2 ja L3 on välja lülitatud. Olekust 2 olekust 1 liikumiseks peavad s1, s3 ja s4 olema välja lülitatud, s2 peab olema sisse lülitatud. See lülitab sisse L1 ja L2. Sellest olekust järgmisesse olekusse liikumiseks peab s3 olema sisse lülitatud ja kõik muud andurid välja lülitatud. See lülitab L2 ja L3 sisse, L1 on välja lülitatud. Lõppolekusse liikumiseks peab S4 olema sisse lülitatud ja kõik muud andurid välja lülitatud. See lülitab sisse ainult L3, kõik muud tuled kustuvad. Kui inimene siseneb ruumi s4 poolelt ja väljub s1 kaudu, toimuvad kõik sammud vastupidises järjekorras.

Samm: BlackBoxi digitaalne kell

BlackBoxi digitaalne kell
BlackBoxi digitaalne kell

Meie loodud digitaalse kella eesmärk on see, et andurite tuled ei aktiveeruks päeva jooksul ja töötaksid ainult kasutaja sisestatud aja jooksul. Digitaalkell võtab basys3 -plaadil olevate lülitite abil sisse tunni_in sisendi ja mins_in ning selle tahvlile laadimiseks peate vajutama (led_btn), et see pardal kuvataks. Lisasime ka lähtestusnupu (rst_b), et saaksite erineva aja uuesti üles laadida. Kuna basys3 -l on piisavalt ruumi kolme erineva teabe kuvamiseks, rakendasime sekundid taustal. Sel eesmärgil kasutasime sekundi lülitit, nii et see suureneb aja jooksul ainult siis, kui kasutaja otsustab basys3 -tahvli (e_sec) sisendi sisse lülitada. Digitaalkella sisemine raami töö koosneb plätudest, mis salvestavad sisestatud aega ja loenduritest, mis suurendavad kasutaja sisestatud aega ainult siis, kui (e_sec) on sisse lülitatud. Lisame koodi, et saaksite vaadata, kuidas seda täpselt rakendati.

4. samm: komponendid koos ja kirjeldus

Komponendid koos ja kirjeldus
Komponendid koos ja kirjeldus
Komponendid koos ja kirjeldus
Komponendid koos ja kirjeldus

Ülaltoodud pildid näitavad, kuidas komponendid on omavahel ühendatud. See algab kõigepealt sisendite sisestamisest tundide ja minutitega. Nende sisendite signaalid saadetakse loenduri tundide ja loendurite minutitele, kus see liidab bitid kokku, ja loendurite väljundsignaal saadetakse SSEG -komponendile, kus see teisendab bitid kindlateks märkideks, mis kuvatakse basys3 -plaadil. Loenduritelt saadetud signaali ei saadeta aga SSEG -komponendile enne, kui kasutaja on vajutanud sisendit (led_btn). Seda tehti, kuna me ei loonud digitaalse kella jaoks FSM -i. Samuti ei suurene sisestatud aeg enne sisendlüliti (e_sec) sisselülitamist, sest vastasel juhul töötab sekundite loendur alati taustal. Kui loenduri sekund on jõudnud ‘59’ -ni, saadab see signaali minutitele nii, et see suurendab minutite kaupa sama, mis tehakse minutitest tundidesse. Samuti on olemas liikumisanduri sisendid ja signaalid saadetakse FSM -i komponenti, kus see määrab oleku, kuhu minna, sõltuvalt sisse lülitatud andurist. Selle esialgne olek on siis, kui kõik andurid on välja lülitatud. Kogu FSM kirjeldust kirjeldati 2. etapis.

Samm: kood

6. samm: tulevased muudatused

Tulevikus oleks projektile tegelike liikumisandurite lisamine koos LED -ide kombinatsiooniga parem. Et saaksime projekti keerukust suurendada ja näha, kas suudame luua kaasaegse liikumisvalgusanduri. See tekitaks rohkem probleeme, kuna peate mõtlema ka objekti lähedusele, et tuled vastavalt sisse lülituksid. Lisaks kõik muud funktsioonid enne. Samuti digitaalse kella funktsionaalsuse parandamine FSM -i abil, selle asemel et oodata, kuni kasutaja sekundit sisse lülitab (e_sec). Digitaalse kella FSM oleks sarnane liikumisanduriga.

Samm 7: Järeldus

Üldiselt on see projekt aidanud meil paremini mõista, kuidas piiratud olekuga masinad töötavad. Lisaks peate Mikroneesia Liidus alati meeles pidama, et peate teadma, millises olekus olete ja millal soovite teise olekusse minna. Teisisõnu, peate teadma, kus te antud ajahetkel viibite ja kus te hiljem olete. Pidades silmas, millised tegurid võimaldavad teil (sisenditel) teise olekusse minna ja mida see sinna jõudmisel (väljund) teeb. Samuti õppisime, kuidas teavet basys3 tahvlisse salvestada, kasutades klappe, mis on registrid, ja kuidas aega suurendada, kasutades loendureid, mis liidavad kokku binaarnumbrid.

8. samm: tsiteerimine

The two_sseg.vhdl = universal_sseg_dec.vhd

Ratner, James ja Cheng Samuel.. Ratface Engineering.universal_sseg_dec.vhd

Soovitan: