Étape 5: Comment ça marche
PROGMEM
Tout d’abord, je pense que j’ai besoin d’aborder ce que PROGMEM est pour les débutants. PROGMEM est le moyen de stocker des variables dans la mémoire de programme, par opposition à la dynamique de la mémoire ou SRAM. Si un croquis a trop de variables globales, on peut dépasser la quantité de SRAM. Quand cela arrive, l’esquisse ne fonctionnera pas et va se planter. Ainsi, on peut se déplacer toutes les variables à la mémoire de programme afin de libérer l’espace au sein de SRAM. Toutefois, les fonctions spéciales doivent être appelée pour récupérer les variables d’espace mémoire programme. C’est une affaire délicate et peut être très frustrant par moments, mais c’est la meilleure chose à faire lorsque vous travaillez avec des tableaux très longues afin d’économiser de l’espace (SRAM). Voir ici pour plus de détails et d’exemples.
Fonctionne de la chanson :
Pour jouer à plusieurs tons, j’ai diviser chaque battement en quatre temps plus petits - que j’ai appelée minis battements. Chaque battement mini est donc équivalent à un 16e note. Ces battements minis agissent comme le compteur pour quand une note doit être jouée et quand il doit se terminer - simple que cela. En réalité, le mini battement a juste besoin d’être la plus petite note dans toute la pièce. J’ai choisi un 16e note parce que très peu de morceaux ont notes 32e. Oui, certaines pièces d’orchestre ont notes 32e, mais voulez-vous vraiment à jouer que sur un arduino ? Dans tous les cas, il serait très facile de le changer à 32e Remarque mini battements si vous le désirez.
Fonctionne de l’Animation :
Au lieu d’écrire tout mon char personnalisés tableaux en binaire, octal ou hexadécimal, tout est écrit sous forme décimale. Vous pouvez en effet créer char personnalisé à l’aide de valeurs décimales entre 0 et 31.
Maintenant l’ordinateur voit encore l’entier en tant que valeur binaire dans le back-end, donc en utilisant des opérations peu vous pouvez changer cette valeur juste saisir une sous-chaîne de longueur cinq d’à utiliser pour la création personnalisée de char. (Remarque : chaque volet du 16 x 2 LCD est cinq pixels de large).
Par exemple : en regardant mon tableur excel, par exemple je veux que les cinq premiers pixels sur kk slider au rang 0 sur colonnes 12-8. La valeur décimale de la ligne entière est 896 - qui est 0001110000000 en binaire. Donc si j’ai déplacer 896 huit fois vers la gauche, je vais obtenir 3 - qui est 00011 en binaire.
Faire ce qui précède sur huit lignes totales pour obtenir suffisamment de données pour créer un caractère personnalisé. Voilà l’essentiel de celui-ci.
Alors pourquoi utiliser des valeurs décimales ? Vous ne devez en fait, c’est purement pour l’esthétique. Taper un tas de 0 et de 1 pourrait conduire vous fou et il y a beaucoup plus de place à l’erreur. En outre, je n’aime pas avoir un prendre char personnalisé tant de lignes, c’est pourquoi je viens fourrer une image en une seule ligne. Si vous utilisiez des valeurs binaires chaque ligne serait super long pour faire défiler. C’est donc ce que vous préférez. À ma grande surprise, mon esquisse fonctionne réellement qu’il en soit (j’ai testé).