Étape 3: Source Code
On trouvera la liste complète du code source de mon profil Pastebin.com, ici. Je vais aborder quelques notions clées de ce recueil pour ceux nouveaux au développement de l’Arduino.
Bibliothèque de ton
La bibliothèque de tonalité peut être obtenue sur Google-Code d’ici. Cette bibliothèque est incroyablement simple à utiliser. Dès que nous aurons le fichier zip extrait dans le répertoire des bibliothèques dans notre répertoire de racine d’installation IDE Arduino, nous pouvons commencer à jouer des tonalités. Cette bibliothèque est vraiment parfaite pour ce projet car il produit, comme de nombreux appareils électroniques, carré des ondes sonores qui est ce qui a été également produit dans le matériel original de la NES. Nous allons jeter un oeil à un petit exemple. Puisque nous avons broches 12 et 13 va directement dans l’enceinte, il faut initialiser à l’aide de deux objets de ton comme,
Ensuite, dans notre boucle setup() , nous initialisons eux pour sortie audio avec les deux lignes suivantes de code,
Maintenant, nous pouvons appeler simplement la méthode play() sur chacun des objets comme, ton
qui dans le cas ci-dessus, jouerait un 440 (la note de musique : A4) pour 900 millisecondes (ms). Jouer deux sons simultanément est facile. Comme de l’écriture de ce tutorial, la méthode play() prendre un entier comme une valeur de fréquence, fréquences tant avec les fractions en eux, hz, comme B4 qui est en fait 493.883 devront être arrondis vers le haut ou vers le bas. Les fourchettes de méthode play() et le flux de travail se poursuit à la ligne suivante de code. Par exemple, le code,
va jouer les tons 440hz et 122hz simultanément pour 900ms et tout en faisant de l’Arduino fait une pause à l’aide de la fonction delay() pour 900ms. Immédiatement après, les tons 622 et 784hz sont jouées simultanément pour 900ms et les pauses de l’Arduino, encore une fois, pour 900ms tout en jouant les tons.
Le delay() est important de se rappeler que les fourches de méthode play() . Il est un bon exemple au cours d’une boucle for () . Si nous voulons jouer un ton plusieurs fois de suite et ne pas mettre en pause l’Arduino avec delay(), il retentit comme si il joue le ton que nous ne spécifier qu’une seule fois !
Aussi n’oubliez pas qu’il y a beaucoup de références qui peut être facilement trouvés en ligne avec un moteur de recherche pour trouver des fréquences approximatives des notes jouées sur un piano qui peut être référencé tout en faisant des projets qui jouent des chansons. Pour notre chanson nous n’avons pas à vous soucier de trouver eux depuis que j’ai déjà fait cela pour nous et mettez-les dans le code C++. Pour afficher un petit exemple cependant, nous utilisons les fréquences suivantes pour la section de verset.
Les basses fréquences (il y en a que deux) sont 122hz (~ B2) et 116hz (2 A). La basse dure 3 notes, donc pour y jouer en même temps, nous utilisons la fonction personnalisée définie playSection() dans le code C++.
Code de bouton poussoir
Le code du bouton poussoir utilise une fonction de simple digitalRead() pour vérifier la tension qui traverse sur l’axe spécifié. Dans notre cas c’est la broche 2. Il ne nécessite pas une bibliothèque spéciale de tierces parties d’utiliser.
Dans notre fonction setup() , il faut initialiser la broche pour l’entrée et utilisez la ligne suivante de code pour le faire,
Maintenant dans notre fonction boucle loop() de gestion d’événements, nous pouvons simplement prendre une lecture de la tension à l’aide de la fonction digitalRead() , comme,
Si la valeur renvoyée est égale à la constante pour la haute tension (1), puis nous commençons la lecture de la musique. Dans le cas contraire, il doit retourner comme faible (0).