Obsah:

Metronóm CPE 133: 3 kroky
Metronóm CPE 133: 3 kroky

Video: Metronóm CPE 133: 3 kroky

Video: Metronóm CPE 133: 3 kroky
Video: CPE 133 Project: Square Muse Sequencer 2024, November
Anonim
Metronóm CPE 133
Metronóm CPE 133

Pre náš konečný projekt v Cal Poly sme vytvorili zariadenie na udržiavanie tempa nazývané metronóm, tento projekt sme vybrali kvôli záujmu hudby a digitálneho dizajnu. Použili sme minulé laboratóriá v CPE 133 na pomoc pri navrhovaní nášho kódu a online návody na pomoc pri konštrukcii obvodu LED na doske.

Krok 1: Architektúra systému

Architektúra systému
Architektúra systému
Architektúra systému
Architektúra systému
Architektúra systému
Architektúra systému

Tento návrh sme implementovali pomocou dosky FPGA Basys 3, Breadboard, LED, rezistorov a prepojok na pripojenie.

Účelom tohto návrhu je zvýšiť a znížiť rýchlosť, ktorou LED diódy blikajú tam a späť. Tempo, ktorým blikajú, sa nazýva tempo. Požadované tempo bolo dosiahnuté použitím tlačidiel na doske Basys 3 FPGA na zvýšenie alebo zníženie tempa svetla.

Ak stlačíte tlačidlo hore, svetlá zvýšia rýchlosť, ak stlačíte tlačidlo nadol, rýchlosť sa zníži.

Krok 2: Architektúra obvodu

Obvodová architektúra
Obvodová architektúra
Obvodová architektúra
Obvodová architektúra

Architektúra systému: Button De-bounce: V obvode sme implementovali de-bounce tlačidla, aby sme zaistili, že keď klikneme na tlačidlo, zvýši sa tempo o jeden interval. Bez odrazu by sa jediné stlačenie tlačidla zvýšilo s frekvenciou hodín.

Tempo Changer: Menič tempa bol použitý na zvýšenie alebo zníženie hodnoty MAX_COUNT, ktorú rozdeľovač hodín používa na ovládanie hodinového výstupu, ktorý poháňa diódu LED.

Register: Register bol použitý na uchovávanie hodnôt nášho nového MAX_COUNT, ktorý bol vydaný z meniča tempa. Do registra bol pridaný CLR na resetovanie MAX_COUNT na hodnotu zodpovedajúcu 1-sekundovej hodinovej frekvencii.

Oddeľovač hodín: Oddeľovač hodín sa používa na spomalenie hodinových impulzov dosky BASYS 3, pričom sa to vydelí frekvenciou hodín hodnotou MAX_COUNT, ktorá bola zmenená v meniči tempa.

Posuvný register: upravený 4-bitový posuvný register bol použitý na výstup „1“alebo vysokej hodnoty do nášho obvodu LED na nepájivom poli na stúpajúcej hrane hodinového impulzu. So 4 LED diódami na doske sme boli schopní produkovať iba 1 zo 4 LED súčasne, čím sme vytvorili opakujúcu sa 4-taktnú sekvenciu. Posuvný register bol upravený tak, že 4-bitový výstup obsahoval iba 1 vysokú hodnotu, t.j. „0001“alebo „0100“.

Odporúča: