Innholdsfortegnelse:

Bevegelsessensorlys Basys3: 8 trinn
Bevegelsessensorlys Basys3: 8 trinn

Video: Bevegelsessensorlys Basys3: 8 trinn

Video: Bevegelsessensorlys Basys3: 8 trinn
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juli
Anonim
Bevegelsessensorlys Basys3
Bevegelsessensorlys Basys3
Bevegelsessensorlys Basys3
Bevegelsessensorlys Basys3
Bevegelsessensorlys Basys3
Bevegelsessensorlys Basys3

For vårt siste prosjekt innen digital design bestemte vi oss for å simulere lys fra bevegelsessensorer. De aktiveres ikke bare når et objekt er i nærheten av det, men aktiveres også bare på en bestemt tid på dagen. Vi er i stand til å modellere dette ved å bruke FPGA (Basys3 -kort). Mens vi brukte FPGA tillot vi en bruker å skrive inn et tidspunkt hvor bevegelsessensorene kan begynne å aktivere, og deretter sender sensorene et signal avhengig av hvilken sensor det har er å slå på det spesifikke lyset i det rommet eller området. Vi modellerte dette ved å tillate bare en bevegelsessensor å bli aktivert på et gitt tidspunkt, og slå på de gitte lysene deretter. På grunn av tidsbegrensning kan vi ikke få tiden som er lagt inn av brukeren til å påvirke aktiveringen av bevegelsessensoren. Imidlertid bør grunnlaget for vår logikk tillate noen å enkelt replikere og forbedre den.

### Lenken nedenfor viser en video av prosjektet

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

Trinn 1: Nødvendig utstyr

Utstyr som trengs
Utstyr som trengs

For dette prosjektet trenger du følgende:

-Basys3 Board

-USB til mikrousb -kabel

-8 jumperledninger til brødbrett

-Brødbrett

-2 diffust LED

Trinn 2: Blackbox Diagram/Finite State Machine

Blackbox Diagram/Finite State Machine
Blackbox Diagram/Finite State Machine
Blackbox Diagram/Finite State Machine
Blackbox Diagram/Finite State Machine

Dette svartboksdiagrammet viser nødvendige innganger som er nødvendige for at LED -lysene skal slås på. Hour -inngangen og Min -inngangene representerer tiden brukeren skrev inn på basys3 -kortet (ved hjelp av brytere). Som for sw representerer inndata i hvilken del av rommet brukeren er i (igjen bruker brytere for å representere plasseringsobjektet er på).

FSM viser overgangen fra ett område til et annet område i et rom der et objekt befinner seg på et gitt tidspunkt. Det er 4 forskjellige sensorer i de forskjellige rommene som er representert som (s1, s2, s3, s4). Som styrer utgangene, eller lysene i de forskjellige rommene for eksempel lys (L1, L2, L3). Den første tilstanden sensorene ikke oppdager noen, så alle lysene er slukket. For å gå til neste tilstand (tilstand 1) må s1 oppdage at noen, s2, s3 og s4 vil være av. Dette vil sende L1 (slå på lys 1), L2 og L3 vil være av. For å gå til tilstand 2 fra tilstand 1, må s1, s3 og s4 være av, s2 må være på. Dette vil slå på L1 og L2. For å gå til neste tilstand fra denne tilstanden må s3 være på og alle andre sensorer slått av. Dette vil slå på L2 og L3, L1 vil være av. For å gå til sluttilstand må S4 være på og alle andre sensorer må være av. Dette vil bare slå på L3, alle andre lys vil være av. Hvis en person kommer inn i rommet fra s4 -siden og går ut gjennom s1, vil alle trinnene være i motsatt rekkefølge.

Trinn 3: BlackBox digital klokke

BlackBox digital klokke
BlackBox digital klokke

Formålet med den digitale klokken vi opprettet er slik at sensorlys ikke skulle aktiveres i løpet av dagen, og bare fungere i den tiden brukeren la inn. Den digitale klokken tar inn time_in input og mins_in ved å bruke brytere på basys3 board, og for å kunne laste den inn på boardet må du trykke på (led_btn) slik at den viser den om bord. Vi har også lagt til tilbakestillingsknapp (rst_b) slik at du kan laste opp et annet tidspunkt på nytt. Siden basys3 har nok plass til å vise 3 forskjellige forekomster av informasjon, implementerte vi sekundene i bakgrunnen. For dette formålet implementerte vi en sekundærbryter, så det vil bare øke i tide når brukeren bestemmer seg for å slå på (e_sec) inngang på basys3 -kortet. Det interne rammearbeidet inne i den digitale klokken består av flip-flops som lagrer innlagt tid og tellere som øker tiden brukeren bare legger inn når (e_sec) er på. Vi legger til koden slik at du kan se hvordan den ble implementert nøyaktig.

Trinn 4: Komponenter sammen og beskrivelse

Komponenter sammen og beskrivelse
Komponenter sammen og beskrivelse
Komponenter sammen og beskrivelse
Komponenter sammen og beskrivelse

Bildene ovenfor viser hvordan komponentene er koblet sammen. Det starter med først å ta inn input timer og minutter. Signalene fra disse inngangene blir sendt til teller time og teller minutter hvor det summerer bitene sammen, og tellere utgangssignal blir sendt til SSEG komponenten der det konverterer biter til spesifikke tegn som vil bli vist på basys3 bord. Imidlertid vil signalet fra tellerne ikke bli sendt til SSEG -komponenten før brukeren har trykket på input (led_btn). Dette er gjort fordi vi ikke opprettet FSM for digital klokke. Tiden som skrives inn, øker heller ikke før inndatabryteren (e_sec) er på fordi ellers ville sekundtelleren alltid kjøre i bakgrunnen. Når telleren sek har nådd ‘59’ sender den signal til minuttene slik at det øker minutter det samme gjøres fra minutter til timer. Det er også innganger for bevegelsessensorer, og signalene sendes til FSM -komponenten der den bestemmer hvilken tilstand den skal gå til, avhengig av sensoren. Den opprinnelige tilstanden er når alle sensorer er slått av. All beskrivelse av FSM ble beskrevet i trinn 2.

Trinn 5: Kode

Trinn 6: Fremtidige modifikasjoner

I fremtiden vil det være en forbedring å legge til faktiske bevegelsessensorer med kombinasjon av lysdioder i prosjektet, slik at vi kan øke kompleksiteten i prosjektet og se om vi kan lage en moderne bevegelseslyssensor. Dette vil skape flere problemer, ettersom du må tenke på nærheten av objektet også, slik at lysene tennes deretter. I tillegg har alle andre funksjoner tidligere. Også forbedre funksjonaliteten til digital klokke ved hjelp av en FSM også i stedet for å vente på at brukeren slår på sekunder (e_sec). FSM for en digital klokke vil være lik den for bevegelsessensoren.

Trinn 7: Konklusjon

Totalt sett har dette prosjektet hjulpet oss med å få en bedre forståelse av hvordan endelige statsmaskiner fungerer. I tillegg må du alltid med FSM huske på at du må vite hvilken tilstand du er i, og når du vil bytte til en annen tilstand. Med andre ord må du vite hvor du er på et gitt tidspunkt, og hvor du vil være senere. Husk hvilke faktorer som vil tillate deg (innganger) å bytte til en annen tilstand, og hva den skal gjøre når den kommer dit (utgang). Vi lærte også hvordan vi lagrer informasjon på basys3-kortet ved å bruke flip-flops som er registre, og hvordan vi kan øke tiden ved å bruke tellere som legger binære tall sammen.

Trinn 8: Fengsel

Two_sseg.vhdl = universal_sseg_dec.vhd

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

Anbefalt: