So steuern Sie Ihren Arduino mit JavaScript

So steuern Sie Ihren Arduino mit JavaScript

Arduino-Boards sind eine der einfachsten Möglichkeiten, Hardware-Hacking für Programmierer zu erlernen. Es gibt eine große Auswahl an Anfängerprojekten. 10 Große Arduino-Projekte für Anfänger 10 Große Arduino-Projekte für Anfänger Die Fertigstellung eines Arduino-Projekts gibt Ihnen ein Gefühl der Zufriedenheit wie kein anderes. Die meisten Anfänger sind jedoch nicht sicher, wo sie anfangen sollen, und selbst Anfängerprojekte können ziemlich entmutigend wirken. Lesen Sie mehr da draussen für jeden mit einem Programmierhintergrund. Trotzdem kann der Einstieg für diejenigen, die nur wenig Zeit haben, entmutigend wirken.

Eine völlig neue Sprache lernen Welche Programmiersprache sollten Sie für die Zukunft lernen? Welche Programmiersprache sollten Sie für die Zukunft lernen? Welches ist die beste Programmiersprache für die Zukunft? Wenn Sie nur eine Sprache auswählen könnten, um für die Zukunft zu lernen und zu lernen, gibt es keinen Wettbewerb: Es muss JavaScript sein. Lesen Sie mehr, nur um einen Mikrocontroller auszuprobieren könnte wie eine Menge Arbeit erscheinen. Wie wäre es, wenn Sie in einer Ihnen vertrauten Programmsprache mit der hauseigenen Elektronik anfangen wollen? Gute Nachrichten: Sie können!

Wir haben bereits gezeigt, wie man ein Arduino-Board mit Python steuert Wie man ein Arduino mit Python programmiert und steuert Wie man ein Arduino mit Python programmiert und steuert Leider ist es unmöglich um ein Arduino direkt in Python zu programmieren, aber Sie können es über USB mit einem Python-Programm steuern. Hier ist wie. Lesen Sie mehr, und heute zeigen wir Ihnen, wie Sie dasselbe mit JavaScript machen. Anstatt nur das einfachste blinkende LED-Tutorial, verwenden wir heute das Johnny-Five-Framework, um ein Servo mit der Computertastatur zu steuern, alles in JavaScript programmiert. Was ist JavaScript und wie funktioniert es? Was ist JavaScript und wie funktioniert es? Was ist Javascript? Es ist eine Programmiersprache, die verwendet wird, um Webseiten zu verbessern. Es beinhaltet dynamische Updates von Webseiten, Benutzeroberflächen und mehr. Lassen Sie uns tauchen, was Javascript alles ist. Weiterlesen .

So steuern Sie Ihren Arduino mit JavaScript

Hardwareliste

Für dieses Projekt benötigen Sie:

  • Arduino Uno (oder kompatibles Board Arduino Buying Guide: Welches Board sollten Sie bekommen? Arduino Buying Guide: Welches Board sollten Sie bekommen? Es gibt so viele verschiedene Arten von Arduino Boards da draußen, Sie würden vergeben werden, um verwirrt zu sein. Womit sollten Sie kaufen Ihr Projekt? Lassen Sie uns helfen, mit dieser Arduino Kaufanleitung! Lesen Sie mehr): $ 22 aus dem offiziellen Shop, obwohl Sie sie billiger bekommen 5 Gründe, ein echtes Arduino in Ihrem nächsten Projekt zu verwenden 5 Gründe, ein echtes Arduino in nicht zu verwenden Ihr nächstes Projekt Ist die Arduino-Stiftung zu weit gegangen? Warum sollten Sie Ihr Geld für Genuine Arduino-Produkte ausgeben? Wir erklären Ihnen alles, was Sie wissen müssen. Lesen Sie mehr, Clone Boards sind für so wenig wie $ 3.20 auf AliExpress verfügbar.
  • Hobby Servo: Irgendein Arduino kompatibles Servo von einem Hobby-Geschäft wird tun, ich benutze ein $ 1.60 Servo von AliExpress.
  • Ein paar Kabelverbindungen
  • USB-Kabel: Zum Verbinden des Arduino mit Ihrem Computer

So steuern Sie Ihren Arduino mit JavaScript

Das heutige Tutorial verwendet ein Arduino Uno Board. Das Johnny-Five-Framework, das wir später in diesem Projekt verwenden werden, unterstützt die meisten Arduino-kompatiblen Mikrocontroller, obwohl Ihr Board PWM-fähig sein muss, um den Servo zufrieden zu stellen.

Circuit Setup

Fügen Sie Ihr Servo so an Ihren Arduino an:

So steuern Sie Ihren Arduino mit JavaScript

Kurz gesagt, VCC-Leitung ( ROT ) verbindet sich mit dem 5V-Pin des Arduino, die GND-Leitung ( BLACK oder BROWN ) verbindet sich mit dem GND-Pin des Arduino und die Pulslinie ( Gelb oder Orange ) verbinden sich mit Pin 10 des Arduino. Beachten Sie, dass Sie zwar eine Verbindung zu Pin 10 nicht herstellen müssen, es sich jedoch mit einem PWM-Pin verbinden muss, der normalerweise mit einem ~ gekennzeichnet ist.

Vergewissern Sie sich, dass Sie keine Kabel miteinander verwechselt haben und schließen Sie den Arduino an Ihren Computer an. Wir verwenden Windows 10 für dieses Projekt. Alle Elemente dieses Projekts sind auch für Mac und Linux verfügbar, obwohl einige Installationsanweisungen leicht abweichen können.

Laden Sie die Arduino IDE herunter und wählen Sie Ihr Board und Port aus dem Tools -Menü aus, falls Sie es noch nicht getan haben. Wenn dies das erste Mal ist, dass Sie dies tun und es ist alles ein bisschen amystery, unser Arduino Einsteigerhandbuch Erste Schritte mit Arduino: Ein Einsteigerhandbuch Erste Schritte mit Arduino: Ein Einsteigerhandbuch Arduino ist eine Open-Source-Prototyping-Plattform für Elektronik, die auf flexibler, benutzerfreundlicher Hardware und Software basiert. Es richtet sich an Künstler, Designer, Bastler und alle, die interaktive Objekte oder Umgebungen erstellen möchten. Read More könnte Ihnen bei diesen Schritten helfen.

So steuern Sie Ihren Arduino mit JavaScript

Nachdem Sie die Verbindung hergestellt haben, laden Sie die Beispielskizze StandardFirmataPlus auf das Board hoch. Sie finden diese Skizze im Menü Datei unter Beispiele > Firmata > StandardFirmataPlus . Sie müssen die Skizze überhaupt nicht ändern, sie stellt im Wesentlichen nur das Arduino auf, um auf Anweisungen von außen zu warten – die wir uns später selbst liefern werden.

JavaScript Robotics mit Johnny-Five

Das Framework, das wir verwenden werden, um unser Arduino mit Javascript zu steuern, heißt Johnny-Five. Es überrascht nicht, dass das Projekt angesichts seines Namensgebers darauf ausgerichtet ist, mit Robotik zu arbeiten.

So steuern Sie Ihren Arduino mit JavaScript Bildquelle: johnny-five.io

Um Johnny-Five zu installieren, müssen wir zuerst Node.js installieren. Was ist Node.JS und warum Kümmert mich das? [Web-Entwicklung] Was ist Node.JS und warum sollte ich mich kümmern? [Web-Entwicklung] JavaScript ist nur eine clientseitige Programmiersprache, die im Browser läuft, oder? Nicht länger. Node.js ist eine Möglichkeit, JavaScript auf dem Server auszuführen. aber es ist auch viel mehr. Wenn … Lesen Sie mehr. Sie können den neuesten Build von der Node.js-Website herunterladen. Wir verwenden die empfohlene Version, die zum Zeitpunkt des Schreibens 8.9.4 LTS ist.

Öffnen Sie die .msi -Datei und befolgen Sie die Installationsanweisungen, um sicherzustellen, dass sie Ihrem PATH hinzugefügt wird. Das aktuelle Node.js-Installationsprogramm fügt PATH als Standard hinzu, obwohl es sich lohnt, dies während der Installation zu überprüfen, da dies für unseren nächsten Schritt erforderlich ist.

So steuern Sie Ihren Arduino mit JavaScript

Sobald die Installation abgeschlossen ist, haben wir Zugriff auf den Paketmanager Node Package Manager (NPM) von die Windows-Befehlszeile (CMD). Klicken Sie auf Start und geben Sie CMD ein. Bevor wir fortfahren, müssen wir den NPM initialisieren, um mögliche Installationsfehler zu vermeiden. Es ist kein Spezialwissen erforderlich, geben Sie einfach Folgendes ein:

npm init

Folgen Sie den Anweisungen auf dem Bildschirm. Für das heutige Projekt müssen Sie nichts ändern, drücken Sie einfach die Eingabetaste, bis Sie wieder an der Eingabeaufforderung sind, und geben Sie ein:

npm install johnny-five

Dies wird die installieren alle wichtigen Pakete, die mit unserem Arduino sprechen werden. Wir brauchen noch eine weitere Sache, um dieses Projekt zum Laufen zu bringen. Das ist das Paket Keypress , mit dem wir Tastenanschläge von der Tastatur lesen können.

Installieren Sie es durch Eingabe von:

npm install keypress

Sobald alle diese Pakete installiert sind, sind wir bereit zu programmieren!

Wenn während der Installation Probleme auftreten, versuchen Sie, die johnny-five-Installation nach der Installation von keypress erneut auszuführen. Es mag nur eine Eigenart der hier verwendeten NPM-Version sein, aber das verhindert jetzt ein Problem, auf das Sie wahrscheinlich später stoßen werden, wie ich es tat.

Der Code

Wir werden heute einen Beispielcode aus der johnny-five-Dokumentation verwenden, der die Steuerung unseres Servos über die Pfeiltasten auf der Tastatur ermöglicht. Der vollständige Code ist unter johnny-five.io verfügbar, aber wir werden ihn hier im Detail durchgehen, um zu verstehen, wie er funktioniert.

Wir verwenden Eclipse IDE 8 Die meisten nützlichen Tastaturkürzel für Anfänger Eclipse IDE Benutzer 8 Nützlichste Tastaturkürzel für Anfänger Eclipse IDE Benutzer Wie neulingfreundlich wie die Eclipse IDE (Schnittstelle) ist, sind Sie es sich selbst schuldig um diese Tastaturkürzel zu lernen. Lesen Sie mehr zum Codieren heute, obwohl Sie jeden IDE oder Texteditor verwenden können Text Editoren vs. IDEs: Welches ist besser für Programmierer? Text Editoren vs. IDEs: Welche ist besser für Programmierer? Die Wahl zwischen einer erweiterten IDE und einem einfacheren Texteditor kann schwierig sein. Wir bieten einige Einblicke, die Ihnen helfen, diese Entscheidung zu treffen. Lesen Sie mehr für dieses Projekt.

Erstellen Sie eine neue Datei und nennen Sie sie test.js, und speichern Sie sie dort, wo Sie später einfach über die Befehlszeile zugreifen können. Das Skript beginnt mit dem Erstellen von Variablen für die erforderlichen Bibliotheken und dem Initialisieren der Keypress -Bibliothek, um auf eingehende Daten zu warten, und dem Aufrufen der Board () -Methode zum Einrichten der Karte.

var five = require("johnny-five");
var keypress = require("keypress");

keypress(process.stdin);

var board = new five.Board();

Beachten Sie, dass das Board-Setup hier automatisch erfolgt und Sie keine Ports angeben müssen. Wenn Sie ein bestimmtes Port-Setup haben oder gerade kein Glück mit der automatischen Erkennung haben, müssen Sie möglicherweise Ihren Port explizit angeben.

Als nächstes wollen wir “ aufwachen ” unser Board und richten es für die Servosteuerung ein. Der Aufruf board.on wartet, bis die Arduino-Pins bereit sind, bevor Sie fortfahren. Die johnny-five-Bibliothek bietet Unterstützung für eingebaute Servos und wir rufen Servo.Continuous (10) auf Pin 10 auf, um eine direkte Steuerung zu ermöglichen.

board.on("ready", function() {
  console.log("Use Up and Down arrows for CW and CCW respectively. Space to stop.");
  var servo = new five.Servo.Continuous(10);

  process.stdin.resume();
  process.stdin.setEncoding("utf8");
  process.stdin.setRawMode(true);

Die process.stdin Anrufe stellen sicher, dass alle Daten, die wir von der Tastatur erhalten, im nächsten Codeblock verwendbar sind Nun wollen wir „tasten“ für Tastenanschläge und benutzen sie, um unser Servo im Uhrzeigersinn (CW), gegen den Uhrzeigersinn (CCW) oder zu bewegen stopp in seinen Spuren.

process.stdin.on("keypress", function(ch, key) {
    if (!key) { // if no key is pressed, return i.e do nothing.
      return;
    }

    if (key.name === "q") {
      console.log("Quitting");
      process.exit();
    } else if (key.name === "up") {
      console.log("CW");
      servo.cw();
    } else if (key.name === "down") {
      console.log("CCW");
      servo.ccw();
    } else if (key.name === "space") {
      console.log("Stopping");
      servo.stop();
    }
  });
});

Stellen Sie sicher, dass Sie alle schließenden Klammern unten an dieser Stelle einfügen, und beziehen Sie sich bei Fehlern auf den gesamten obigen Block. Speichern Sie dieses Skript und öffnen Sie die Eingabeaufforderung.

Winken Hallo!

Navigieren Sie nun zu dem Verzeichnis, in dem Sie Ihr Skript gespeichert haben, und führen Sie es aus, indem Sie Folgendes eingeben:

node test.js

Das Programm sollte sofort mit Informationen über das Board beginnen, bevor Sie die Anweisungen im Code angeben. Versuchen Sie, die Auf- und Abwärtspfeiltasten und die Leertaste zu drücken und Q zu beenden. Der Bildschirm sollte so aussehen:

So steuern Sie Ihren Arduino mit JavaScript

Und alles gut, der Servo sollte zu Ihren Tastenanschlägen tanzen! Schau dir die kleine beastie wave an!

So steuern Sie Ihren Arduino mit JavaScript

Bescheidene Anfänge

Trotz eines etwas ehrgeizigeren Projekts als der übliche Anfänger blinkendes LED-Tutorial haben wir kaum einmal das volle Ausmaß dessen angesprochen, was man mit Arduino-Boards und ähnlichen Mikrocontrollern machen kann.

Erfahrene JavaScript-Benutzer sollten das Johnny-Five-Paket intuitiv zum Arbeiten finden. Die Bibliothek kann auch auf dem Raspberry Pi installiert werden und ist somit das perfekte Paket für angehende Roboterbauer.

Das Großartige an dieser Bibliothek ist, dass, obwohl sie mit Robotern entworfen wurde, die gleichen Input- und Output-Daten verwendet werden können, um DIY Smart Home-Setups mit Arduino, MySensors und OpenHAB DIY zu erstellen Smart Home Sensoren mit Arduino, MySensors und OpenHAB Smart Home Sensoren kosten lächerlich viel Geld. Ein ganzes Haus zu verdrahten ist die Domäne von Leuten mit albernen Mengen verfügbaren Einkommens. Lasst uns mit MySensors ein eigenes bauen. Lesen Sie mehr und sogar selbst gebraute Sicherheitssysteme DIY Smart Lock mit Arduino und RFID DIY Smart Lock mit Arduino und RFID Hier erfahren Sie, wie Sie ein einfaches RFID-basiertes Smart-Lock mit einem Arduino als Rückgrat und ein paar billigen Komponenten bauen. Weiterlesen .

Die Kommunikation mit Mikrocontrollern ist eine großartige Einführung in die Welt der Heimwerker-Hardware, ohne dass man sich die Zeit nehmen muss, eine komplett neue Programmiersprache zu erlernen. Viel Spaß dort draußen, und wenn Sie zufällig einen Killer-Roboter bauen, erinnern Sie sich bitte, wie wir Ihnen in den frühen Tagen geholfen haben.

q , quelle

Zusammenhängende Posts:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.