TapTunes - ett Tap-baserat gränssnitt till iTunes



som en del av min människa-dator interaktion sikt projekt, jag piskade upp ett litet program som skulle tillåta förbrukaren till kontroll iTunes genom att trycka på olika mönster på en piezoelektrisk sensor. Grunden för detta projekt var gaspedalsignal tutorial på Arduino webbplats. Denna handledning förlängdes sedan för att möta de krav som behövs i systemet.

Mitt system består av följande komponenter:
• 1 Arduino (den som används är en Arduino Mega 2560)
• 1 piezoelektriska givare
• 1 Mega-ohms motstånd
• Set av brödunderläggen som innehåller 3 lysdioder
• 1 USB-A-till-B kabel
• 1 laptop som kör Visual Studios 2010 och iTunes

1Mega-ohms motstånd är att förhindra piezoelektriska sensorn från att skada Indataporten av Arduino. Lysdioderna ger användarfeedback. Orange LED blinkar när användaren kranar sensorn, vilket visar att systemet är aktivt inspelning kranen. Den röda indikatorn blinkar när användaren kranar ett mönster som inte känns igen. Likaså blinkar den gröna lysdioden när en användares mönster av kranar accepteras av systemet.
Systemet utnyttjar såväl som drivs av en USB-kabel ansluter Arduino och den bärbara datorn.

PROGRAMVARA (ARDUINO)

Den programvara som körs på Arduino är en urvattnad version av C++, inspirerad av programspråket bearbetning. Det skrevs med standard Arduino IDE som är tillgänglig online.

Programmet är relativt enkel. Systemet innehåller en matris av lagrade tap mönster som kan matchas. Systemet snurrar i en loop, väntar på första kranen ska identifieras. När detta inträffar systemet markerar den aktuella tiden och väntar på nästa kranen. För varje efterföljande klapp lagras tidsintervallet mellan det och tidigare kranen. Processen fortsätter tills det maximala antalet kranar överskrids, eller ingen kran har upptäckts i en sekund. Klappen är då normaliseras. Detta gör att kranar på olika tempon kan matchas med samma mönster. Normalisering utförs genom att dela varje lagrade intervall av det längsta tidsintervall och multiplicera med 100, därmed omvandla varje intervall till ett heltal mellan 1 och 100.

Tap mönster har tre viktiga kriterier att uppfylla om de anses matchar ett lagrade mönster:

1. båda mönster måste innehålla samma antal kranar
2. användaren intervall kan inte avvika med mer än 25% från motsvarande lagrade intervallet
3. genomsnittet av alla intervaller får inte avvika med mer än 15% från medelvärdet av de lagrade intervallerna.

Om alla dessa villkor är uppfyllda, accepterar systemet mönstret. Systemet sänder sedan index för att mönstret som en enda byte över seriell anslutning av USB-kabeln till ett lyssnande program som körs på den bärbara datorn (i vårt fall, ett C# programmet gränssnitt med iTunes). När byten som sänts, återgår systemet till väntar nya användarmönster tap.

Peka på mönstren för närvarande är:

• En enda tryck
• Två kranar
• Tre enhetliga kranar
• Fyra enhetliga kranar
• En långsam kran följt av två snabba kranar
• Två snabba kranar följt av en långsam kran
• "Rakning och en frisyr, två bitar" mönstret

Denna lista av mönster är lätt anpassningsbara och utbyggbara när en blir bekant med hur mönster är representerade.

PROGRAMVARA (LAPTOP)

Jag valde att skriva laptop-side-program i C# eftersom jag har haft tidigare upplever skriva anpassade gränssnitt med Arduinos i C#. Detta kan enkelt genomföras i andra språk, som språket stöder seriell kommunikation över COM-portar.

C# används Microsoft XNA Skeletten, som normalt används för att utveckla spel, ger en fin, loop-baserade programflödet lämplig för gränssnitt med Arduinos och visar en visuell GUI.

Programmet börjar öppnas en seriell anslutning till Arduino och att skapa ett gränssnitt till iTunes. När dessa är etablerade, avsöker programmet ständigt seriell anslutning för byte. Om det finns byte skall läsas, programmet läser varje som ett heltal och utför motsvarande kommando. Till exempel om byten innehöll nummer 1, växlar då programmet om iTunes spelar eller pausats. Eftersom ett byte innehåller 32 värden, kan totalt 32 enskilda kommandon skrivas ut från Arduino till C# program. I denna grundläggande demo genomförs bara sex kommandon faktiskt.

Den mottagna nummer, kommandon och tillhörande mönster är följande:

0. växla visualiseringar – "Rakning och en frisyr, två bitar"
1. växla spela/paus – en kran
2. nästa låt – två kranar
3. föregående låten-tre enhetliga kranar
4. spola framåt – en långsam kran följt av två snabba kranar
5. rewind – två snabba kranar följt av en långsam kran
6. växla shuffle-fyra enhetliga kranar

C#-gränssnitt med iTunes genom dess COM API. Min visas också en grundläggande GUI som ger information om Itunes's stat, av ståndpunkt i den aktuella låten, och det aktuella spåret namn, artist och album.

Relaterade Ämnen

Få ett album från din ipod till itunes!

jag har märkt att många människor har tanken att du måste ladda ner ett helt nytt program, eller gräva igenom kodade filen namn, att få på musiken i din ipod och lägga den in i din pc.Det är faktiskt ganska lätt, och du kan även hitta en vissa album,...

Hur man korrekt lägger ett Mixtape till iTunes

Jag är bara här för att rensa upp viss förvirring med iTunes om mixtapes.Steg 1: Hitta en bra mixtape hemsidaPersonligen tror jag www.livemixtapes.com är den bästa webbplatsen för att hitta de bästa mixtapes.Steg 2: Skapa ett kontoMedlemmar i Live Mi...

Hur man rippa och konvertera DVD till iTunes

iTunes är en media player och media biblioteksapplikation som utvecklats av Apple Inc. Det används för att spela, Hämta och organisera digitalt ljud och video på persondatorer. Och iTunes Store finns även på iPod Touch, iPhone och iPad. Som vi alla v...

Hur du importerar filer till iTunes och ändra låtens Detaljer

detta instructable kommer att lära dig hur du importerar en låt till iTunes, och ändra detaljerna i det. Detta är bra att veta eftersom om du ladda ner en låt utanför iTunes, den kan inte sättas i biblioteket eller om du rippa en mix tape, du slipper...

Hur du ansluter ett elektronisk balans eller skala till en PC och Läs vikt värden direkt till Excel

de flesta elektroniska vågar och laboratorium saldon har en RS232-kabel (seriell) eller en USB port men inga instruktioner finns normalt för att visa dig hur man korrekt ansluta den till din PC eller hur att indatavärden vikt direkt i program som Exc...

Sim900 GSM modul gränssnitt till arduino

Denna del av instructable förklarar GSM modul gränssnitt till arduino.Nu för tiden GSM används i alla projekt för trådlös dataöverföring eller larma och meddelandesystem.Steg 1: Gränssnitt SIM900 till ArduinoDenna del av instructable förklarar GSM mo...

Gratis musik från projektet spellista (Mozilla Firefox eller Internet Explorer) direkt till iTunes

ganska enkelt. Dessutom behöver du inte tunestor, men det är bäst att använda den om du vill få det direkt i iTunes. Om du inte vill att det ska gå direkt till iTunes, när du rätt klick länken, valde bara spara länk som eller något sånt. BTW, om du h...

Cubecube: Ett konkret CAD gränssnitt.

Cubecube - en öppen källkod byggprojekt - är en påtaglig, taktil gränssnitt för CAD (computer-aided design.) Som öppen källkod design plattformar fortsätter att dyka upp, finns det en möjlighet att utforska nya möjligheter i hur vi skapar. Cubecube p...

Knacka på ett torg hål (Square till ditt material som är!)

jag har alltid varit vexed genom att knacka på trådar i ett hål så att trådarna är fyrkantig till toppen av det material jag knacka. Jag hittade en trevlig lösning med ett block med ett spår i sidan.Steg 1: Sätt in kranen i hålet Börja med att sätta...

Cryptap: Ett rytm-baserat dörrlås

inspirerad av flera dörr-upplåsning mekanism jag har sett på hackaday.com, beslöt jag att skapa en på min egen. Här har en två-knappen gränssnitt; en ska starta och sluta lösenord inlämnande, och en till faktiskt klapp i rytmen som är ditt lösenord....

Mikrokontroller gränssnitt till Forrest Mims elektrometer

min dotter ville ha ett sätt att mäta statiska för hennes vetenskap projekt. Vid skanning genom en gammal kopia av "Att få igång i elektronik" av Forrest M. Mims, III, råkade jag på en lämplig liten krets för en elektrometer baserat på en JFET (...

Glasögon monterad bildskärm till ett öga - vända dig till en Borg

UPPDATERING 15 mars 2013: Jag har nyare bättre version av detta nu i en annan Instructable:Tro det eller ej var det verkliga syftet med detta projekt inte att spela på att vara en Borg.Jag behövde göra någon form av wearable head up display som också...

SPI gränssnitt till FlySky/Turnigy 9 x

gränssnitt a RC radio en mikrokontroller är lite av en smärta, särskilt om du vill ha en massa kanaler, eftersom du måste tid varje kanal produktion individuellt.En AVR har bara en 16-bitars timer med två jämför kanaler, så antingen kan du bara använ...

Ett (ägg) med hänvisning till tyg ägg med överraskning godsaker inne

Så jag gjorde "Jag luktar" behövde bra Mr Bunny och han ett hem. Jag trodde gömmer sig honom i ett stort tyg ägg skulle vara ett häftigt sätt att gåva honom bort till påsk. Det skulle ha varit perfekt utom tid inte var på min sida. Detta är min...

Ett teleskop stativ förvandlas till ett kamera stativ!

Hej, detta är min andra instructables och dess när jag vände ett teleskop stativ till en kamera monter med några starka lim och eltejp så jag hoppas du njuter och glöm inte att kommentera :)...

Ett inbrottslarm baserat på PIR-sensorn med Sms-larm med 8051

"Målet med detta projekt är att känna den omgivande miljön med hjälp av passiv infraröd sensor (PIR sensor) och skickar önskad information om upptäckt av ett objekt till mobila nummer med hjälp av GSM-modul för att varna ägaren"Passiv infraröd s...

Förvandla ett vanligt hårspänne till en färgstark hår tillbehör

denna handledning är ett enkelt sätt att förvandla gamla barrettes till söta våren tillbehör.Du kan även göra detta med pannband också!Jag älskar färgerna på min nya hårspänne!Steg 1: Vad du behöver Vad du behöver:-Ett hårspänne-Super lim-Annan färga...

Hacka ett trådlöst tangentbord till en avlägsen resonanslåda, tack vare TimeSquAir!

Använda ett tangentbord för att starta ljud med TimeSquAir!Steg 1: Skaffa ett trådlöst tangentbordI denna tutorial är en Logitech K360Steg 2: Anslut tangentbordet på TimeSquAirSteg 3: Gå på nod-rödPå noden-röd, ta noden "Serial" i avsnittet inpu...

Konvertera ett svart & decker borrmaskin batteri till litiumjon

min 2007 black och decker batteri är död nu, och redan köpt en ny hilti uppsättning, så tid för att prova några saker.Jag har gjort en del forskning på internet om litiumjon och sett en hel del andra omvandlingar här på instructables.Steg 1: ta bort...