Earfingers: hör med händerna (3 / 4 steg)
Steg 3: Bygga programvaran
Alla vet att en Musiknoteringen definieras av en viss våglängd, men har du någonsin undrat varför samma ton låter olika på olika instrument? Anledningen är att det finns en massa andra små vågor, för liten för att överväldiga den stora vågen men tillräckligt för att ändra den särskilda karaktären hos våg inom det övergripande vinkar. Således, vi hör den stora vågen säger vi "mitten C" och vi hör de mindre vågorna i det vinka och säga "piano". Processen att sålla ut de olika vågorna är ett exempel på en nedbrytning, och det är vad snäckan gör, vilket innebär att det är vad vi behöver att reproducera. Som tidigare nämnts, utför snäckan vad som kallas wavelet omvandlingen, som upptäcktes faktiskt försöker lista ut vad snäckan gjorde; man kan kalla detta ett exempel på evolution slog matematiker till ett djupt användbart begrepp! Nu, trots görs huvudsakligen med grundexamen i matte, jag knappt kan förstå flesta wavelet omformningar på min egen, så tur för detta projekt det är en mystisk svart låda, jwave biblioteket, som kan missbrukas för vårt syfte. Vi kommer att ta några råa ljuddata, skicka det till jwave, (lite magi händer), tar sedan emot vissa data som ser ingenting som ljud. Vi kommer sedan förvandla dessa data till frekvenser som matchar de operativa frekvenserna av de två typerna av beröring receptorer (50-250 Hz) och slutligen vända dessa frekvenser till binära signaler skickas till Arduino, som helt enkelt växlar oavsett tactor det berättas att. Bekvämt, de betydande skillnaderna mellan neural frekvens och även en låg USB frekvens innebär att vi kommer att kunna signalera varje tactor en bit i taget med gott om plats att skona: för USB på 9600 Mhz, skulle vi kunna signalera ungefär 38 miljoner tactors.
Om du inte känner att sy ihop koden själv, källan, en körbar jar och openSCAD kod/STL-filer för 3D-objekten finns över på thingiverse här . Om du bara vill ha ett program som är redo att köra, ladda ner körbara, pålagt din Arduino skiss, och se till att läsa README-filen. Vara varnade också, detta är långt ifrån produktion kvalitet kod.