Étape 4: Comment ça marche
La mise en œuvre a quelques bonnes astuces pour qu’elle fonctionne bien.
Fondamentalement, l’idée est quand une personne met sa main près d’un capteur, il joue une note échantillonnée.
Le code n’est requis pour surveiller tous les capteurs en temps réel et incarnez les notes avec peu de retard que possible - plusieurs notes à la fois, en arrière-plan - tout le temps à tenter d’éviter la diaphonie et debouncing les détecteurs afin qu’elles ne déclenchent plusieurs fois comme un coup de main est déplacé à l’avant.
Impulsions ultrasoniques sont continuellement envoyées par les détecteurs - et le logiciel écoute l’écho - si cet écho se fait entendre au sein de 1 milliseconde - puis un objet est très proche - environ 15 à 20 cm - pour nous jouer un son échantillonné pour ce détecteur. N’importe quelle plage jusqu'à quelques mètres ne fonctionnerait pas - mais nous voulions qu’elle exclut les personnes marchant passé loin de la table.
Pour obtenir une performance maximale en temps réel, nous ne pouvons utiliser les bibliothèques standard de l’Arduino - car ceux-ci ne peuvent que surveiller un capteur à la fois et ont tendance à enfermer pendant une seconde ou plus, lorsqu’un objet est loin. Pas d’utilisation pour un piano sensible.
Aussi - afin de réduire le nombre de fils, ainsi qu’à rendre plus sensible - nous utilisons un déclencheur pour déclencher tous les senors à la fois - il y avait un souci que cela pourrait causer une interférence entre les capteurs - mais cela fonctionne bien dans la vie réelle.
Afin d’éliminer entièrement toute interférence entre les capteurs - feutre matériel peut être roulé et coincé pour créer 2 pouces longs tubes et attaché à chacun des capteurs capteur pour le rendre plus directionnel. Voir ce lien pour plus de détails. Nous avons jugé inutile, mais vous pouvez trouver qu'il améliore la séparation des capteurs.
Tout cela nous a obligés à créer notre propre code de la bibliothèque par ultrasons pour chronométrer la réponse ping de tous les neuf Détecteurs simultanément - et pour filtrer les fausses valeurs qui peuvent se produire comme indésirable double activation de d’affilée qui puisse arriver.