Innehållsförteckning:

CPE 133 metronom: 3 steg
CPE 133 metronom: 3 steg

Video: CPE 133 metronom: 3 steg

Video: CPE 133 metronom: 3 steg
Video: 130 BPM 3/4 Wood Metronome HD 2024, November
Anonim
CPE 133 metronom
CPE 133 metronom

För vårt slutprojekt på Cal Poly skapade vi en tempobehållare som kallas en metronom, vi valde detta projekt på grund av ett intresse för musik och digital design. Vi använde tidigare laboratorier i CPE 133 för att hjälpa till att utforma vår kod och onlinehandledning för att hjälpa till med att bygga LED -kretsen på brödbrädet.

Steg 1: Systemarkitektur

system arkitektur
system arkitektur
system arkitektur
system arkitektur
system arkitektur
system arkitektur

Vi implementerade denna design med ett Basys 3 FPGA -kort, brödbräda, lysdioder, motstånd och hoppare för anslutning.

Syftet med denna design är att öka och minska den hastighet med vilken lysdioderna blinkar fram och tillbaka. Den takt som de blinkar kallas ett tempo. Det önskade tempot uppnåddes genom att använda knapparna på Basys 3 FPGA -kortet för att öka eller minska ljusets tempo.

Om du trycker på upp -knappen ökade lamporna i hastighet, om ned -knappen trycktes ned skulle hastigheten minska.

Steg 2: Kretsarkitektur

Kretsarkitektur
Kretsarkitektur
Kretsarkitektur
Kretsarkitektur

Systemarkitektur: Knappavstängning: Vi implementerade en knappavstängning i kretsen för att säkerställa att när vi klickade på en knapp för att öka tempot med ett intervall. Utan avstoppningen skulle ett enda tryck på knappen öka med klockans frekvens.

Tempoväxlare: Tempoväxlare användes för att öka eller minska MAX_COUNT -värdet som används av klockavdelaren för att styra klockutgången som driver lysdioden.

Register: Ett register användes för att hålla värdena för vårt nya MAX_COUNT som matades ut från tempoväxlaren. En CLR lades till i registret för att återställa MAX_COUNT till ett värde som motsvarar en 1-sekunders klockfrekvens.

Clock Divider: En klockdelare används för att sakta ner BASYS 3 -kortets klockpulser, detta görs genom att dividera klockans frekvens med MAX_COUNT -värdet som har ändrats i tempoväxlaren.

Skiftregister: ett modifierat 4-bitars skiftregister användes för att mata ut ett '1' eller högt värde till vår LED-krets på brödbrädan på klockpulsens stigande kant. Med 4 lysdioder på brödbrädan kunde vi mata ut till endast 1 av de 4 lysdioderna i taget, i följd, vilket gjorde en repeterande 4-takts sekvens. Skiftregistret modifierades så att 4-bitarsutmatningen endast innehöll 1 högt värde, dvs "0001" eller "0100."

Rekommenderad: