Kinect kontroller Arduino wired servon med Visual Basic 2010
http://channel9.msdn.com/Coding4Fun/Blog/Kinecting-to-Arduino-with-Visual-Basic
INTRODUKTION
I detta projekt använda jag vänster och höger hand rörelser i Kinect för att kontrollera rotation av två servon knutna till Arduino Uno, vilket i sin tur för vänster och höger armarna på en primitiv stickman. Middleware är skrivet i Visual Basic 2010 och är baserad på Microsoft Kinect SDK beta 2.
Det finns gott om C++ och C# kodexempel för gränssnitt Kinect till andra prylar, men inte många VBA-exempel. Så jag tänkte att skulle kunna detta projekt hjälpa folk med mestadels VB kunskaper att börja hacka Kinect med Arduino.
HUR DET HÄR FUNGERAR
Kinect håller reda på 20 skelett lederna för varje spelare. För att förenkla detta projekt, extrahera jag koordinaterna för vänster hand och höger hand lederna bara. Jag passerar sedan de gemensamma koordinaterna till en Arduino UNO efter att jag gör några skalning i Visual Basic från dator skärmstorlek till servo vinklar.
Jag ändrade VB-kod i Microsoft Quickstart prover eftersom det är väl dokumenterat och kommer med bra tutorials. Så vem som helst kan granska dessa tutorials för att lära dig mer om hur denna VB-kod fungerar med Kinect.
De ändringar jag gjort i VB exempelkoden var mestadels att underlätta seriell kommunikation med Arduino samt att mappa skärmkoordinater till servon vinklar. I detta projekt fånga jag Y (lodrät) förflyttning av HandLeft och HandRight lederna. Det bör vara lätt att ändra min kod för att lägga till fler servon och lederna.
SETUP
Installera alla nödvändiga Microsoft programvaran efter instruktionerna från leverantörer. Se Microsofts Kinect för Windows SDK Quickstarts http://channel9.msdn.com/Series/KinectSDKQuickstarts Microsoft gjorde ett bra jobb med dessa tutorials.
Den största utmaningen är att få de olika paketen att arbeta tillsammans. När du har kört Kinect demo som tillhandahålls av The Microsoft Kinect SDK, är du halvvägs där.
Den andra delen är ledningar servon till Arduino och kör min kod.
Jag höll min kod så enkel som möjligt så det finns lite fel svällning och inget fancy användargränssnitt. Du kan lägga till som per dina behov.
LEDNINGAR
För detta projekt använde jag två TG9e micro servon drivs av Arduino Uno ansluten till datorn via USB. För större servon med mer makt behov, kan du behöva driva dem separat eller annat Arduino ska fungera oförutsägbart.
Jag märkt en servo som vänster Hand servo medan den andra som högra Hand servo. Om du förvirra servon någon gång, är att fixa ofta så enkelt som att byta en kodrad i stället för omkoppling.
Vänstra Servo---> Arduino Digital Pin 9
Rätt Servo---> Arduino Digital stift 11
För felsökning av syften, kan du försöka testa din bygga med en servo innan du lägger till en annan.
HUR TILL APPLICERA MIN KOD
Förutom instruktionerna, kan du Visa min steg för steg-skärm fångade stillbilder. Vänligen klicka på "i" i det övre vänstra hörnet av varje bild att se i full upplösning fortfarande.
-Hämta filen "ArduinoXYZ.ino" (del av filen bifogad techbitar.zip) och läsa in den i din Arduino UNO via Arduino IDE 1,0.
-Ladda ner KinectForWindowsSDKQuickstarts.zip
-Hitta och extrahera mappen SkeletalTrackingVB och placera det under mappen projekt för din Visual Basic 2010 Express.
SkeletalTrackingVB projektfiler du har extraherat har gamla referensfiler från en äldre Kinect SDK och Code4Fun toolkit. Vi måste ta bort de gamla referenserna sedan lägga de senaste.
Obs: När efter mina videor eller skärmen fångas instruktioner, kom ihåg att jag kanske har extraherat filerna projekt och stöd till olika kataloger än din.
-Från Visual Basic 2010 IDE explorer, dubbel klick på MyProject. Du kommer att presenteras med en projekt konfigurationssida.
-Klicka på fliken Referenser.
-Söka efter Microsoft.Research.Kinect och ta bort den.
-Söka efter Code4Fun.Kinect.wpf och ta bort den.
-Klicka på Lägg till.
-Klicka på fliken bläddra.
-Söka efter och lägga till de nya versionerna av de filer som du har hämtat en del av den senaste Microsoft Kinect SDK och Coding4Fun Kinect Toolkit zip-filer. Som att skriva i den här handboken, versioner för Code4Fun.Kinect.wpf bör 1.1.0.0 och för Microsoft.Research.Kinect 1.0.0.45
-Ladda ner min MainWindow.xaml och MainWindow.xaml.vb (de kan hittas i filen bifogad techbitar.zip) som jag har bifogat till denna guide och kopiera dem ovanpå de du har extraherat under SkeletalTrackingVB\SkeletalTracking mappen eller klipp ut och klistra in deras innehåll över de extraherade filerna med samma namn.
Med Kinect och Arduino ansluten, bör du kunna testa programmet.
Obs: COM port fältet på huvudprogramfönstret ställs till 16. Ändra detta så att den matchar den Arduino COM-port på datorn.
KINECT STRÖMFÖRSÖRJNING
Kinect jag använder i detta projekt har egen strömförsörjning ansluten till USB-kabeln. Jag trädgren detta som en fristående utan XBOX. Vissa Kinects har inte en yttre makt leverans och får sin makt från XBOX. Om du har en av dem, kommer att du behöva köpa en Microsoft Kinect strömförsörjning som verkar dyra. Så innan du köper en Kinect/XBOX bunt, kolla om den medföljande Kinect kan drivs och drivs som ett fristående.
HÅRDVARA DELAR
-Microsoft Kinect
-Arduino Uno
-Micro servon X 2 (jag använde TG9e micro servon)
-Brödunderläggen och ledningar
PROGRAMVARUKOMPONENTER
Arduino IDE 1.0
http://www.Arduino.cc/en/main/Software
Microsoft Kinect SDK V1 beta2
http://www.microsoft.com/en-us/kinectforwindows/Download
Coding4Fun Kinect Toolkit 1.1
http://c4fkinect.CodePlex.com/releases/View/76271#DownloadId=300233
Microsoft Visual Basic Express 2010
http://www.microsoft.com/VisualStudio/en-us/Products/2010-Editions/Visual-Basic-Express
.NET framework 4
http://msdn.microsoft.com/en-us/netframework/aa569263
Microsoft DirectX SDK - juni 2010 eller senare version
http://www.microsoft.com/download/en/details.aspx?displaylang=en&ID=6812
Runtime för Microsoft DirectX 9
http://www.microsoft.com/download/en/details.aspx?displaylang=en&ID=35
Microsoft Kinect Code4Fun Quickstart VB-kod (skriver du över detta med min modifierad version)
http://files.CH9.MS/Coding4Fun/KinectForWindowsSDKQuickstarts.zip
REFERENSER
Kinect för Windows SDK Quickstarts
http://channel9.msdn.com/Series/KinectSDKQuickstarts
Öppna Kinect
http://openkinect.org/wiki/main_page
Kinect Hacks
http://www.kinecthacks.com/
Kinect Motion Capture
http://www.brekel.com
KONTAKT
Författare: Hazim Bitar
E-post: techbitar (at) gmail (dot) com