Sommario:
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
Questa guida ti mostrerà come utilizzare un FPGA per creare una luce attivata da un sensore di movimento di colore variabile finché c'è movimento. I livelli di rosso, blu e verde sono tutti controllati agganciando un valore a ogni singolo colore. Questo progetto è stato creato da Timmy Nguyen e Ryan Luke per un progetto finale di classe CPE 133.
Passaggio 1: parti
Raccogli le seguenti parti:
-1 scheda FPGA Basys 3
-1 tagliere
-1 LED analogico RGB
-3 MOSFET npn/n-canale
-1 Resistenza da 220 ohm
-1 sensore di movimento PIR
-più cavi jumper
Passaggio 2: programmare l'FPGA Basys 3
Per questo progetto, utilizziamo la modulazione di larghezza di impulso (PWM) per controllare la luminosità e il colore di un LED RGB, che si accende e si spegne in base all'uscita di un sensore PIR di rilevamento del movimento. Se il sensore rileva un movimento, il LED si accenderà per circa 4 secondi, che è una funzione del sensore.
Tutti i file necessari per questo progetto sono inclusi in questa sezione.
Moduli:
Divisore di clock: il clock integrato del Basys 3 ha una frequenza di 100 MHz, quindi vogliamo portare quella frequenza a 10 KHz per gestirla meglio nel contatore.
Contatore: il contatore utilizza i 10 KHz ridotti come ingresso e conta fino a 255 quando è abilitato dal sensore di movimento.
3 D Flip Flop: l'utente aziona una qualsiasi varietà degli 8 interruttori sulla scheda e questi flip flop, quando abilitati dalla pressione del pulsante di abilitazione di quel flip flop, bloccheranno il valore degli interruttori nel comparatore. Questo valore bloccato determinerà il ciclo di lavoro, o larghezza di impulso, del segnale di uscita che va al LED.
3 Comparatori: l'uscita a 8 bit dal contatore va a ciascuno dei comparatori separatamente e viene confrontata con l'uscita a 8 bit del flip flop. Se l'uscita del contatore è inferiore al valore latch del D Flip Flop, il comparatore emetterà un valore High di un bit; se l'uscita del contatore è maggiore del valore bloccato, il comparatore emetterà un valore basso di un bit. Il comparatore quindi emette il suo valore nel decodificatore del sensore.
3 Decodificatori del sensore: il decodificatore del sensore emetterà il valore del comparatore se viene rilevato un movimento dal sensore (1) o una bassa tensione (0) se non c'è movimento. Queste uscite vanno direttamente al LED RGB.
Dopo aver scaricato i file VHD:
Una volta scaricati i file e inseriti in un progetto, sintetizzare, implementare e scrivere il flusso di bit per il progetto. Quindi collegare la scheda basys 3 e programmare il dispositivo.
Passaggio 3: costruisci il circuito su breadboard
Puoi seguire lo schema e le foto creare il circuito. Le masse sono comuni in tutto il circuito e resistori aggiuntivi possono essere aggiunti in serie con i mosfet per attenuare ulteriormente i segnali rosso, blu o verde.
Passaggio 4: collegare i componenti alla scheda Basys 3
Puoi utilizzare lo schema e i riferimenti nelle foto per collegare la tua scheda Basys 3 alla breadboard.
Passaggio 5: come utilizzare
È possibile immettere un valore binario rappresentato dagli interruttori SW0-SW7. Una volta ottenuto questo valore, è possibile premere i pulsanti BTN_L (rosso), BTN_C (blu) e BTN_R (verde) per agganciare quel valore al colore selezionato dal pulsante. Nel frattempo, il sensore di movimento attiverà il LED per illuminarsi ad ogni movimento.