Étape 4: En utilisant mon Code
Le code est en fait assez simple, mais étant donné que mes lecteurs viennent de nombreux horizons différents de connaissance j’irai toujours sur les bases de mon code.
Comme j’ai mentionné précédemment, j’ai dû couper quelques coins pour ajouter des boutons supplémentaires pour l’attiny afin de garder à l’esprit que dans mon code chaque fois que vous voyez quelque chose comme "if(analogRead(pot)<POT_THRESHOLD)" cela signifie que nous vérifions si la touche a été enfoncée.
Je voulais donc dans ma conception de ce séquenceur, l’utilisateur de programmer le droit étapes Lorsque l’appareil est allumé. Pour ce faire, j’ai utilisé la fonction « setup() ». Cette fonction est exécutée lorsque l’attiny initialement pouvoir, ou si sa broche de remise à zéro est défini sur faible. J’ai ajouté une tonalité de démarrage (qui est un peu arpège d’un accord majeur c) pour notifier l’utilisateur qu’ils sont en mode de programmation fréquence. Pour visualiser la logique de programmation les fréquences, voir la fonction setFrequencies(). (Fondamentalement il traverse chaque étape et définit la fréquence égale à une valeur lue par le potentiomètre et passe à l’étape suivante que lorsque le bouton est enfoncé).
Dans la boucle principale (« loop()), l’attiny est dit d’aller à travers chaque étape et pour chaque étape, allumer la diode DEL. Alors jouer la note assignée à cette étape, la longueur de la note spécifiée. Pendant ce temps, le microcontrôleur est de vérifier si le bouton (analogRead(pot) < 30) est pressé. Si c’est le cas, le programme insère une fonction appelée « setSustain() ». Dans cette fonction, l’utilisateur peut sélectionner la longueur des notes, (via le bouton et le potentiomètre).
C’est tout ce qu’il faut le code, j’espère que c’est assez simple pour vous. Si ce n’est pas je serais heureux de répondre à des questions dans les commentaires !