Stap 4: Hoe het werkt
De uitvoering heeft sommige goede trucs te laten werken goed.
In principe is het idee wanneer iemand hun hand zet in de buurt van een sensor het een gesamplede noot speelt.
De code is vereist voor alle sensoren in real-time controleren en de noten met spelen als een kleine vertraging mogelijk - meerdere notities op een moment, op de achtergrond - iedereen de tijd proberen te vermijden van cross talk en debouncing van de detectoren, zodat ze niet leiden meerdere keren als een hand tot op de voorgrond wordt verplaatst.
Ultrasone pulsen worden voortdurend worden verzonden vanaf de detectoren - en de software luistert voor een echo - als deze echo is gehoord binnen 1 milliseconde - dan is een object zeer dicht - ongeveer 15 tot 20 cm - zodat we een bemonsterde geluid voor dat detector spelen. Een willekeurig bereik maximaal een paar meter zou werken - maar wij wilden het uitsluiten van mensen wandelen langs verre van de tabel.
We niet krijgen real-time maximumprestaties, de standaard bibliotheken voor de Arduino - gebruiken als deze kunnen alleen een sensor tegelijk controleren en de neiging om het opsluiten voor een seconde of langer wanneer een object is ver weg. Geen gebruik voor een responsieve piano.
Ook - ter vermindering van het aantal draden, zoals goed dat zij meer responsieve - we de één trigger gebruiken om te activeren alle senors in één keer - was er een zorg dat hierdoor kunnen sommige cross-talk tussen de sensoren - maar het werkt goed in het echte leven.
Te elimineren volledig alle cross-talk tussen de sensoren - kan vilt materiaal worden gerold en vast tot 2 inch lange buizen en gekoppeld aan elk van de sensor-detectoren om er meer directionele. Zie deze link voor meer informatie. Achtten wij het niet nodig, maar kan je dat het verbetert de scheiding van de sensoren.
Dit alles verplicht ons gemaakt van onze eigen code ultrasone bibliotheek aan de ping-reactie van alle negen detectoren gelijktijdig - tijd en als u wilt filteren uit valse waarden die als ongewenste dubbele activering gebeuren kunnen's in een rij die kan gebeuren.