Talaan ng mga Nilalaman:

CPE 133 Metronome: 3 Mga Hakbang
CPE 133 Metronome: 3 Mga Hakbang

Video: CPE 133 Metronome: 3 Mga Hakbang

Video: CPE 133 Metronome: 3 Mga Hakbang
Video: 3/4 METRONOME 133 BPM △ 2024, Nobyembre
Anonim
CPE 133 Metronome
CPE 133 Metronome

Para sa aming panghuling proyekto sa Cal Poly lumikha kami ng isang aparato ng pag-iingat ng tempo na tinatawag na isang metronom, pinili namin ang proyektong ito dahil sa isang interes na musika at digital na disenyo. Gumamit kami ng mga nakaraang lab sa CPE 133 upang matulungan ang disenyo ng aming code at mga tutorial sa online na tumulong sa pagtatayo ng LED circuit sa breadboard.

Hakbang 1: System Architecture

System Architecture
System Architecture
System Architecture
System Architecture
System Architecture
System Architecture

Ipinatupad namin ang disenyo na ito gamit ang isang Basys 3 FPGA board, Breadboard, LED's, Resistors, at jumper para sa koneksyon.

Ang layunin ng disenyo na ito ay upang taasan at bawasan ang rate kung saan pabalik-balik ang flash ng LED. Ang bilis ng pag-flash ng mga ito ay tinatawag na tempo. Ang nais na tempo ay nakamit sa pamamagitan ng paggamit ng mga pindutan sa Basys 3 FPGA board upang madagdagan o mabawasan ang tempo ng ilaw.

Kung ang pindutan ng itaas ay pinindot ang mga ilaw ay tumaas sa bilis, kung ang pindutang pababa ay pinindot ang bilis ay bababa.

Hakbang 2: Arkitektura ng Circuit

Arkitektura ng Circuit
Arkitektura ng Circuit
Arkitektura ng Circuit
Arkitektura ng Circuit

System Architecture: Button De-bounce: Nagpapatupad kami ng isang pindutan na de-bounce sa circuit upang matiyak na kapag nag-click kami sa isang pindutan upang madagdagan ang tempo ng isang agwat. Nang walang de-bounce isang solong pagpindot sa pindutan ay tataas sa dalas ng orasan.

Tempo Changer: Ginamit ang tempo changer upang madagdagan o mabawasan ang halagang MAX_COUNT na ginamit ng divider ng orasan upang makontrol ang output ng orasan na nag-mamaneho sa LED.

Magrehistro: Ginamit ang isang rehistro upang hawakan ang mga halaga ng aming bagong MAX_COUNT na output mula sa tempo changer. Ang isang CLR ay idinagdag sa rehistro upang i-reset ang MAX_COUNT sa isang halagang naaayon sa isang 1 segundong dalas ng orasan.

Clock Divider: Ginagamit ang isang divider ng orasan upang mabagal ang mga pulso ng orasan ng board na BASYS 3, ginagawa ito sa pamamagitan ng paghahati ng dalas ng orasan ng MAX_COUNT na halaga na binago sa tempo changer.

Ang Shift Register: isang binagong 4-bit shift register ay ginamit upang mag-output ng isang '1' o mataas na halaga sa aming LED circuit sa breadboard sa tumataas na gilid ng pulso ng orasan. Sa 4 na mga LED sa breadboard, nakapag-output kami sa 1 lamang sa 4 na mga LED nang paisa-isa, sunud-sunod, na gumagawa ng isang paulit-ulit na pagkakasunud-sunod ng 4-beat. Ang rehistro ng paglilipat ay binago tulad ng ang 4-bit na output ay naglalaman lamang ng 1 mataas na halaga, ibig sabihin, "0001" o "0100."

Inirerekumendang: