Video: Metronóm CPE 133: 3 kroky
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
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
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
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“.