Sommario:

CPE 133 Metronomo: 3 passaggi
CPE 133 Metronomo: 3 passaggi

Video: CPE 133 Metronomo: 3 passaggi

Video: CPE 133 Metronomo: 3 passaggi
Video: 3/4 METRONOME 132 BPM △ 2024, Novembre
Anonim
CPE 133 Metronomo
CPE 133 Metronomo

Per il nostro progetto finale al Cal Poly abbiamo creato un dispositivo per tenere il tempo chiamato metronomo, abbiamo scelto questo progetto per un interesse per la musica e il design digitale. Abbiamo utilizzato i laboratori precedenti in CPE 133 per aiutare a progettare il nostro codice e tutorial online per assistere nella costruzione del circuito LED sulla breadboard.

Passaggio 1: architettura di sistema

Architettura di sistema
Architettura di sistema
Architettura di sistema
Architettura di sistema
Architettura di sistema
Architettura di sistema

Abbiamo implementato questo progetto utilizzando una scheda FPGA Basys 3, breadboard, LED, resistori e ponticelli per la connessione.

Lo scopo di questo progetto è aumentare e diminuire la velocità con cui i LED lampeggiano avanti e indietro. Il ritmo con cui lampeggiano è chiamato tempo. Il tempo desiderato è stato ottenuto utilizzando i pulsanti sulla scheda Basys 3 FPGA per aumentare o diminuire il tempo della luce.

Se si premeva il pulsante su le luci aumentavano di velocità, se si premeva il pulsante giù la velocità diminuiva.

Passaggio 2: architettura del circuito

Architettura del circuito
Architettura del circuito
Architettura del circuito
Architettura del circuito

Architettura di sistema: pulsante antirimbalzo: abbiamo implementato un pulsante antirimbalzo nel circuito per garantire che quando si fa clic su un pulsante per aumentare il tempo di un intervallo. Senza il de-bounce, una singola pressione del pulsante aumenterebbe con la frequenza dell'orologio.

Tempo Changer: Il tempo changer è stato utilizzato per aumentare o diminuire il valore MAX_COUNT utilizzato dal divisore di clock per controllare l'uscita del clock che aziona il LED.

Registro: è stato utilizzato un registro per contenere i valori del nostro nuovo MAX_COUNT che è stato emesso dal cambio di tempo. Un CLR è stato aggiunto al registro per reimpostare MAX_COUNT a un valore corrispondente a una frequenza di clock di 1 secondo.

Divisore di clock: un divisore di clock viene utilizzato per rallentare gli impulsi di clock della scheda BASYS 3, ciò avviene dividendo la frequenza di clock per il valore MAX_COUNT che è stato modificato nel cambio di tempo.

Registro a scorrimento: è stato utilizzato un registro a scorrimento a 4 bit modificato per emettere un valore "1" o alto al nostro circuito LED sulla breadboard sul fronte di salita dell'impulso di clock. Con 4 LED sulla breadboard, siamo stati in grado di emettere solo 1 dei 4 LED alla volta, in successione, ripetendo una sequenza di 4 battute. Il registro a scorrimento è stato modificato in modo tale che l'uscita a 4 bit contenesse solo 1 valore alto, ovvero "0001" o "0100".

Consigliato: