Cuprins:

Senzorii de mișcare se bazează pe 3: 8 pași
Senzorii de mișcare se bazează pe 3: 8 pași

Video: Senzorii de mișcare se bazează pe 3: 8 pași

Video: Senzorii de mișcare se bazează pe 3: 8 pași
Video: Senzorul de gaz si repornirea alimentarii cu gaz a apartamentului 2024, Iulie
Anonim
Senzorii de mișcare se bazează pe lumini
Senzorii de mișcare se bazează pe lumini
Senzorii de mișcare se bazează pe lumini
Senzorii de mișcare se bazează pe lumini
Senzorii de mișcare se bazează pe lumini
Senzorii de mișcare se bazează pe lumini

Pentru proiectul nostru final de proiectare digitală, am decis să simulăm luminile senzorilor de mișcare. Acestea se activează nu numai atunci când un obiect se află lângă el, ci și se activează numai într-un anumit moment al zilei. Putem modela acest lucru folosind FPGA (placa Basys3). În timp ce folosim FPGA, am permis utilizatorului să introducă un timp în care senzorii de mișcare pot începe să se activeze, iar apoi senzorii vor trimite un semnal în funcție de senzorul pe care îl utilizează. este să aprinzi acea lumină specifică în acea cameră sau zonă. Am modelat acest lucru permițând activarea unui singur senzor de mișcare la un moment dat și aprinderea corespunzătoare a luminilor date. Din cauza constrângerii timpului, nu putem face ca timpul introdus de utilizator să afecteze activarea senzorului de mișcare. Cu toate acestea, baza logicii noastre ar trebui să permită cuiva să o reproducă cu ușurință și să o îmbunătățească.

### Linkul de mai jos prezintă un videoclip al proiectului

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

Pasul 1: Echipament necesar

Echipament necesar
Echipament necesar

Pentru acest proiect, veți avea nevoie de următoarele:

-Basys3 Board

-Cablu USB la microusb

-8 fire de jumper pentru panouri

-Panoul

-2 LED difuz

Pasul 2: Diagramă cutie neagră / Mașină de stat finită

Diagramă cutie neagră / Mașină de stat finit
Diagramă cutie neagră / Mașină de stat finit
Diagramă cutie neagră / Mașină de stat finit
Diagramă cutie neagră / Mașină de stat finit

Această diagramă a casetei negre prezintă intrările necesare necesare pentru aprinderea luminilor led. Intrările de oră și intrările minime reprezintă timpul introdus de utilizator pe placa basys3 (folosind comutatoare). De asemenea, pentru intrarea sw reprezintă în ce parte a utilizatorului camerei se află (din nou folosind comutatoare pentru a reprezenta obiectul de locație).

FSM arată tranziția dintr-o zonă în altă zonă a unei camere în care se află un obiect la un moment dat. Există 4 senzori diferiți în diferitele camere care sunt reprezentate ca (s1, s2, s3, s4). Care controlează ieșirile sau luminile din diferite camere, de exemplu lumina (L1, L2, L3). Starea inițială a senzorilor nu detectează pe nimeni, astfel încât toate luminile sunt stinse. Pentru a trece la următoarea stare (Starea 1), s1 trebuie să detecteze pe cineva, s2, s3 și s4 vor fi dezactivate. Aceasta va genera L1 (aprinde lumina 1), L2 și L3 vor fi stinse. Pentru a trece la starea 2 de la starea 1, s1, s3 și s4 trebuie să fie dezactivat, s2 trebuie să fie pornit. Aceasta va activa L1 și L2. Pentru a trece la următoarea stare din această stare s3 trebuie să fie pornit și toți ceilalți senzori opriți. Aceasta va porni L2 și L3, L1 va fi oprit. Pentru a trece la starea finală S4 trebuie să fie pornit și toți ceilalți senzori trebuie să fie opriți. Aceasta va porni numai L3, toate celelalte lumini vor fi stinse. Dacă o persoană intră în cameră din partea s4 și iese prin s1, toți pașii vor fi în ordine inversă.

Pasul 3: ceas digital BlackBerry

Ceas digital BlackBerry
Ceas digital BlackBerry

Scopul ceasului digital pe care l-am creat este ca luminile senzorilor să nu se activeze în timpul zilei și să funcționeze doar în timpul în care utilizatorul a introdus. Ceasul digital necesită intrare hour_in și mins_in folosind comutatoare pe placa basys3 și, pentru a putea încărca pe placa, trebuie să apăsați (led_btn), astfel încât să o afișeze la bord. Am adăugat și butonul de resetare (rst_b), astfel încât să puteți încărca din nou o altă oră. Deoarece basys3 are suficient spațiu pentru a afișa 3 instanțe diferite de informații, am implementat secundele în fundal. În acest scop, am implementat un comutator de secunde, astfel încât acesta va crește în timp doar când utilizatorul decide să activeze intrarea (e_sec) pe placa basys3. Cadrul intern de lucru în interiorul ceasului digital este alcătuit din flip-flop-uri care stochează timpul introdus și contoare care incrementează timpul introdus de utilizator numai când (e_sec) este pornit. Vom adăuga codul, astfel încât să puteți vedea cum a fost implementat exact.

Pasul 4: Componente împreună și descriere

Componente împreună și descriere
Componente împreună și descriere
Componente împreună și descriere
Componente împreună și descriere

Imaginile de mai sus arată cum sunt conectate componentele între ele. Începe prin primirea primelor ore și minute de intrare. Semnalele de la acele intrări sunt trimise la contor de ore și contoare de minute în care se adaugă biții împreună, iar semnalele de ieșire ale contoarelor sunt trimise la componenta SSEG unde convertește biții în caractere specifice care vor fi afișate pe placa basys3. Cu toate acestea, semnalul de la contoare nu va fi trimis către componenta SSEG până când utilizatorul nu a apăsat intrarea (led_btn), acest lucru a fost făcut deoarece nu am creat FSM pentru ceasul digital. De asemenea, timpul introdus nu va crește până când comutatorul de intrare (e_sec) este activat deoarece altfel contorul de secunde ar rula întotdeauna în fundal. Odată ce secțiunea contorului a atins „59”, acesta va trimite semnal către minute, astfel încât să mărească minutele, același lucru se face de la minute la ore. De asemenea, există intrări ale senzorului de mișcare, iar semnalele sunt trimise către componenta FSM unde determină în ce stare să meargă, în funcție de senzor. Starea sa inițială este când toți senzorii sunt opriți. Toată descrierea FSM a fost descrisă în pasul 2.

Pasul 5: Cod

Pasul 6: Modificări viitoare

În viitor, adăugarea senzorilor de mișcare cu combinație de LED-uri la proiect ar fi o îmbunătățire, astfel încât să putem crește complexitatea proiectului și să vedem dacă putem crea un senzor modern de lumină de mișcare. Acest lucru ar crea mai multe probleme, deoarece va trebui să vă gândiți și la proximitatea obiectului, astfel încât luminile să se aprindă corespunzător. În plus, toate celelalte funcționalități anterioare. De asemenea, îmbunătățirea funcționalității ceasului digital folosind un FSM, în loc să aștepte ca utilizatorul să activeze secunde (e_sec). FSM pentru un ceas digital ar fi similar cu cel al senzorului de mișcare.

Pasul 7: Concluzie

În general, acest proiect ne-a ajutat să înțelegem mai bine modul în care funcționează mașinile cu stări finite. În plus, cu FSM trebuie întotdeauna să ții cont de faptul că trebuie să știi în ce stare te afli și când vrei să te schimbi într-o altă stare. Cu alte cuvinte, trebuie să știți unde vă aflați la un moment dat și unde veți fi mai târziu. Ținând cont de ce factori vă vor permite (intrări) să treceți la o altă stare și ce va face atunci când ajunge acolo (ieșire). De asemenea, am învățat cum să stocăm informații pe placa basys3 folosind flip-flops care sunt registre și cum să incrementăm timpul folosind contoare care adaugă numere binare împreună.

Pasul 8: Citare

Two_sseg.vhdl = universal_sseg_dec.vhd

Ratner, James și Cheng Samuel.. Ratface Engineering.universal_sseg_dec.vhd

Recomandat: