Table des matières:

Métronome CPE 133 : 3 étapes
Métronome CPE 133 : 3 étapes

Vidéo: Métronome CPE 133 : 3 étapes

Vidéo: Métronome CPE 133 : 3 étapes
Vidéo: CPE 133 Project: Square Muse Sequencer 2024, Novembre
Anonim
CPE 133 Métronome
CPE 133 Métronome

Pour notre projet final à Cal Poly, nous avons créé un dispositif de maintien du tempo appelé métronome, nous avons choisi ce projet en raison d'un intérêt pour la musique et le design numérique. Nous avons utilisé les précédents laboratoires du CPE 133 pour nous aider à concevoir notre code et des didacticiels en ligne pour aider à la construction du circuit LED sur la planche à pain.

Étape 1: Architecture du système

Architecture du système
Architecture du système
Architecture du système
Architecture du système
Architecture du système
Architecture du système

Nous avons implémenté cette conception en utilisant une carte FPGA Basys 3, une planche à pain, des LED, des résistances et des cavaliers pour la connexion.

Le but de cette conception est d'augmenter et de diminuer la vitesse à laquelle les LED clignotent d'avant en arrière. Le rythme auquel ils clignotent s'appelle un tempo. Le tempo souhaité a été obtenu en utilisant les boutons de la carte FPGA Basys 3 pour augmenter ou diminuer le tempo de la lumière.

Si le bouton haut était enfoncé, la vitesse des lumières augmentait, si le bouton bas était enfoncé, la vitesse diminuerait.

Étape 2: Architecture des circuits

Architecture de circuits
Architecture de circuits
Architecture de circuits
Architecture de circuits

Architecture du système: anti-rebond de bouton: nous avons implémenté un anti-rebond de bouton dans le circuit pour garantir que lorsque nous cliquons sur un bouton, le tempo augmente d'un intervalle. Sans l'anti-rebond, une simple pression sur le bouton augmenterait avec la fréquence de l'horloge.

Tempo Changer: le changeur de tempo a été utilisé pour augmenter ou diminuer la valeur MAX_COUNT utilisée par le diviseur d'horloge pour contrôler la sortie d'horloge qui pilote la LED.

Registre: Un registre a été utilisé pour contenir les valeurs de notre nouveau MAX_COUNT qui a été émis par le changeur de tempo. Un CLR a été ajouté au registre pour réinitialiser le MAX_COUNT à une valeur correspondant à une fréquence d'horloge de 1 seconde.

Diviseur d'horloge: Un diviseur d'horloge est utilisé pour ralentir les impulsions d'horloge de la carte BASYS 3, cela se fait en divisant la fréquence de l'horloge par la valeur MAX_COUNT qui a été modifiée dans le changeur de tempo.

Registre à décalage: un registre à décalage de 4 bits modifié a été utilisé pour fournir un « 1 » ou une valeur élevée à notre circuit LED sur la planche à pain sur le front montant de l'impulsion d'horloge. Avec 4 LED sur la planche à pain, nous n'avons pu émettre que sur 1 des 4 LED à la fois, successivement, créant une séquence répétitive de 4 temps. Le registre à décalage a été modifié de telle sorte que la sortie 4 bits ne contenait qu'une valeur élevée, c'est-à-dire "0001" ou "0100".

Conseillé: