Sommario:

Luci con sensore di movimento Basys3: 8 passaggi
Luci con sensore di movimento Basys3: 8 passaggi

Video: Luci con sensore di movimento Basys3: 8 passaggi

Video: Luci con sensore di movimento Basys3: 8 passaggi
Video: Top 10 Best Outdoor Motion Sensor Lights in 2023 | In-Depth Reviews & Buying Guide 2024, Novembre
Anonim
Luci con sensore di movimento Basys3
Luci con sensore di movimento Basys3
Luci con sensore di movimento Basys3
Luci con sensore di movimento Basys3
Luci con sensore di movimento Basys3
Luci con sensore di movimento Basys3

Per il nostro progetto finale di progettazione digitale, abbiamo deciso di simulare le luci dei sensori di movimento. Si attivano non solo quando un oggetto è vicino, ma si attivano anche solo durante una certa ora del giorno. Siamo in grado di modellarlo utilizzando FPGA (scheda Basys3). Durante l'utilizzo dell'FPGA abbiamo consentito a un utente di inserire un tempo in cui i sensori di movimento possono iniziare ad attivarsi, quindi i sensori invieranno un segnale a seconda di quale sensore è è accendere quella luce specifica in quella stanza o area. Abbiamo modellato questo consentendo l'attivazione di un solo sensore di movimento alla volta e accendendo di conseguenza le luci indicate. A causa della limitazione del tempo, non siamo in grado di fare in modo che il tempo immesso dall'utente influisca sull'attivazione del sensore di movimento. Tuttavia, la base della nostra logica dovrebbe consentire a qualcuno di replicarla facilmente e migliorarla.

### Il link sotto mostra un video del progetto

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

Passaggio 1: attrezzatura necessaria

Attrezzature necessarie
Attrezzature necessarie

Per questo progetto, avrai bisogno di quanto segue:

-Scheda Basys3

-Cavo da USB a microusb

-8 fili del ponticello della breadboard

-tagliere

-2 LED diffusi

Passaggio 2: diagramma blackbox/macchina a stati finiti

Diagramma Blackbox/Macchina a stati finiti
Diagramma Blackbox/Macchina a stati finiti
Diagramma Blackbox/Macchina a stati finiti
Diagramma Blackbox/Macchina a stati finiti

Questo diagramma a scatola nera mostra gli ingressi necessari per l'accensione delle luci a led. Gli ingressi Hour input e Min rappresentano il tempo che l'utente ha immesso sulla scheda basys3 (tramite interruttori). Come, per l'input sw rappresenta in quale parte della stanza si trova l'utente (di nuovo usando gli interruttori per rappresentare l'oggetto posizione in cui si trova).

L'FSM mostra il passaggio da un'area all'altra di una stanza in cui si trova un oggetto in un dato momento. Ci sono 4 diversi sensori nelle diverse stanze che sono rappresentati come (s1, s2, s3, s4). Che comandano le uscite, o le luci nelle diverse stanze ad esempio luce (L1, L2, L3). Nello stato iniziale i sensori non rilevano nessuno, quindi tutte le luci sono spente. Per passare allo stato successivo (Stato 1), s1 deve rilevare qualcuno, s2, s3 e s4 saranno spenti. Questo emetterà L1 (accende la luce 1), L2 e L3 saranno spenti. Per passare allo stato 2 dallo stato 1, s1, s3 e s4 devono essere spenti, s2 deve essere acceso. Questo attiverà L1 e L2. Per passare allo stato successivo da questo stato s3 deve essere acceso e tutti gli altri sensori spenti. Questo accenderà L2 e L3, L1 sarà spento. Per passare allo stato finale S4 deve essere acceso e tutti gli altri sensori devono essere spenti. Questo accenderà solo L3, tutte le altre luci saranno spente. Se una persona entra nella stanza dal lato s4 ed esce da s1, tutti i passaggi saranno in ordine inverso.

Passaggio 3: orologio digitale BlackBox

Orologio digitale BlackBox
Orologio digitale BlackBox

Lo scopo dell'orologio digitale che abbiamo creato è che le luci dei sensori non si attivino durante il giorno e funzionino solo durante il tempo inserito dall'utente. L'orologio digitale prende in input hour_in e mins_in utilizzando gli interruttori sulla scheda basys3, e per poterlo caricare sulla scheda è necessario premere il pulsante (led_btn) in modo che lo visualizzi a bordo. Abbiamo anche aggiunto il pulsante di ripristino (rst_b) in modo che tu possa ricaricare un momento diverso. Poiché il basys3 ha spazio sufficiente per visualizzare 3 diverse istanze di informazioni, abbiamo implementato i secondi in background. A questo scopo, abbiamo implementato un interruttore dei secondi in modo che incrementi nel tempo solo quando l'utente decide di attivare l'ingresso (e_sec) sulla scheda basys3. Il frame work interno all'orologio digitale è costituito da flip-flop che memorizzano il tempo immesso e contatori che incrementano il tempo immesso dall'utente solo quando (e_sec) è attivo. Aggiungeremo il codice in modo che tu possa vedere come è stato implementato esattamente.

Passaggio 4: componenti insieme e descrizione

Componenti insieme e descrizione
Componenti insieme e descrizione
Componenti insieme e descrizione
Componenti insieme e descrizione

Le immagini sopra mostrano come i componenti sono collegati tra loro. Inizia prendendo in input ore e minuti. I segnali da quegli ingressi vengono inviati al contatore ore e contatore minuti dove somma i bit insieme e il segnale di uscita dei contatori viene inviato al componente SSEG dove converte i bit in caratteri specifici che verranno visualizzati sulla scheda basys3. Tuttavia, il segnale dai contatori non verrà inviato al componente SSEG finché l'utente non ha premuto input (led_btn) questo è stato fatto perché non abbiamo creato FSM per l'orologio digitale. Inoltre, il tempo immesso non aumenterà fino a quando l'interruttore di input (e_sec) non è attivo perché altrimenti il contatore dei secondi verrebbe sempre eseguito in background. Una volta che il contatore ha raggiunto '59' invierà un segnale ai minuti in modo che incrementi i minuti lo stesso viene fatto da minuti a ore. Inoltre, ci sono ingressi del sensore di movimento e i segnali vengono inviati al componente FSM dove determina a quale stato andare a seconda del sensore acceso. Il suo stato iniziale è quando tutti i sensori sono spenti. Tutta la descrizione di FSM è stata descritta nel passaggio 2.

Passaggio 5: codice

Passaggio 6: modifiche future

In futuro, l'aggiunta di sensori di movimento reali con una combinazione di LED al progetto sarebbe un miglioramento. In modo da poter aumentare la complessità del progetto e vedere se possiamo creare un moderno sensore di luce di movimento. Questo creerebbe più problemi in quanto dovrai pensare anche alla vicinanza dell'oggetto in modo che le luci si accendano di conseguenza. Inoltre, tutte le altre funzionalità precedenti. Inoltre, migliorando la funzionalità dell'orologio digitale utilizzando anche un FSM invece di aspettare che l'utente accenda i secondi (e_sec). L'FSM per un orologio digitale sarebbe simile a quello del sensore di movimento.

Passaggio 7: conclusione

Nel complesso, questo progetto ci ha aiutato a comprendere meglio come funzionano le macchine a stati finiti. Inoltre, con FSM devi sempre tenere a mente che devi sapere in quale stato ti trovi e quando vuoi passare a un altro stato. In altre parole, devi sapere dove ti trovi in un dato momento e dove sarai in un secondo momento. Tenendo presente quali fattori ti permetteranno (input) di passare a un altro stato e cosa farà quando arriverà (output). Abbiamo anche imparato come memorizzare le informazioni all'interno della scheda basys3 utilizzando i flip-flop che sono registri e come incrementare il tempo utilizzando i contatori che sommano i numeri binari.

Passaggio 8: citazione

Il two_sseg.vhdl = universal_sseg_dec.vhd

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

Consigliato: