Étape 3: Code
Vous ne devez lire ceci sauf si vous voulez salir avec ce qu’il est en cours de lecture ou créer les vôtres. Si vous aimez le moyen anglais tours, vous pouvez ignorer cela.
Instructables ne fixer mes fichiers .ino. Au lieu de cela, je vais utiliser patebin.com. C’est un endroit où vous venez de mettre texte ou le code et les gens peuvent voir et copiez-le. C’est génial.
Partie 5: la synchronisation one : http://pastebin.com/uUEDBbew
Parties 1-4: http://pastebin.com/UZHmVzSr
http://pastebin.com/Xi8sRSUB
http://pastebin.com/qeh4tXz2
http://pastebin.com/HZNFxEya
Et la partie 6: http://pastebin.com/7MK8h4tQ
Partie 5 est la carte de contrôle. Il envoie une impulsion de synchronisation pour la plus courte durée des notes.
Il y a deux grands tableaux qui contiennent les notes. La première contient la fréquence en Hz. Le second contient la durée en fonction de la vitesse d’impulsion de synchronisation. Il y a des espaces supplémentaires dans le tableau parce que sur la dernière note, le programme encore recherchera l’heure de début de la prochaine note d’arrêter. Le programme convertit en heure de début de chaque note parce que juste, qui semble mieux fonctionner. Je ne suis pas bon d’un programmeur, si vous ne pouvait pas dire.
Partie 5 attend depuis un moment en boucle jusqu'à ce que toutes les autres cartes envoient un signal prêt lorsqu’ils sont fait les grands tableaux de traitement.
Bon, nous avons terminé en attente pour les autres planches. La fonction microseconds() retourne les microsecondes depuis le début du programme. Il convertit la fréquence en période. Il va écrire haut dans l’enceinte pour une fraction de la période, écrire faible, puis attendre pour la période à la fin. Cela fera une onde carrée (avec rapport cyclique réglable). Une fois l’exécution du programme au total atteint un multiple de la période d’impulsion de synchronisation, partie 5 écrit haut dans les autres planches pour signaler le prochain battement. Il écrit peu après un certain temps. Une fois que le nombre correct de temps passe, il se déplace le terrain suivant.
Les autres planches sont plus faciles. Ils comptent les battements au lieu de microsecondes. En utilisant le même processus d’onde carrée, ils attendent jusqu'à ce que le nombre correct de battements pass, puis passer à la prochaine note.