Den nya-skolan (iPad, myRIO, LabVIEW) i kombination med den gamla skolan (MIDI, diskettenheter) att skapa det ultimata elektroniska bandet - myFloppyDriveOrchestra
Har några gamla skolan diskettenheter liggande? Få hacka! Omvandla dem till en elektronisk orkester!
Att vara en av världens mest populära DIY tech projekt, är musikaliska diskettenheter ingenting nytt. MyFloppyDriveOrchestra innehåller dock flera unika funktioner, som skiljer den från mängden.
- 1. FPGA - genom att genomföra kontrollen drive i den myRIO integrerad FPGA, jag har faktiskt skapat en x16 core-processor! Jag har en "kärna" tillägnad varje enhet. Även om FPGA tillåter mig att dela klockor och synkronisering mellan varje "core", kan jag styra alla 16 enheter individuellt och verkligen parallellt!
- Trådlöst gränssnitt - ingen PC krävs att spela i orkester. I stället jag genomfört ett GUI (som tillåter användare att införliva spår, Välj låtar, övervaka processoranvändning etc), från iPad eller Android tablett.
- Daft Punk hjälm - med hjälp av en andra myRIO inbäddad styrenhet, vi bara spelar inte en daft punk song... men vi är också kontrollera Daft Punk-esque elektroniska makt hjälm!
Projektöversikten.
Detta projekt använder en myRIO inbäddad styrenhet och ett antal diskettenheter. MyRIO spelar effektivt enheterna som musikinstrument, diskenhetens integrerade stegmotorer vid specifika frekvenser.
Den första versionen var en kvartett men sedan dess jag trappade upp projektet från en kvartett till en 16-bit orkester!
Genom att referera till följande tabell, utvecklade jag en LabVIEW VI (som körs på myRIOs realtid processorn) som konverterar en musikalisk anteckning (till exempel en C4) i till en vinkar frekvens. Obs C4 skulle till exempel vara en frekvens 261.63 Hz. Denna frekvensvärde skickas sedan till den myRIOs ombord FPGA, vilket genererar ett digital puls tåg används för att styra den plumsa driva motorer. För att generera puls tåget, jag LabVIEW skapa en enkel FPGA personlighet som inverterar det digitala sant/falskt inom en slinga, men jag in dynamiskt loop tidpunkten vara halva perioden av den önskade frekvensvärde.
Observera: perioden måste halveras, eftersom en loop cykel skulle vara sant och nästa cykel skulle vara falsk. Därför är två loop cykler motsvarar en vinka. Finns i formeln.
Nästa uppgift är att ändra motor riktning när den plumsa driva läshuvudet når slutet eller början av disken. Att se till att myRIO aldrig försöker köra det lästa huvudet längre än till början/slutet av disken, jag implimented en anpassade räknare på FPGA, att ständigt övervaka positionen av det lästa huvudet och Invertera dess riktning som viljan