Sommario:
- Passaggio 1: materiali
- Passaggio 2: inizio della codifica
- Passaggio 3: file dei vincoli
- Passaggio 4: file flip-flop
- Passaggio 5: file dei segmenti
- Passaggio 6: file divisore orologio
- Passaggio 7: file del segnale del servo
- Passaggio 8: file servo superiore
- Passaggio 9: file superiore
- Passaggio 10: test in Vivado
- Passaggio 11: introduzione all'hardware di costruzione
- Passaggio 12: preparazione
- Passaggio 13: saldatura
- Fase 14: Finale
Video: CPE 133 Cestino sorter: 14 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Per la nostra classe CPE 133 al Cal Poly ci è stato detto di creare un progetto VHDL/Basys 3 che avrebbe aiutato l'ambiente ed era abbastanza semplice da poterlo implementare con la nostra nuova conoscenza del design digitale. L'idea alla base del nostro progetto che, in generale, le persone non pensano a dove gettano la spazzatura. Abbiamo deciso di creare una macchina che costringesse le persone a riflettere su dove mettono la spazzatura. Il nostro selezionatore di rifiuti prende l'input dell'utente attraverso tre interruttori, ognuno dei quali rappresenta spazzatura, riciclaggio o compost. Una volta che l'utente ha selezionato il tipo di rifiuto che desidera smaltire, premere un pulsante. Questo pulsante farà aprire i coperchi dei contenitori corrispondenti. La macchina ha anche utilizzato il display della Basys 3 per indicare se uno dei coperchi è attualmente aperto. Al rilascio del pulsante i coperchi si richiuderanno in modo che la macchina sarà pronta per l'utente successivo.
Passaggio 1: materiali
I materiali necessari per questo progetto sono:
Scheda Basys 3
Computer con Vivado installato
3x servo*
3 piedi di filo di rame
Tagliafili/Spelafili
Saldatore e saldatore
*perché i servi sono costosi e noi siamo studenti universitari abbiamo sostituito un resistore da 68 ohm e un LED per ogni servo come prototipo (il codice funziona allo stesso modo)
Passaggio 2: inizio della codifica
C'è molto codice da scrivere per questo progetto. Useremo il codice VHDL scritto in Vivado. Per iniziare vorremmo creare un nuovo progetto. Per prima cosa dai un nome al progetto e specifica il tipo di progetto. Assicurati di selezionare le stesse impostazioni come nella foto. Quando sei arrivato alla schermata dei sorgenti, vorrai aggiungere sei sorgenti denominate "top", "flip_flop", "segments", "servo_top", "servo_sig" e "clk_div". Assicurati di selezionare VHDL per la lingua di ciascun file, non Verilog. Nella schermata dei vincoli dovresti creare un file per l'assegnazione dei pin. Il nome di questo file non è importante. Ti verrà quindi richiesto di selezionare la scheda che utilizzerai. Assicurati di selezionare quello corretto. Foto di riferimento per una corretta selezione. L'ultimo passaggio ti chiederà di specificare gli input e gli output di ciascun file sorgente. Questo passaggio può essere codificato in seguito, quindi fai clic su Avanti.
Passaggio 3: file dei vincoli
In questo passaggio scriveremo il file dei vincoli. Questo dice a Vivado quali pin invieranno/riceveranno quali segnali dal circuito. Avremo bisogno dell'orologio, tre interruttori, il display a sette segmenti (sette catodi e quattro anodi), un pulsante e i tre pin PMOD di uscita che utilizzerà il servo/LED. Foto di riferimento per come dovrebbe apparire il codice.
Passaggio 4: file flip-flop
Il prossimo file che scriveremo è il file sorgente flip_flip. Questa sarà un'implementazione VHDL di un flip flop D. In altre parole, passerà il suo ingresso all'uscita solo sul fronte di salita del segnale di clock e quando viene premuto il pulsante. Prenderà l'orologio, D e il pulsante come input e produrrà Q. farà riferimento alle foto per il codice. Lo scopo di questo file è consentire ai contenitori di aprirsi solo quando viene premuto il pulsante anziché aprirsi direttamente ogni volta che l'interruttore viene girato e chiudersi solo quando l'interruttore viene girato indietro.
Passaggio 5: file dei segmenti
Il prossimo file da scrivere è il file dei segmenti. Questo prenderà il pulsante come nei valori di input e output per i sette catodi e i quattro anodi del display a sette segmenti del Basys 3. Questo file fa sì che il display a sette segmenti mostri una "C" quando i contenitori sono chiusi e una "O" quando i contenitori sono aperti. Per il codice vedi foto allegata.
Passaggio 6: file divisore orologio
I servi funzionano prendendo un segnale PWM con una frequenza di 64k Hz mentre il clock integrato nel Basys 3 funziona a 50M Hz. Il file divisore dell'orologio convertirà l'orologio predefinito in una frequenza amichevole per il servo. Il file prenderà l'orologio e un segnale di reset come input ed emetterà un nuovo segnale di clock. Vedere la foto allegata per il codice.
Passaggio 7: file del segnale del servo
Il file del segnale servo avrà un ingresso di clock, un ingresso di reset e un ingresso di posizione desiderata. Emetterà un segnale PWM che guiderà il servo nella posizione desiderata. Questo file utilizza il segnale di clock creato nell'ultimo file per creare un segnale PWM per il servo con diversi duty cycle a seconda della posizione desiderata. Questo ci permette di girare i servi che controllano i coperchi dei bidoni della spazzatura. Vedere la foto allegata per il codice.
Passaggio 8: file servo superiore
Lo scopo di questo file è compilare gli ultimi due file in un servoazionamento funzionale. Ci vorrà un orologio, un reset e una posizione come ingresso e emetterà il segnale PWM servo. Utilizzerà sia il divisore di clock che il file di segnale servo come componenti e includerà un segnale di clock interno per passare il clock modificato dal divisore di clock al file di segnale servo. Guarda le foto su
Passaggio 9: file superiore
Questo è il file più importante del progetto in quanto racchiude tutto ciò che abbiamo creato insieme. Prenderà il pulsante, i tre interruttori e l'orologio come input. Darà i sette catodi, i quattro anodi e i tre segnali servo/LED come uscite. Utilizzerà il flip flop, i segmenti ei file servo_top come componenti e avrà un interruttore interno e un segnale servo interno.
Passaggio 10: test in Vivado
Esegui sintesi, implementazione e scrivi bitsream in Vivado. Se riscontri messaggi di errore, trova la posizione dell'errore e confrontala con il codice fornito. Risolvere eventuali errori finché tutte queste esecuzioni non vengono completate correttamente.
Passaggio 11: introduzione all'hardware di costruzione
In questo passaggio creerai l'hardware LED che abbiamo utilizzato nel nostro prototipo. Se si utilizzano i servi, il progetto dovrebbe essere pronto per l'uso purché vengano utilizzati i pin corretti. Se si utilizzano i LED, seguire i passaggi seguenti.
Passaggio 12: preparazione
Tagliare il filo in sei pezzi pari. Spelare le estremità di ciascun pezzo di filo in modo da consentire la saldatura. Separare LED, resistori e cavi in tre gruppi. Riscaldare il saldatore.
Passaggio 13: saldatura
Saldare ciascuno dei resistori da 68 ohm sul lato negativo del LED corrispondente. Saldare un filo sul lato positivo del LED e un altro filo sul lato del resistore non saldato al led. Dovresti avere tre degli aggeggi LED nella foto sopra.
Fase 14: Finale
Inserire ciascun filo positivo nel pin PMOD corrispondente e ciascun negativo in un pin PMOD di terra. Facoltativamente, aggiungi contenitori di cartone per rappresentare i contenitori della spazzatura e nascondere il tuo pasticcio di saldatura. Una volta che i cavi sono collegati correttamente e il codice è stato caricato correttamente sulla scheda senza errori, la macchina dovrebbe funzionare come previsto. Se qualcosa va storto, torna ai passaggi precedenti per la risoluzione dei problemi. Divertiti con il tuo nuovo "smistatore di rifiuti".
Consigliato:
CPE 133 Progetto finale da decimale a binario: 5 passaggi
CPE 133 Progetto finale Da decimale a binario: i numeri binari sono una delle prime cose che vengono in mente quando si pensa alla logica digitale. Tuttavia, i numeri binari possono essere un concetto difficile per chi non lo conosce. Questo progetto aiuterà coloro che sono sia nuovi che esperti con i numeri binari a mas
Cestino da appendere Super Weather Station: 11 passaggi (con immagini)
Cesto appeso Super Weather Station: ciao a tutti! In questo post sul blog di T3chFlicks, ti mostreremo come abbiamo realizzato un cestino appeso intelligente. Le piante sono un'aggiunta fresca e salutare a qualsiasi casa, ma possono diventare rapidamente fastidiose, soprattutto se ti ricordi di annaffiarle solo quando
Caricabatterie per telefono agli ioni di litio dal cestino: 4 passaggi
Caricabatterie per telefono agli ioni di litio dal cestino: questo è un power bank rapido e semplice da cose che la maggior parte delle persone ha già in casa
Cestino del sorter - Rileva e ordina il cestino: 9 passaggi
Cestino del sorter - Rileva e ordina i tuoi rifiuti: hai mai visto qualcuno che non ricicla o lo fa in modo negativo? Hai mai desiderato una macchina che riciclasse per te? Continua a leggere il nostro progetto, non te ne pentirai! Sorter bin è un progetto con una chiara motivazione di aiuto
CPE 133 Metronomo: 3 passaggi
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 co