Kinect kontroller Arduino wired servon med Visual Basic 2010



uppdatering JAN 2012: denna guide är med på Microsofts MSDN Channel9
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

Relaterade Ämnen

Arduino - Control Servo med Visual Basic

Hi guys,Idag ska jag visa hur du kan kontrollera ett servo med Visual basic. Före detta projekt har jag aldrig använt Visual basic så om någon finner något misstag i min kod vänligen lämna en kommentar här och hjälpa mig att förbättra den.Du kan besö...

Med Visual Basic 2010 till kontroll Arduino Uno

jag vet att detta har skett tidigare några gånger så här är en mer. Detta är ett skelett Visual Basic 2010 och Arduino skiss som jag blandade ihop prov PC till Arduino Uno anslutning via följetong. Det visar helt enkelt LED 13 på eller av.Visual Basi...

Styra Arduino med visual basic 6.0

Detta instructable är en del av min bok Arduino + visual basic 6.0 (gör din egen mjukvara till kontroll arduino Robot.Visual basic 6.0 är en mycket gammal version som vissa människor kan fråga varför vi vill använda visual basic 6.0. Visual basic 6.0...

Arduinoen Robot Control konsol Program med visual basic

Vi kommer att göra vår robot console för att hantera detta projekt med Visual Basic.Vi kommer att hantera vår robot via Bluetooth.Verktyg som krävs för att vårt formulär:13 sifferknapp2 nummer combobox1 bit texbox1 bit GroupBox1 bit SerialPorthttp://...

Hur man automatiskt identifiera och ansluta till Arduino i Visual Studio med Visual Basic

Hur att automatiskt upptäcka vilken port arduino eller geekduino är ansluten till använder visual basic och ansluta automatiskt till det! (senare kommer jag att lägga hur Auto upptäcka när det är unplugged!).Obs: knappen är inte nödvändigt men det i...

Att göra Arduino serieport med visual basic

Vi kommer att göra programmets gränssnitt ansluta till serieporten med Visual Studio.Låt oss titta på detaljerna i programmet.Verktyg att vi kommer att använda vårt formulär:3 stycken knappen 2 nummer ComboBox3 piece etikettseriell portSteg 1: Formul...

Hur man kontrollerar GizDuino med Visual Basic

Detta vägleder dig till uppsättningen upp, elkablar den yttre kretsen och kodning GizDuino och VBA i att kontrollera 4 lysdioder.Instructables delas in i 3:1. skiss för GizDuino2. VBA-kod och design3. ledningar för den yttre kretsen.* GizDuino är en...

KONTROLLERANDE DC med VISUAL BASIC

i detta instructables där jag kommer att försöka ge mer nyhet des ofta.Idag är temat med Arduino och Visual Basic. Det projekt som vi ser idag är controller en dc-motor med Arduino och Visual Basic. För att styra en dc motor är inte tillräckligt spän...

Hur man gör en inloggningsruta i Visual Basics 2010

Jag kommer att lära dig hur man gör en inloggningsruta i Visual Basics. Dessa kan användas för en massa saker, som om du gör en email program, du kan hålla den skyddade med hjälp av detta, eller om du gör en VB arbetsdrift systemet, du kan låsa ditt...

Programmera Arduino Mini 05 med FTDI Basic

När du behöver en liten arduino med en bra mängd I/O pins, är Arduino Mini för dig. Detta är en av mina favorit mikrokontroller för bärbara tech projekt på grund av dess storlek.Steg 1: material Arduino MiniFTDI BasicManliga headersStartkablar eller...

Övningsexempel 4 - Kontrollera lysdioder och servon med sensorer och göra funktioner

med Servo biblioteket; Mappning av variabler med en annan variabel; att skapa funktioner...

Arduino och Visual Basic RF över temperatur luftfuktighet mätning

Vi kan se Arduino med 433 MHz RF med omedelbar visning av temperatur och luftfuktighet värden som vi gör med visual basic-programmet.http://make.robimek.com/Arduino-Visual-Basic-Wireless-temperature-humidity-Control/Låt oss börja med temperatur och l...

Visual Basic kalkylator

Vi kommer att skapa en "första program" som skrivs i Visual Basic (VB). Vårt projekt kommer att vara en grundläggande miniräknare som undervisar logiken och ge koden för vår kalkylator. Våra instruktioner kommer att inrättas så att användaren sk...

Hur man gör en ost äta Program på Visual Basic

Hej,Detta är min handledning om hur man gör ett program som jag * uppfann * Microsoft Visual Basic 2010.Du behöver ladda ner fyra filerna nedan, osten, ätit ost, .ico-fil och mp3.Sätta dem alla där du kommer att kunna hitta dem.Steg 1: förbereda Skap...

Kontroll av en DC motor med Arduino och Visual Basic

Hej vänner detta är mitt första inlägg i instructables.com där jag kommer att försöka ge mer nyhet des ofta.Idag är temat med Arduino och Visual Basic.Det projekt som vi ser idag är controller en dc-motor med Arduino och Visual Basic.För att styra en...

Hur att programmera Arduino Bluetooth seriell kommunikation i Visual Basic Express 2010

Thär är olika Android Program/programvara för att styra din robot arduino bluetooth med din android. Men du kan inte hitta en att använda med din windows-dator. Så programmet jag en liten en i Visual Basic Express 2010. Hoppas det kan vara bra som en...

Arduino & Visual Basic 6 (Light Controller)

detta instructable är något som en handledning för nya VB användare. Det visar hur du skapar en parser bas VB6 program kan interagera med Arduino krets. Interaktion är egentligen i form av seriell kommunikation via USB-porten. Detta är min praktik ef...

Arduino & Visual Basic 6.0 (kontinuerlig Servo Motor)

detta Instructable är nästan lik till Light Controller postat tidigare. Den innehåller samma struktur och mönster i styr Servo Motor. Jag använde några idéer form Galil motorisk kontroll strukturer för att skapa min parser. Nämligen, SH (Servo här) o...

Styra arduino med visual studio via bluetooth

Hej alla,Här kommer att vi kontrollera en ledde via bluetooth med din dator av en progam wirtten med visual studiovad du behöver är:1) Arduino (en)2) Bluetooth-modul (hc05 eller hc 06)3) ledde4) 2 motstånd (10ko och 15ko)och du kan göra det ;)alla ko...