Steuern Sie einen Servo über das Internet

6 Schritt:Schritt 1: Anforderungen Schritt 2: Servo Schritt 3: Verdrahtung Schritt 4: Der Code: Spark-Core- Schritt 5: Der Code: Web Side Schritt 6: Ausbau

Steuern Sie einen Servo über das Internet

Steuern Sie einen Servo über das Internet

Steuern Sie einen Servo über das Internet

Diese Instructable zeigen, wie Sie ein Servo über das Internet zu kontrollieren, mit einem Funken Kern. Diese Instructable durch einen Funken Kern und und einem winzigen Servo, die in der Funken Maker Kit enthalten ist eingeschaltet (eine normale Servo wird die gleiche Arbeit). Dieses Tutorial ist für Anfänger, um mit dem Spark-Core-und IOT beginnen, wird dieses Tutorial auch auf, wie man den Funken und variable Funken Funktion, die viel einfacher, mit im Vergleich zu der Verwendung eines Raspberry Pi zu arbeiten, ist zu verwenden.

Schritt 1: Anforderungen

  1. Steuern Sie einen Servo über das Internet

    Steuern Sie einen Servo über das Internet

    Hier ist, was Sie brauchen, um mit diesem Instructable beginnen zu müssen, werden alle Teile in die Spark-Maker Kit enthalten.
    Ein Funken Core oder Funken Photon A Servo A-Brot-Brett Ein Micro-USB-Kabel Einige Jumper Wires
    Oder hier ist eine Linie, um das zu bekommen Maker Kit

Schritt 2: Servo

  1. Steuern Sie einen Servo über das Internet

    Steuern Sie einen Servo über das Internet

    Erste Schritte mit einem Servo und der Funkenkern gestartet ist sehr einfach und es gibt keine Notwendigkeit der Bereitstellung einer Python-Server oder der Suche nach der IP-Adresse oder etwas komplizierter. Alles was Sie brauchen ist, die an das Internet über Ihr Haus WIFI verbunden Kern zu erhalten.
    Der Servo in diesem Tutorial verwendet wird in der Funkenbauer Kit enthalten, so, wenn Sie, dass Sie gut zu gehen. Wenn Sie einen von einem vorherigen Arduino-Projekt, das auch in Ordnung ist diese Servos verbrauchen weniger Strom und können direkt aus dem Kern ohne Braten den Spannungsregler versorgt werden. Falls Sie diese ganz Großen, die viel Strom fressen haben, dann müssen Sie sie separat anzutreiben.

Schritt 3: Verdrahtung

  1. Steuern Sie einen Servo über das Internet

    Steuern Sie einen Servo über das Internet

    Hier ist, wie die Verdrahtung geht das Servo 3,3 V, so dass die 3,3 V bilden den Kern geht an den orangefarbenen per Kabel des Servo. Der Massestift den Kern an das braun gefärbte Draht verbunden oder geschwärzt gefärbt einen und der letzte Anschluß mit dem Pin D0 des Kerns verbunden ist.
    Die orange und der braune Draht sind die Leistungsanschlüsse für die Servo, die auf +5 V oder +3,3 V verbunden werden müssen. Servos werden mit einem PWM-Signal, das immer die gleiche Frequenz, sondern variiert in der Bezeichnung des Arbeitszyklus gesteuert. Je mehr Zeit hoch das Steuersignal (größer Tastverhältnis), desto mehr wird die Servo in eine Richtung bewegen. Wenn das Tastverhältnis niedriger ist und die Steuer weniger Zeit verbringt Hoch, desto mehr wird die Servo in die andere Richtung zu bewegen.

Schritt 4: Der Code: Spark-Core-

  1. Steuern Sie einen Servo über das Internet

    Steuern Sie einen Servo über das Internet

    Dieses Programm muss auf den Kern über die Web-IDE, an der Funkenbildung Seite vorgesehen hochgeladen werden.
      Servo myservo;  // Servo Aufgabe, ein Servo <br> kontrollieren erstellen
     int pos = 0;  // Variable, um die Servoposition zu speichern </ p> <p> Leere setup ()
     {
       myservo.attach (A0);  // Misst der Servo auf dem A0 Pin an die Servo Objekt
       Spark.function ("setpos", setPosition);
       Spark.variable ("getpos", & pos, INT);
     }
    
     Leere Schleife ()
     {
     }
    
     int setPosition (String posValue) {
         pos = posValue.toInt ();
         myservo.write (POS);
         return 0;
     } 

    Beachten Sie, dass die Schleife () Funktion hat keinen Code, denn das ist alles wurde Sorgfalt für uns genommen und alles, was wir tun müssen ist, rufen Sie die spark.variable () -Funktion und die spark.function (). Wenn dies wurde mit einem Arduino gemacht eine ganze große Stück Code muss in es geschrieben werden, damit es funktioniert.

Schritt 5: Der Code: Web Side

  1. Steuern Sie einen Servo über das Internet

    Zeit für ein bisschen JavaScript, das ist der schwierige Teil des Tutorials und hier bekommen wir die Steuerungsseite des Codes ready.If Sie JavaScript neu sind, können Sie geben Sie einfach Ihre Zugriffstoken und Core-ID und diese Datei in einem Lauf Web-Browser, ist dies ein Programm, Jason Anforderungen ausführt und mit dem Kern über die Funken Wolke.
    Und mit AJAX, um die Dinge Live Zeit passieren.
      <! DOCTYPE HTML>
     << Span class = "hljs-title"> html> </ span>
       << Span class = "hljs-title"> script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type = "text / javascript" charset = "utf-8"> </ span> </ <span class = "hljs-title"> script> </ span>
     << Span class = "hljs-title"> body> </ span>
         << Span class = "hljs-title"> P> </ span> Set Servo Position: << span class = "hljs-title"> br> </ span> << span class = "hljs-title"> br > </ span>
         << Span class = "hljs-title"> input type = "Bereich" name = "degBox" id = "degBoxId" min = "0" max = "180" Schritt = "1" value = Liste "90" = " myData "onchange =" setValue (this) "> </ span>
         <! - Dies fügt die Teilstriche auf den Bereich aber nicht in Safari ->
         << Span class = "hljs-title"> Datalist id = "myData"> </ span>
            << Span class = "hljs-title"> option value = "0"> </ span>
            << Span class = "hljs-title"> option value = "30"> </ span>
            << Span class = "hljs-title"> option value = "60"> </ span>
            << Span class = "hljs-title"> option value = "90"> </ span>
            << Span class = "hljs-title"> option value = "120"> </ span>
            << Span class = "hljs-title"> option value = "150"> </ span>
            << Span class = "hljs-title"> option value = "180"> </ span>
         </ <Span class = "hljs-title"> datalist> </ span>
         << Span class = "hljs-title"> br> </ span> << span class = "hljs-title"> br> </ span>
         << Span class = "hljs-title"> Button id = "minusbutton" onclick = "fineAdjust (-5)"> </ span> ⇐ -5 ° </ <span class = "hljs-title"> Button> < / span>
         << Span class = "hljs-title"> Button id = "plusbutton" onclick = "fineAdjust (+5)"> </ span> +5 ° ⇒ </ <span class = "hljs-title"> Button> < / span>
         << Span class = "hljs-title"> br> </ span> << span class = "hljs-title"> br> </ span>
         << Span class = "hljs-title"> P> </ span> Aktuelle Position: << span class = "hljs-title"> span id = "CURPOS"> </ span> </ <span class = "hljs -title "> span> </ span> << span class =" hljs-title "> br> </ span>
    
         << Span class = "hljs-title"> script type = "text / javascript"> </ span>
           <Span class = "hljs-Schlüsselwort" style = "font-weight: bold;"> var deviceID = "<< >> Geräte-ID";
           var accessToken = "<< >> Zugriffstoken";
           var setFunc = "setpos";
           var getFunc = "getpos";
    
           window.setInterval (<span class = "hljs-Schlüsselwort" style = "font-weight: bold;"> function () </ span> {
             requestURL = "https://api.spark.io/v1/devices/" + deviceID + "/" + getFunc + "/ access_token =" + accessToken;
             € .getJSON (requestURL, <span class = "hljs-Schlüsselwort" style = "font-weight: bold;"> Funktion (JSON) </ span> {
                      document.getElementById ("CURPOS") innerhtml = json.result + "°".
                      document.getElementById ("CURPOS") style.fontSize = "28px".
                      document.getElementById ("degBoxId") value = parseInt (json.result).
                      });
           }, 1000);
    
           <Span class = "hljs-Schlüsselwort" style = "font-weight: bold;"> Funktion setValue (obj) </ span> {
             var newValue = document.getElementById ('degBoxId') Wert.
             sparkSetPos (newValue);
           }
    
           <Span class = "hljs-Schlüsselwort" style = "font-weight: bold;"> Funktion fineAdjust (Wert) </ span> {
             var current = parseInt (document.getElementById ('CURPOS') innerhtml.);
             var setValue = Wert + current;
             sparkSetPos (setValue);
             document.getElementById ("degBoxId") value = setValue.
           }
    
           <Span class = "hljs-Schlüsselwort" style = "font-weight: bold;"> Funktion sparkSetPos (newValue) </ span> {
    	 var requestURL = "https://api.spark.io/v1/devices/" + deviceID + "/" + setFunc + "/";
             € .post (requestURL, {params: newValue, access_token: accessToken});
           }
    
         </ Span> </ <span class = "hljs-title"> script> </ span>
     </ <Span class = "hljs-title"> body> </ span>
     </ <Span class = "hljs-title"> html> </ span> <br> 

Schritt 6: Ausbau

  1. Steuern Sie einen Servo über das Internet

    Steuern Sie einen Servo über das Internet

    Wenn Sie alles richtig gemacht haben und die Funkenkerns mit dem binären Code blitzte, sollten Sie Ihren Kern Steuerung Ihres Servo mit etwas Verzögerung. Die Verzögerung ist auf die ping Differenz Ihre IP zur Funken Core-Server IP bilden. Sie können auch kontrollieren von einem lokalen Wolke und ich werde eine Instructable auf, dass in Kürze veröffentlichen.
    Notebook Nicht teilen Sie Ihre HTML-Datei mit niemandem, wie es Ihre Access-Token enthält und Core ID stellen Sie sicher, es zu löschen, bevor Sie sie zu teilen.