Sommario:
- Passaggio 1: attrezzatura necessaria
- Passaggio 2: diagramma blackbox/macchina a stati finiti
- Passaggio 3: orologio digitale BlackBox
- Passaggio 4: componenti insieme e descrizione
- Passaggio 5: codice
- Passaggio 6: modifiche future
- Passaggio 7: conclusione
- Passaggio 8: citazione
Video: Luci con sensore di movimento Basys3: 8 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
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
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
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
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
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:
Campanello con sensore di movimento: 5 passaggi (con immagini)
Campanello con sensore di movimento: quando ho raccontato a mio figlio Jayden della sfida, ha subito pensato di utilizzare il set LEGO WeDo. Ha giocato con i Lego per anni, ma solo all'inizio dello scorso anno scolastico ha avuto l'opportunità di programmare con WeDo 2.0
Sensore tattile e sensore sonoro che controllano le luci AC/DC: 5 passaggi
Sensore tattile e sensore sonoro che controllano le luci AC/DC: questo è il mio primo progetto e funziona sulla base di due sensori di base uno è il sensore tattile e il secondo è il sensore sonoro, quando si preme il touch pad sul sensore tattile la luce AC si accenderà ON, se lo rilasci la luce sarà OFF, e lo stesso
Chi c'è alla mia porta? Progetto sensore di movimento PIR/sensore di portata: 5 passaggi
Chi c'è alla mia porta? Progetto sensore di movimento PIR/sensore di portata: il nostro progetto ha lo scopo di rilevare il movimento tramite sensori PIR e di distanza. Il codice Arduino emetterà un segnale visivo e audio per dire all'utente che qualcuno è vicino. Il codice MATLAB invierà un segnale e-mail per avvisare l'utente che qualcuno è vicino. Questo dispositivo
Luci controllate da sensore di movimento/contatore: 7 passaggi
Luci controllate da sensore di movimento/contatore: questo progetto è stato creato come progetto finale per un corso di Digital Design presso Cal Poly, San Luis Obispo (CPE 133). Perché lo stiamo facendo? Vogliamo aiutare a conservare le risorse naturali nel mondo. Il nostro progetto si concentra sul risparmio di energia elettrica. Risparmiando più ele
Luci natalizie fai-da-te con musica - Luci della casa coreografate: 15 passaggi (con immagini)
Luci di Natale fai da te messe in musica - Luci di casa coreografate: Luci di Natale fai da te messe in musica - Luci di casa coreografate Questo NON è un fai-da-te per principianti. Avrai bisogno di una solida conoscenza di elettronica, circuiti, programmazione BASIC e intelligenza generale sulla sicurezza elettrica. Questo fai-da-te è per una persona esperta, quindi