IoT mouvement contrôlé Servos (4 / 10 étapes)

Étape 4: Java Source Code

Si vous n’êtes pas intéressé par le code java, vous pouvez sauter cette étape ; Toutefois, vous devrez au moins mettre votre personnel PubNub clés dans le code pour qu’il fonctionne ! Le code source peut être visionnée sur GitHub.

Les importations suivantes sont requises. Si elles aboutissent à des erreurs, vous n’avez probablement pas les bibliothèques SDK installés correctement.

 import java.io.IOException; import java.lang.Math; import com.leapmotion.leap.*; import com.pubnub.api.*; import org.json.*; 

Il est crucial que vous faites votre projet implémenter praticable afin que nous pouvons avoir toute l’activité de saut à exploiter dans son propre thread. Nous commençons par la mise en place du projet principal, une implémentation de l’interface Runnable et l’initialisation des variables globales, que nous allons utiliser plus tard. Les principales choses à prendre note de la variable globale « CHANNEL », mais aussi une paire de clés déclarée dans main.

 public class LeapToServo implements Runnable{ public static final String CHANNEL = "leap2pi"; // ... A Bunch of Code ...public static void main(String[] args) { String pubKey = "Your_Publish_Key"; String subKey = "Your_Subscribe_Key"; // ... A bit more code ... } } 

Ces chaînes sont les seules valeurs que vous aurez à modifier. Le nom du canal peut rester la valeur par défaut « leap2pi » ou peut être une autre valeur alphanumérique. Tout en utilisant PubNub pour communication parle sur un canal, si vous souhaitez utiliser un nom unique pour éviter la diaphonie entre différents projets ! La publication et abonnement clés sont des identificateurs personnels uniques qui vous est donnés par PubNub lorsque vous vous inscrivez pour un compte. Assurer leur sécurité. Les garder privé. Ces clés empêchent d’autres personnes de parler sur votre site (s). Prendre note, qu’il pourrait y avoir quelques endroits dans le code qui utilisent spécifiquement la chaîne « leap2pi » au lieu de la constante "CHANNEL", et toutes ces instances doivent être modifiés.

Le Leap Motion capture environ 300 images chaque seconde. Dans chaque cadre, nous avons accès à des tonnes d’informations sur nos mains, tels que le nombre de doigts étendus, tangage, lacet et gestes de la main. Les valeurs retournées par le saut pour le tangage et lacet (poignet pan et tilt) sont en radians, qui ne nous aide pas trop. Nous voulons convertir ces valeurs dans un format accepté par le pilote PWM dans la boîte. Nous avons tout d’abord convertir des radians en degrés, puis de degrés par rapport à une valeur PWM servo acceptable entre 150 et 600. Cette gamme correspond à la plage de travail typique d’un servo (500-2000 aux États-Unis), représentée par le pilote de servo de 12 bits.

L’équation de base est 2500us / (2 ^ 13 -1) * (largeur d’impulsion Servo Min/Max), donc [500, 2000] nous correspond à [150, 600]... à peu près... Dans le code, ces conversions sont traitées par les méthodes suivantes.

 public static int radiansToAdjustedDegrees(int radians){} public static double pitchDegreeToPWM(double degree){} public static double yawDegreeToPWM(double degree){} public static int normalizeDegree(int value){} 

Aussi, s’il vous plaît excuser les servo incorrect et la terminologie PWM dans le code... pas tout le monde qui ont travaillé sur ce projet était un expert en ces matières !

La meilleure façon de s’assurer que votre code fonctionne est de charger la Console de débogage PubNub. De là, vous pouvez entrer le nom de votre chaîne ainsi que votre publication et s’abonner à touches. Appuyez sur "S’abonner" et vos données publiées devraient apparaître dans la boîte de messages lorsque vous déplacez vos mains sur le contrôleur de mouvement de saut avec le code Java qui s’exécute.

Articles Liés

Créez votre propre robot mouvement contrôlé

Créez votre propre robot mouvement contrôlé

Expériences de mouvement contrôlé ne faut pas se limiter aux jeux ou appareils numériques même, en réalité une interaction sensible mouvement peut être obtenue en utilisant les objets du quotidien simples et accessibles.Un ingénieur de l'algorithme à
Arduino et capteur à ultrasons contrôle servo et distance compteur

Arduino et capteur à ultrasons contrôle servo et distance compteur

Arduino et capteur à ultrasons contrôle servo et distance meterDans ce projet, vous pouvez voir comment contrôler le moteur servo et tu calculer la distance à l'aide d'arduino et capteur à ultrasons. Vous avez besoin: 1. Arduino (uno, nano, mini pro)
Hercule : Le mouvement contrôlé Android Robot

Hercule : Le mouvement contrôlé Android Robot

quand j'étais à la 8e année, j'ai été intrigué tout en jouant des jeux de la motion sur Nokia 5800. J'ai été ravie, comment je pouvais contrôler la voiture de course en inclinant seulement le téléphone. J'ai utilisé à rêver de faire cette même voitur
Bond en mouvement contrôlé recherche à distance et élimination Robot

Bond en mouvement contrôlé recherche à distance et élimination Robot

Dans le cadre de mon entrée pour le mouvement de saut #3D confiture, j'ai été heureux de construire ce geste sans fil contrôlée Robot de recherche/sauvetage basé sur la Pi de la framboise. Ce projet illustre et fournit un exemple minimaliste de sans
Mouvement contrôlé par ultrasons lampe

Mouvement contrôlé par ultrasons lampe

Récemment, j'ai appris sur les ondes ultrasoniques et comment exploiter leur puissance. C'est assez simple à faire certains type de dispositif de sonar, mais j'ai voulu prendre à un temps plus frais et voir si je pouvais utiliser des ultrasons pour d
Construction d’une tourelle de Portal avec audio mouvement contrôlé et éclairage

Construction d’une tourelle de Portal avec audio mouvement contrôlé et éclairage

dans ce Instructable je vais vous montrer comment je suis allé sur la création de ma propre vie taille parler portail tourelle de bout en bout. Il s'agit d'une profondeur assez en projet qui permettra de couvrir toutes les étapes de construction et t
Raspberry Pi Google Calendar avec mouvement contrôlé Webcam et météo

Raspberry Pi Google Calendar avec mouvement contrôlé Webcam et météo

il s'agit d'un ajout aux directions impressionnants de Piney. J'ai voulu un calendrier Google afficher avec une webcam comme un détecteur de mouvement pour que le moniteur ne s'allume seulement quand quelqu'un est près de lui et s'éteint quand person
Détecteur de mouvement contrôlé Arduino

Détecteur de mouvement contrôlé Arduino

dans ce Instructable, je vais expliquer comment générer une alarme de mouvement activé ! Il utilise un microcontrôleur Arduino, un capteur PIR (infrarouge passif) et un type d'alarme. Vous pouvez utiliser un indicateur LED, un buzzer ou un piezo. C'e
Web Intel IoT Edison contrôlé LED

Web Intel IoT Edison contrôlé LED

Cette instructable montre comment combiner l'IDE Arduino avec node.js, disponible par défaut sous linux de Yocto Edison, afin de contrôler les éléments de l'Arduino à distance, via une interface web. Pour faire simple, vous pouvez appuyer sur un bout
Prise de mouvement contrôlé

Prise de mouvement contrôlé

Problème :J'ai eu un problème d'avoir un interrupteur dans le mauvais bout du corridor. Je ne voulais pas avoir un nouvel interrupteur installé à cause de la valeur historique du bâtiment. Jusqu'à présent, j'ai utilisé une lampe normale mais allumer
En utilisant le Terminal de SSC-32 Lynx à contrôle Servos

En utilisant le Terminal de SSC-32 Lynx à contrôle Servos

une fois que vous obtenez votre contrôleur de servo SSC-32, la première chose que vous devez faire est de vérifier si elle est opérationnelle. Pour ce faire, vous devez utiliser le terminal Lynx SSC-32. Ce post va vous expliquer exactement comment fa
Main le mouvement contrôlé la voiture R/C

Main le mouvement contrôlé la voiture R/C

il s'agit d'un hack doit-faire pour n'importe quelle voiture R/C à peu de frais, il utilise l'inclinaison sentant interrupteurs j'ai fait donc vous pouvez contrôler une voiture juste en inclinant le contrôleur comme une wiimote.Il y a beaucoup de pos
Mouvement contrôlé RGB Led costume à l’aide de Xbox 360 Kinect, Max MSP et Arduino partie 1

Mouvement contrôlé RGB Led costume à l’aide de Xbox 360 Kinect, Max MSP et Arduino partie 1

Pour les quelques derniers mois, que j'ai travaillé sur un projet kinect j'ai voulu créé une tenue de led qui ont répondu aux mouvements du porteur. Jusqu'à présent je n'ai que les bras faits et il y a certains problèmes qui doivent être élaborées, m
4 servo drive CellBot qui peut être contrôlé à distance.

4 servo drive CellBot qui peut être contrôlé à distance.

j'ai commencé avec une idée de ce que je voulais depuis le début, mais une tentative après l'autre j'ai enfin réussi là où je suis maintenant. Ce robot peut être contrôlé à partir n'importe où dans le monde à distance et conduit dans la maison. Je pe