Cuprins:
- Pasul 1: Echipament necesar
- Pasul 2: Diagramă cutie neagră / Mașină de stat finită
- Pasul 3: ceas digital BlackBerry
- Pasul 4: Componente împreună și descriere
- Pasul 5: Cod
- Pasul 6: Modificări viitoare
- Pasul 7: Concluzie
- Pasul 8: Citare
Video: Senzorii de mișcare se bazează pe 3: 8 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
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
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ă
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
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
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:
Noțiuni introductive despre senzorii de temperatură și vibrații fără fir cu rază lungă de acțiune: 7 pași
Noțiuni introductive despre senzorii de temperatură și vibrații fără fir cu rază lungă de acțiune: Uneori vibrațiile sunt cauza problemelor grave în multe aplicații. De la arborii și rulmenții mașinii până la performanța hard disk-ului, vibrațiile cauzează deteriorarea mașinii, înlocuirea timpurie, performanța scăzută și provoacă un impact major asupra preciziei. Monitorizarea
Benzi LED pentru placă de surf reactivă la mișcare: 8 pași (cu imagini)
Benzi LED cu placă de surf reactivă la mișcare: Recent, eu și câțiva prieteni am descoperit surfingul pe râu. Locuind în München, suntem norocoși să avem trei valuri de râu navigabile printre faimosul spot de surf Eisbach. Dezavantajul surfingului pe râu este că este destul de captivant și așa că rar găsesc timp pentru
Alarma senzorului de mișcare: 5 pași
Alarma senzorului de mișcare: Verificați întotdeauna cine este la ușa dvs.? Acesta este elementul perfect pentru dvs. Am fost mereu curios să știu dacă există oameni în afara ușii mele fără să știu. Am creat această alarmă cu senzor de mișcare cu lumini LED care vor indica
Senzor de sunet și servo: mișcare reactivă: 4 pași
Senzor de sunet și servo: mișcare reactivă: mai întâi trebuie să adunați materialele relevante pentru a pune împreună acest circuit
Ceas de perete explodant DIY cu iluminare de mișcare: 20 de pași (cu imagini)
Ceas de perete explodant DIY cu iluminare de mișcare: În acest video / instructiv vă voi arăta pas cu pas cum să creați un ceas de perete cu aspect unic și creativ, cu sistem de iluminare integrată. Această idee de design de ceas destul de unică este orientată pentru a face ceasul mai interactiv. . Când merg