Kinect-Steuerung Arduino verdrahtet Servos mit Visual Basic 2010


UPDATE JAN 2012: Diese Anleitung ist auf Microsofts MSDN Channel9 vorgestellt
http://channel9.msdn.com/Coding4Fun/Blog/Kinecting-to-Arduino-with-Visual-Basic

EINFÜHRUNG

In diesem Projekt verwende ich Rechte und linke Bewegungen in Kinect steuern die Rotation von zwei Servos an Arduino Uno, die wiederum die linken und rechten Arme eine behelfsmäßige Stickman bewegt gebunden. Die Middleware ist in Visual Basic 2010 geschrieben und basiert auf der Microsoft Kinect SDK Beta 2.

Es gibt jede Menge von C++ und c#-Code-Beispiele zu Kinect Schnittstelle zu anderen Gadgets, aber nicht viele Visual Basic-Beispiele. Also ich dachte könnte dieses Projekt Leute mit meist VB Fähigkeiten starten hacking Kinect mit Arduino zu helfen.

WIE DIESES ZEUG FUNKTIONIERT

Kinect behält den Überblick 20 Skelett Gelenke für jeden Spieler.  Um dieses Projekt zu vereinfachen, ich die Koordinaten der linken und rechten Hand Gelenke nur zu extrahieren. Dann gebe ich diese gemeinsamen Koordinaten an ein Arduino UNO, nachdem ich einige Skalierung in Visual Basic aus Computer-Display-Größe, Servo Winkel zu tun.

Ich modifiziert den VB-Code in den Microsoft-Quickstart-Proben, denn es gut dokumentiert ist und über gute Tutorials verfügt. Damit jeder diese Tutorials erfahren Sie mehr über die Funktionsweise dieser VB-Code mit Kinect überprüfen kann.

Die Änderungen an den Beispielcode VB vorgenommenen waren meist zur seriellen Kommunikation mit Arduino sowie über die Servos Winkel Bildschirmkoordinaten zuordnen zu erleichtern. In diesem Projekt erfassen ich die (vertikale) Y-Bewegung der HandLeft und HandRight Gelenke. Es sollte einfach meinen Code, mehr Servos und Gelenke hinzufügen zu ändern.

SETUP

Installieren Sie alle erforderliche Microsoft-Software gemäß den Anweisungen von den Anbietern zur Verfügung gestellt. Beziehen sich auf Microsofts Kinect für Windows SDK Schnellstarts http://channel9.msdn.com/Series/KinectSDKQuickstarts Microsoft einen tollen Job mit diesen Tutorials hat.

Die größte Herausforderung ist die verschiedenen Pakete zusammen arbeiten bekommen.  Wenn Sie erfolgreich die Kinect-Demo zur Verfügung gestellt von der Microsoft Kinect SDK ausführen, sind Sie auf halbem Weg es.

Der zweite Teil ist Verkabelung die Servos an der Arduino und meinen Code ausgeführt.

Ich hielt meinen Code so einfach wie möglich, so gibt es kleine Fehlerbehebung und keine ausgefallenen Benutzeroberfläche. Sie können hinzufügen, dass nach Ihren Anforderungen.

VERDRAHTUNG

Für dieses Projekt habe ich zwei TG9e Mikro Servos angetrieben durch den Arduino Uno an meinen PC über USB angeschlossen. Für größere Servos mit mehr Strombedarf möglicherweise müssen Sie sie separat an die Macht oder aber die Arduino wird unregelmäßig handeln.

Als die linke Hand Servo während die andere als die Rechte Hand Servo bezeichnet ich ein Servo. Wenn Sie die Servos an einem gewissen Punkt zu verwechseln, ist die Lösung oft so einfach wie das Ändern einer Codezeile statt Neuverkabelung.

Linken Servo---> Arduino Digital Pin 9
Richtige Servo---> Arduino Digital Pin 11

Für debugging-Zwecke, können Sie erwägen, Ihren Build mit einem Servo zu testen, bevor Sie Hinzufügen einer neuen.

WIE SIE MEINEN CODE ANWENDEN

Zusätzlich zu den Anweisungen können Sie meine Schritt für Schritt Bildschirm erfasst Standbilder anzeigen. Bitte klicken Sie das "i" in der oberen linken Ecke jedes Fotos, noch die volle Auflösung zu sehen.

-Laden Sie die Datei "ArduinoXYZ.ino" (Teil der angefügten techbitar.zip-Datei) und laden Sie sie in Ihre Arduino UNO über das Arduino IDE 1.0.

-Download KinectForWindowsSDKQuickstarts.zip

-Finden Sie und entpacken Sie den Ordner SkeletalTrackingVB und legen Sie sie im Ordner "Projekte" für Ihren Visual Basic 2010 Express.

Die SkeletalTrackingVB-Projekt-Dateien, die Sie extrahiert haben haben alte Referenz-Dateien aus einer älteren Kinect SDK und Code4Fun Toolkit. Wir müssen die alten Verweise zu löschen, dann fügen Sie die aktuellen Bilder.

Hinweis: Wenn nach meinen Videos oder Bildschirm Anweisungen erfasst, bitte denken Sie daran, dass ich die Projekt und die Unterstützung Dateien auf verschiedene Verzeichnisse als deine extrahiert haben, können.

-IDE von Visual Basic 2010 Explorer Doppelklick auf MyProject. Sie werden mit einem Projekt-Konfiguration-Seite vorgestellt.

-Klicken Sie auf die Registerkarte "Verweise".

-Microsoft.Research.Kinect suchen Sie und löschen Sie ihn.

-Code4Fun.Kinect.wpf suchen Sie und löschen Sie ihn.

-Klicken Sie auf hinzufügen.

-Klicken Sie auf die Registerkarte "Durchsuchen".

-Suchen nach und Hinzufügen der neueren Versionen dieser Dateien, die Sie heruntergeladen haben Teil der neuesten Microsoft Kinect SDK und Toolkit Coding4Fun Kinect-Zip-Dateien. Wie über die Entstehung des Leitfadens, die Versionen für Code4Fun.Kinect.wpf 1.1.0.0 sein sollte und für Microsoft.Research.Kinect 1.0.0.45

-Download meine MainWindow.xaml und MainWindow.xaml.vb (sie finden in der angefügten techbitar.zip-Datei), die ich zu diesem Leitfaden beigefügt haben, und kopieren Sie sie auf die, die Sie extrahiert haben unter SkeletalTrackingVB\SkeletalTracking Ordner oder Schnitt und fügen Sie ihre Inhalte über die extrahierten Dateien mit gleichen Namen.

Mit Kinect und Arduino angeschlossen sollten Sie das Programm testen können.

Hinweis: Feld "COM-Port" im Hauptfenster des Programms wird auf 16 festgelegt. Ändern Sie diese entsprechend dem Arduino COM-Port auf Ihrem PC.

KINECT-STROMVERSORGUNG

Die Kinect verwende ich in diesem Projekt hat eine eigene Stromversorgung an das USB-Kabel angeschlossen.  Ich Ast als Stand-alone ohne die XBOX. Einige Kinects haben keine externe Stromversorgung liefern und ihre Leistung von der XBOX. Wenn Sie einer von denen haben, müssen Sie ein Microsoft Kinect Netzteil zu kaufen, die überteuerten scheint. Also bevor Sie eine Kinect/XBOX-Bundle kaufen, prüfen Sie, ob die gebündelte Kinect angetrieben und als Stand-alone betrieben werden kann.

HARDWARE-TEILE

-Microsoft Kinect
-Arduino Uno
-Micro Servos X 2 (Ich habe TG9e Mikro Servos)
-Breadboards und Drähte

SOFTWARE-KOMPONENTEN

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 oder höhere 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-Code (Sie werden dies mit meiner modifizierten Version überschreiben)
http://Files.CH9.MS/Coding4Fun/KinectForWindowsSDKQuickstarts.zip

REFERENZEN

Kinect für Windows SDK Schnellstarts
http://channel9.msdn.com/Series/KinectSDKQuickstarts

Offenen Kinect
http://OpenKinect.org/wiki/main_page

Kinect-Hacks
http://www.kinecthacks.com/

Kinect Motion Capture
http://www.Brekel.com

KONTAKT
Entwickler: Hazim Bitar
E-Mail: Techbitar {at {Dot} Gmail} com

In Verbindung stehende Artikel

Arduino - Steuerung Servo mit Visual Basic

Arduino - Steuerung Servo mit Visual Basic

Hallo Leute,Heute werde ich zeigen, wie Sie einen Servo mit Visual Basic steuern können. Vor diesem Projekt habe ich noch nie Visual Basic verwendet, also wenn jemand findet Fehler in meinem Code bitte einen Kommentar hier und helfen Sie mir es zu ve
Machen Arduino serielle Schnittstelle mit Visual Basic

Machen Arduino serielle Schnittstelle mit Visual Basic

Wir machen die Programmschnittstelle zum Anschluss an den seriellen Port mit Visual Studio.Schauen wir uns die Details des Programms.Werkzeuge, dass wir unser Formular verwenden:3 Stück-Taste2 Nummer ComboBox3 Stück-labelserielle SchnittstelleSchritt
Arduino mit Visual Basic 6.0 zu steuern

Arduino mit Visual Basic 6.0 zu steuern

diese instructable gehört zu meinem Buch Arduino + Visual Basic 6.0 (machen Ihre eigene Software zur Kontrolle Arduino Roboter.Visual Basic 6.0 ist eine sehr alte Version, die einige Leute fragen warum wir Visual Basic 6.0 verwenden möchten. Visual B
Arduino Robot Control Console-Programm mit Visual Basic

Arduino Robot Control Console-Programm mit Visual Basic

Wir machen unsere Roboter-Konsole zur Verwaltung dieses Projekts mit Visual Basic.Wir verwalten unsere Roboter per Bluetooth.Werkzeuge, um unser Formular:13 Zifferntaste2 Nummer combobox1 Stück texbox1 Stück GroupBox1 Stück SerialPorthttp://Make.robi
Mithilfe von Visual Basic 2010 Steuern Arduino Uno

Mithilfe von Visual Basic 2010 Steuern Arduino Uno

ich weiß, wurde dies in der Vergangenheit ein paar Mal so, hier ist eine weitere. Dies ist ein Skelett Visual Basic 2010 und Arduino-Skizze, die ich miteinander, Testrechner auf Arduino Uno Verbindung über serielle Schnittstelle vermischt. Es stellt
CONTROLLING DC mit VISUAL BASIC

CONTROLLING DC mit VISUAL BASIC

in diesem Instructables wo ich versuchen werde, weitere Neuheit des oft zu bringen.Heute ist Thema mit Arduino und Visual Basic. Das Projekt, das wir heute sehen ist ein dc-Motor Controller mit Arduino und Visual Basic. Steuern einen dc Motor ist nic
Wie erstelle ich einen Zufallszahlengenerator mit Visual Basic 2012

Wie erstelle ich einen Zufallszahlengenerator mit Visual Basic 2012

Hallo in diesem instructable werde ich Ihnen zeigen, wie einen Zufallsgenerator zu machenZunächst öffnen Sie das Visual Basic-Programmdann ziehen Sie eine Schaltfläche auf das Formularund ein Textfeld hinzufügenals nächstes klicken Sie doppelt auf di
Wie erstelle ich ein Login-Formular in Visual Basics 2010

Wie erstelle ich ein Login-Formular in Visual Basics 2010

Ich werde Ihnen beibringen, wie man ein Login-Formular in Visual Basics zu machen. Diese können verwendet werden für eine Reihe von Dingen, wie wenn du eine e-Mail-Programm machst, Sie es durch die Nutzung dieser geschützt halten oder können wenn Sie
Arduino Mini 05 mit FTDI Basic Programm

Arduino Mini 05 mit FTDI Basic Programm

Wenn Sie eine kleine Arduino mit einer gehörigen Portion i/o Pins benötigen, ist der Arduino Mini für Sie. Dies ist eines meiner Lieblings-Mikrocontroller für tragbare technischen Projekte wegen seiner Größe.Schritt 1: Materialien Arduino MiniFTDI Ba
Arduino und Visual Basic RF über Temperatur Feuchtemessung

Arduino und Visual Basic RF über Temperatur Feuchtemessung

Wir können sehen, Arduino mit 433 MHz RF mit sofortige Anzeige der Werte für Temperatur und Luftfeuchtigkeit, wie wir mit der Visual Basic-Programm zu tun.http://Make.robimek.com/Arduino-Visual-Basic-Wireless-temperature-Humidity-Control/Beginnen wir
Visual Basic-Rechner

Visual Basic-Rechner

Wir sind ein "erstes Programm" erstellen, die in Visual Basic (VB) geschrieben werden. Unser Projekt wird einen einfachen Taschenrechner, der Lehren, der Logik und den Code für unsere Rechner. Unsere Anweisungen werden eingerichtet, so dass der
Wie erstelle ich einen Käse Essen Programm auf Visual Basic

Wie erstelle ich einen Käse Essen Programm auf Visual Basic

Hallo,Dies ist mein Tutorial wie man eine Programm machen, dass ich * nicht erfunden * auf Microsoft Visual Basic 2010.Sie müssen die folgenden vier Dateien, den Käse, der Käse gegessen, die ICO-Datei und die mp3 herunterladen.Setzen sie alle, wo Sie
Steuerung eines Gleichstrommotors mit Arduino und Visual Basic

Steuerung eines Gleichstrommotors mit Arduino und Visual Basic

Hallo ist Freunde dies mein erster Beitrag in instructables.com wo werde ich versuchen, weitere Neuheit des oft zu bringen.Heute ist Thema mit Arduino und Visual Basic.Das Projekt, das wir heute sehen ist ein dc-Motor Controller mit Arduino und Visua
Arduino & Visual Basic 6.0 (kontinuierliche Servo Motor)

Arduino & Visual Basic 6.0 (kontinuierliche Servo Motor)

diese Instructable ist fast ähnlich wie die Light-Controller vorher gebucht. Es enthält die gleiche Struktur und Muster bei der Kontrolle der Servomotor. Früher habe ich einige Ideen Form Galil Motorsteuerung Strukturen mein Parser erstellen. Nämlich