INHOUDSOPGAWE:
- Stap 1: Toerusting benodig
- Stap 2: Blackbox -diagram/eindige staatsmasjien
- Stap 3: BlackBox digitale klok
- Stap 4: Komponente saam en beskrywing
- Stap 5: Kode
- Stap 6: Toekomstige wysigings
- Stap 7: Gevolgtrekking
- Stap 8: Begrafnis
Video: Bewegingsensorligte Basys3: 8 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
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
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
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
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
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:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
DIY VR-loopband- Basys3 FPGA-Digilent-wedstryd: 3 stappe
DIY VR-loopband- Basys3 FPGA-Digilent-wedstryd: wil u 'n VR-loopband bou waarop u u lessenaarprogramme en speletjies kan bestuur? Dan het u op die regte plek gekom! In konvensionele speletjies gebruik u die muis en die sleutelbord om met die omgewing te kommunikeer. Daarom moet ons die
VHDL Basys3: Verbind 4 speletjies: 5 stappe
VHDL Basys3: Connect 4 Game: Inleiding: Dit is 'n Connect 4 Digital Logic Game wat in VHDL ontwerp is met behulp van die Vivado -sagteware en geprogrammeer op die Basys3 Board. Die konstruksie en ontwerp van hierdie projek is intermediêr, maar nuwelinge kan die stappe kopieer en die digitale
Basiese stophorlosie met behulp van VHDL en Basys3 Board: 9 stappe
Basiese stophorlosie met behulp van VHDL en Basys3 Board: Welkom by die instruksies oor hoe om 'n stophorlosie te bou met basiese VHDL en Basys 3 bord. Ons is opgewonde om ons projek met u te deel! Dit was 'n finale projek vir die kursus CPE 133 (Digital Design) by Cal Poly, SLO in die herfs van 2016. Die projek wat ons bou
Basys3 FPGA Digital Audio Synthesizer: 5 stappe
Basys3 FPGA Digital Audio Synthesizer: Hierdie digitale sinusgolf -sleutelbord -sintetiseerder sal gebruikers se insette neem via 'n reeks kortstondige skakelaars soos 'n sleutelbord en 'n klankgolf deur 'n luidspreker lewer. Op grond van gebruikersinvoer, sal die toestel sinusgolwe van verskillende frekwensies genereer