IoT Motion gecontroleerd servo's (4 / 10 stap)

Stap 4: Java-broncode

Als u niet geïnteresseerd in de java-code bent, kunt u deze stap; overslaan echter, moet u ten minste zetten van uw persoonlijke sleutels van de PubNub in de code voor het aan het werk! De broncode kan worden bekeken op GitHub.

De volgende invoer zijn vereist. Als deze in fouten resulteren, hebt waarschijnlijk niet u de SDK-bibliotheken correct geïnstalleerd.

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

Het is van cruciaal belang dat u uw project Runnable implementeren, zodat we kunnen beschikken over alle activiteiten van de sprong in zijn eigen besturingsthread opereren. We beginnen door de oprichting van het belangrijkste project, een implementatie van de jaagbare interface en initialiseren van globale variabelen die we later zullen gebruiken. De belangrijkste dingen om te nemen nota van zijn de globale variabele "kanaal", alsmede een paar sleutels verklaard in 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 ... } } 

Deze tekenreeksen zijn de enige waarden die u zult moeten veranderen. De naam van het kanaal de standaard "leap2pi" kan blijven of kan bestaan uit sommige andere alpha-numerieke waarde. Alles met behulp van PubNub voor communicatie praat via een kanaal, dus u een unieke naam gebruikt wilt om te voorkomen dat cross talk tussen verschillende projecten! Het publiceren en abonneren sleutels zijn unieke persoonlijke id gegeven aan u door PubNub wanneer u zich voor een account registreert. Houd ze veilig. Houd ze privé. Deze toetsen voorkomen dat andere mensen praten op uw zender (s). Let op, er misschien wel een paar plaatsen in de code die specifiek de tekenreeks "leap2pi" in plaats van de constante "Kanaal gebruikt", en al deze situaties moet worden gewijzigd.

De sprong motie vangt ongeveer 300 frames per seconde. Binnen elk frame hebben we toegang tot ton van informatie over onze handen, zoals het aantal vingers uitgebreid, toonhoogte, yaw en hand gebaren. De waarden geretourneerd door de sprong voor pitch en yaw (pols pan en tilt) zijn in radialen, die helpt ons niet teveel. Wij willen deze waarden converteren naar een indeling die is aanvaard door het PWM-stuurprogramma in het vak. We eerst converteren van radialen naar graden, waarna een aanvaardbaar servo PWM waarde tussen 150 en 600 graden. Dit bereik komt overeen met de typische werkbereik van een servo (500-2000 VS), vertegenwoordigd door de 12 bits servo stuurprogramma.

De fundamentele vergelijking is 2500us / (2 ^ 13 -1) * (Servo Min/Max pulsbreedte), dus [500, 2000] ons toegewezen aan [150, 600]... ongeveer... In de code, worden deze omzettingen afgehandeld door de volgende methoden.

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

Ook, gelieve excuus de onjuiste servo en PWM terminologie in de code... niet iedereen die aan dit project meegewerkt was een expert in deze onderwerpen!

De beste manier om ervoor te zorgen dat uw code werkt is voor het laden van de Foutopsporingsconsole PubNub. U kunt vanaf hier, voer de naam van je kanaal, evenals uw publiceren en abonneren toetsen. Hit "Subscribe", en uw gepubliceerde gegevens moeten verschijnen in het vak berichten terwijl u uw handen over de sprong Motion Controller beweegt met de Java-code die wordt uitgevoerd.

Gerelateerde Artikelen

Maak je eigen robot motion gecontroleerd

Maak je eigen robot motion gecontroleerd

Motie gecontroleerd ervaringen hoeven niet te worden beperkt tot games, of zelfs digitale apparaten, eigenlijk een responsieve beweging interactie kan worden bereikt met behulp van eenvoudige en toegankelijke alledaagse voorwerpen.Een algoritme Engin
Arduino gecontroleerd Servo Robot (SERVISCH)

Arduino gecontroleerd Servo Robot (SERVISCH)

wat een betere manier om te experimenteren met opensource micro-controllers ( Arduino ) dan door het bouwen van uw eigen bron robot open ( CC (SA-door))?Wat te doen met uw Servische?(hier) - hoe uw Servische verbinden met het internet en het rijden o
Sprong Motion gecontroleerd externe zoeken en verwijdering Robot

Sprong Motion gecontroleerd externe zoeken en verwijdering Robot

Als onderdeel van mijn inzending voor de sprong Motion #3D Jam was ik opgewekt om te bouwen van deze draadloze gebaar gecontroleerde zoeken/Rescue Robot gebaseerd op de Raspberry Pi. Dit project laat zien en biedt een minimalistisch voorbeeld van hoe
Motion geactiveerd Servo

Motion geactiveerd Servo

dit is een fundamentele motie geactiveerde servo die kan worden gebruikt in een breed scala aan projecten, en het is zeer eenvoudig en makkelijk te maken. Als u het creatief gebruikt, kunt u een heleboel dingen mee doen. Bijvoorbeeld, gebruikte ik mi
MPU6050 gecontroleerd servo arm

MPU6050 gecontroleerd servo arm

Dus, in dit instructable presenteer ik het proces om een 2-as pan en tilt servo arm gecontroleerd met behulp van de MPU6050versnellingsmeter.We moeten allereerst het uploaden van de bestanden i2cdev.zip en MPU6050.zip in de bibliotheek van de Arduino
Hercules: The Motion gecontroleerd Android Robot

Hercules: The Motion gecontroleerd Android Robot

toen ik in de 8th -rang, was ik geïntrigeerd tijdens het spelen van de motie games op Nokia 5800. Ik was zo blij, hoe kan ik de racewagen controle door alleen het kantelen van de telefoon. Ik gebruikte om te dromen van het maken van deze dezelfde aut
WiiMote gecontroleerde Servos met RaspberryPi

WiiMote gecontroleerde Servos met RaspberryPi

In dit zeer korte leerprogramma, zal ik u tonen hoe te controle 2 servo's bedraad op uw RaspberryPi. Deze tutorial is zeer eenvoudig en flexibel vanwege zijn meerdere toepassingen. Dus, laten we beginnen!Als u zich verveelt over lezing, maakte ik 2 v
Licht gecontroleerd Servo met behulp van LinkitONE

Licht gecontroleerd Servo met behulp van LinkitONE

HalloHier zal ik je laten zien hoe u kunt uw servomotor met behulp van licht!Meer licht, meer de snelheid van servomotorStap 1: onderdelen U zal nood-1 x LDR1 x LinkitONE1 x Mini ServoStap 2: Bevestig servomotor Nu zullen we de servomotor bouwen. Daa
Arduino gecontroleerd Servo uitoefenaar

Arduino gecontroleerd Servo uitoefenaar

je je Arduino en u kreeg uw Servo...Hier is een koele weinig programma schreef ik dat u om rechten die servo aan uw harteninhoud toelaten zal. Misschien vindt u enkele van de ondersteunende code handig ook!Er is echt geen andere onderdelenlijst, dus
Uitvoeren van schuim gecontroleerd servo's

Uitvoeren van schuim gecontroleerd servo's

deze video toont het gebruik van het uitvoeren van schuim als input voor de Arduino Duemilanove. De uitvoer bestaat uit 2 servo's die, uiteindelijk, een robotic hand zal controleren.De geleidende schuim is ontleend aan een pcb-case (oorspronkelijk te
K-9 2.0. WiFi gecontroleerde en autonome Robot hond.

K-9 2.0. WiFi gecontroleerde en autonome Robot hond.

OPMERKING:In stap 22, heb ik gepost een update, verklaren sommige recente veranderingen/verbeteringen die ik, voornamelijk K-9 van elektrische systeem gemaakt heb en de sensor array, die u kunt nuttig vinden.FunctiesStevige houten (MDF) en acryl desi
Motion geactiveerd camera

Motion geactiveerd camera

dit is de tweede uit automatische camera trigger met arduino. In dit instructable ga ik om u te tonen hoe maak je een motion geactiveerd camera. Dit project voor de camera beweging detecteert en triggers de servo Klik op een foto in de camera.Net als
Laser-gesneden tandwielen en servo-control voor een klep

Laser-gesneden tandwielen en servo-control voor een klep

In de opbouw van een cocktail robot, merkte ik dat ik behoefte aan een gecontroleerde servo klep. Ik heb gespeeld rond met een eenvoudige arm koppeling, maar de geometrie niet uit te werken heel goed. Het was moeilijk om hefboomwerking beide eind van
Servo Squirter - USB waterpistool

Servo Squirter - USB waterpistool

A USB gecontroleerd servo waterpistool. Ideaal voor bakken op nietsvermoedende voorbijgangers, of houden van mensen met lastige vragen bij baai.Dit project is een klein waterpomp gemonteerd op de top van een servo voor directionele afvuren. Het hele