INHOUDSOPGAWE:

Bewegingsensorligte Basys3: 8 stappe
Bewegingsensorligte Basys3: 8 stappe

Video: Bewegingsensorligte Basys3: 8 stappe

Video: Bewegingsensorligte Basys3: 8 stappe
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Julie
Anonim
Bewegingsensorligte Basys3
Bewegingsensorligte Basys3
Bewegingsensorligte Basys3
Bewegingsensorligte Basys3
Bewegingsensorligte Basys3
Bewegingsensorligte Basys3

Vir ons finale projek in digitale ontwerp het ons besluit om bewegingsensorsligte te simuleer, wat nie net aktiveer as 'n voorwerp naby is nie, maar ook slegs gedurende 'n sekere tyd van die dag. Ons is in staat om dit te modelleer met behulp van FPGA (Basys3 -bord). Terwyl ons die FPGA gebruik het, het ons 'n gebruiker toegelaat om 'n tyd in te voer waarin die bewegingsensors kan begin aktiveer, en dan sal die sensors 'n sein stuur, afhangende van watter sensor dit is is om daardie spesifieke lig in daardie kamer of gebied aan te skakel. Ons het dit gemodelleer deur slegs een bewegingsensor op 'n gegewe tydstip te laat aktiveer en die gegewe ligte daarvolgens aan te skakel. Weens tydsvernauwing kan ons nie die tyd wat die gebruiker ingevoer het, die aktivering van die bewegingsensor beïnvloed nie. Die basis van ons logika moet iemand egter in staat stel om dit maklik te herhaal en te verbeter.

### Skakel hieronder toon 'n video van die projek

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

Stap 1: Toerusting benodig

Toerusting benodig
Toerusting benodig

Vir hierdie projek benodig u die volgende:

-Basys3 Board

-USB tot mikroUSB -kabel

-8 brooddraaddraaddrade

-Broodbord

-2 diffuse LED

Stap 2: Blackbox -diagram/eindige staatsmasjien

Blackbox -diagram/eindige staatsmasjien
Blackbox -diagram/eindige staatsmasjien
Blackbox -diagram/eindige staatsmasjien
Blackbox -diagram/eindige staatsmasjien

Hierdie swart boksdiagram toon die vereiste insette wat nodig is om die LED -ligte aan te skakel. Die uurinvoer en die min -insette verteenwoordig die tyd wat die gebruiker op die basys3 -bord ingevoer het (met behulp van skakelaars). Soos die sw -invoer verteenwoordig in watter deel van die kamer die gebruiker is (gebruik weer skakelaars om die liggingvoorwerp voor te stel).

Die FSM toon die oorgang van een gebied na 'n ander gebied van 'n kamer waar 'n voorwerp op 'n gegewe tydstip geleë is. Daar is 4 verskillende sensors in die verskillende kamers wat voorgestel word as (s1, s2, s3, s4). Wat die uitsette beheer, of die ligte in die verskillende kamers, byvoorbeeld lig (L1, L2, L3). In die aanvanklike toestand waarneem die sensors niemand nie, so al die ligte is af. Om na die volgende toestand (staat 1) te gaan, moet s1 iemand opspoor, s2, s3 en s4 sal af wees. Dit sal L1 uitvoer (lig 1 aanskakel), L2 en L3 sal af wees. Om na toestand 2 van toestand 1 te gaan, moet s1, s3 en s4 af wees, s2 moet aan wees. Dit sal L1 en L2 aanskakel. Om na hierdie volgende toestand te beweeg, moet s3 aan wees en alle ander sensors af wees. Dit sal L2 en L3 aanskakel, L1 sal af wees. Om na die finale toestand te beweeg, moet S4 aan wees en alle ander sensors moet af wees. Dit sal slegs L3 aanskakel; alle ander ligte sal af wees. As 'n persoon die kamer van die s4 kant binnegaan en deur s1 verlaat, sal alle stappe in omgekeerde volgorde wees.

Stap 3: BlackBox digitale klok

BlackBox digitale horlosie
BlackBox digitale horlosie

Die doel van die digitale horlosie wat ons geskep het, is sodat sensorligte nie bedags geaktiveer kan word nie, en slegs werk gedurende die tyd wat die gebruiker ingevoer het. Die digitale klok neem uur -in -invoer en min_in deur gebruik te maak van skakelaars op basys3 -bord, en om dit op die bord te kan laai, moet u op die (led_btn) druk sodat dit dit aan boord kan vertoon. Ons het ook 'n resetknoppie (rst_b) bygevoeg, sodat u 'n ander tyd weer kan oplaai. Aangesien die basys3 wel genoeg ruimte het om 3 verskillende gevalle te vertoon, het ons die sekondes op die agtergrond geïmplementeer. Vir hierdie doel het ons 'n sekondes -skakelaar geïmplementeer, sodat dit slegs betyds sal toeneem wanneer die gebruiker besluit om (e_sec) insette op die basys3 -bord aan te skakel. Die interne raamwerk in die digitale horlosie bestaan uit flip-flops wat die ingevoerde tyd stoor en tellers wat die tyd wat die gebruiker ingevoer het net verhoog wanneer (e_sec) aangeskakel is. Ons sal die kode byvoeg sodat u kan sien hoe dit presies geïmplementeer is.

Stap 4: Komponente saam en beskrywing

Komponente saam en beskrywing
Komponente saam en beskrywing
Komponente saam en beskrywing
Komponente saam en beskrywing

Bogenoemde foto's toon hoe die komponente met mekaar verbind is. Dit begin deur eers insette ure en minute in te neem. Die seine van die insette word gestuur na tellerure en tellermins, waar dit die stukkies bymekaar tel, en die uitsetsignale van die tellers word na die SSEG -komponent gestuur, waar dit stukkies omskakel na spesifieke karakters wat op basys3 -bord verskyn. Die sein van die tellers sal egter nie na die SSEG -komponent gestuur word voordat die gebruiker op input (led_btn) gedruk het nie, want dit is gedoen omdat ons nie 'n FSM vir 'n digitale klok gemaak het nie. Die ingevoerde tyd sal ook nie toeneem totdat die invoerskakelaar (e_sec) aangeskakel is nie, want anders sou sekondeteller altyd op die agtergrond loop. Sodra die teller sekonde '59' bereik het, stuur dit 'n sein na die minute, sodat dit min of meer styg, van minute tot ure. Daar is ook insette van bewegingsensors, en die seine word na die FSM -komponent gestuur, waar dit bepaal na watter toestand, afhangende van die sensor. Die aanvanklike toestand is wanneer alle sensors af is. Alle beskrywing van FSM is in stap 2 beskryf.

Stap 5: Kode

Stap 6: Toekomstige wysigings

In die toekoms is dit beter om werklike bewegingsensors met 'n kombinasie van LED's by die projek te voeg, sodat ons die kompleksiteit van die projek kan verhoog en kan kyk of ons 'n moderne bewegingsligsensor kan skep. Dit sal meer probleme veroorsaak, aangesien u ook moet dink aan die nabyheid van die voorwerp, sodat die ligte dienooreenkomstig aanskakel. Daarbenewens het alle ander funksies vooraf. Verbeter ook die funksionaliteit van die digitale klok met behulp van 'n FSM, in plaas daarvan om te wag dat die gebruiker sekondes aanskakel (e_sec). Die FSM vir 'n digitale horlosie sal soortgelyk wees aan dié van die bewegingsensor.

Stap 7: Gevolgtrekking

Oor die algemeen het hierdie projek ons gehelp om 'n beter begrip te kry van hoe eindige staatsmasjiene werk. Boonop moet u met FSM altyd in gedagte hou dat u moet weet in watter toestand u is en wanneer u na 'n ander toestand wil verander. Met ander woorde, u moet weet waar u op 'n gegewe tydstip is en waar u later sal wees. Hou in gedagte watter faktore u (insette) in staat sal stel om na 'n ander toestand te verander, en wat dit gaan doen as dit daar kom (uitset). Ons het ook geleer hoe om inligting op die basys3-bord te stoor met behulp van flip-flops wat registers is, en hoe om tyd te verhoog met tellers wat binêre getalle bymekaar voeg.

Stap 8: Begrafnis

Die two_sseg.vhdl = universal_sseg_dec.vhd

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

Aanbeveel: