Indholdsfortegnelse:

CPE 133 Metronom: 3 trin
CPE 133 Metronom: 3 trin

Video: CPE 133 Metronom: 3 trin

Video: CPE 133 Metronom: 3 trin
Video: Март AMEB, 2 класс, исполнение на флейте, метроном, минусовка 2024, November
Anonim
CPE 133 metronom
CPE 133 metronom

Til vores afsluttende projekt på Cal Poly skabte vi en tempoholdende enhed kaldet en metronom, vi valgte dette projekt på grund af en interesse musik og digitalt design. Vi brugte tidligere laboratorier i CPE 133 til at hjælpe med at designe vores kode og online tutorials til at hjælpe med at konstruere LED -kredsløbet på brødbrættet.

Trin 1: Systemarkitektur

Systemarkitektur
Systemarkitektur
Systemarkitektur
Systemarkitektur
Systemarkitektur
Systemarkitektur

Vi implementerede dette design ved hjælp af et Basys 3 FPGA -bord, Breadboard, LED’er, modstande og jumpere til tilslutning.

Formålet med dette design er at øge og reducere den hastighed, hvormed LED'erne blinker frem og tilbage. Det tempo, hvormed de blinker, kaldes et tempo. Det ønskede tempo blev opnået ved at bruge knapperne på Basys 3 FPGA -kortet til at øge eller reducere lysets tempo.

Hvis der blev trykket på op -knappen, steg lysene i hastighed, hvis der blev trykket på ned -knappen, ville hastigheden falde.

Trin 2: Kredsløbsarkitektur

Kredsløbsarkitektur
Kredsløbsarkitektur
Kredsløbsarkitektur
Kredsløbsarkitektur

Systemarkitektur: Knap De-bounce: Vi implementerede en knap de-bounce i kredsløbet for at sikre, at når vi klikker på en knap for at øge tempoet med et interval. Uden de-bounce ville et enkelt tryk på knappen stige med urets frekvens.

Tempo -skifter: Tempo -skifter blev brugt til at øge eller reducere MAX_COUNT -værdien, der bruges af urdeleren til at styre urudgangen, der driver LED'en.

Register: Et register blev brugt til at indeholde værdierne for vores nye MAX_COUNT, der blev udsendt fra temposkifteren. En CLR blev føjet til registret for at nulstille MAX_COUNT til en værdi, der svarer til en 1-sekunders urfrekvens.

Clock Divider: En urdeler bruges til at bremse urpulserne på BASYS 3 -kortet, dette gøres ved at dividere urets frekvens med MAX_COUNT -værdien, der er blevet ændret i temposkifteren.

Skiftregister: et modificeret 4-bit skiftregister blev brugt til at sende en '1' eller høj værdi til vores LED-kredsløb på brødbrættet på den stigende kant af urpulsen. Med 4 lysdioder på brødbrættet kunne vi kun sende til 1 af de 4 lysdioder ad gangen efter hinanden og lave en gentagende 4-takts sekvens. Skiftregistret blev ændret således, at 4-bit output kun indeholdt 1 høj værdi, dvs. "0001" eller "0100."

Anbefalede: