So steuern Sie Ihr Arduino mit JavaScript

Wussten Sie, dass Sie Ihren Arduino mit Javascript steuern können? Mit einem Stück Software und etwas Kreativität können Sie! Hier ist, wie es geht.

Wussten Sie, dass Sie Ihren Arduino mit Javascript steuern können?  Mit einem Stück Software und etwas Kreativität können Sie!  Hier ist, wie es geht.
Werbung

Arduino-Boards sind eine der einfachsten Möglichkeiten, Hardware-Hacking für Programmierer zu bekommen. 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. Dennoch 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 Ihnen 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, ein Arduino direkt in Python zu programmieren, aber Sie können es steuern über USB mit einem Python-Programm. 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 .

Hardwareliste

Für dieses Projekt benötigen Sie:

  • Arduino Uno (oder kompatibles Board Arduino Ratgeber: Welches Board sollten Sie bekommen? Arduino Ratgeber: 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. Was sollten Sie kaufen Sie für Ihr Projekt? Lassen Sie uns helfen, mit diesem Arduino Kaufführer! Lesen Sie mehr): $ 22 vom offiziellen Speicher, obwohl Sie sie billiger erhalten können 5 Gründe, ein echtes Arduino in Ihrem nächsten Projekt nicht zu verwenden 5 Gründe, kein echtes zu verwenden Arduino in Ihrem nächsten 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 Stücke von Haken Draht
  • USB-Kabel: Zum Anschließen des Arduino an Ihren Computer

wie man Arduino mit Javascript steuert

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 zufriedenzustellen.

Schaltungseinstellung

Befestigen Sie Ihr Servo so an Ihrem Arduino:

wie man Arduino mit Javascript steuert

Kurz gesagt, verbindet die VCC-Leitung ( RED ) mit dem 5V-Pin des Arduino, die GND-Leitung ( BLACK oder BROWN ) mit dem GND-Pin des Arduino und die Pulse-Leitung ( Gelb oder Orange ) mit Pin 10 des Arduino. Beachten Sie, dass, obwohl Sie ihn nicht speziell mit Pin 10 verbinden müssen, er mit einem PWM-Pin verbunden werden muss, der normalerweise mit einem ~ gekennzeichnet ist .

Vergewissern Sie sich, dass Sie keine Drähte miteinander verwechselt haben, und schließen Sie den Arduino an Ihren Computer an. Wir werden Windows 10 für dieses Projekt verwenden. 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 im Menü Tools die Option Board und Port aus, falls noch nicht geschehen. Wenn dies das erste Mal ist, dass Sie dies tun, und es ist alles ein Rätsel, unser Arduino Einsteigerhandbuch Erste Schritte mit Arduino: Ein Anfängerhandbuch Erste Schritte mit Arduino: Ein Anfängerhandbuch Arduino ist eine Open-Source-Elektronik-Prototyping-Plattform basierend auf flexiblen, einfach zu bedienende Hardware und Software. 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.

wie man Arduino mit Javascript steuert

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-Robotik mit Johnny-Five

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

wie man Arduino mit Javascript steuert
Bildquelle: johnny-five.io

Um Johnny-Five zu installieren, müssen wir zuerst Node.js installieren. Was ist Node.JS und warum sollte ich mich kümmern? [Web-Entwicklung] Was ist Node.JS und warum sollte ich mich kümmern? [Web-Entwicklung] JavaScript ist nur eine clientseitige Programmiersprache, die im Browser ausgeführt wird, 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.

wie man Arduino mit Javascript steuert

Sobald die Installation abgeschlossen ist, haben wir über die Windows-Befehlszeile (Command Line, CMD) Zugriff auf den Node Package Manager (NPM) -Paket-Manager. 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 erfordert keine speziellen Kenntnisse, geben Sie einfach 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 dann Folgendes ein:

 npm install johnny-five 

Dies wird alle wichtigen Pakete installieren, die mit unserem Arduino sprechen werden. Wir brauchen noch eine weitere Sache, um dieses Projekt zum Laufen zu bringen, und das ist das Keypress- Paket, 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 vielleicht nur eine Eigenart der hier verwendeten NPM-Version sein, aber wenn Sie das jetzt tun, verhindert das ein Problem, auf das Sie wahrscheinlich später stoßen werden, so wie ich es getan habe.

Der Code

Wir werden heute einen Beispielcode aus der johnny-five-Dokumentation verwenden, der die Steuerung unseres Servos mit den 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 Nützlichste 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, schuldest du es dir selbst, 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, nennen Sie sie test.js, und speichern Sie sie an einer Stelle, auf die Sie später problemlos ü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 unser Board "aufwecken" und es für die Servosteuerung einrichten. Der board.on Call wartet, bis die Arduino Pins bereit sind, bevor Sie weitermachen . Die johnny-five-Bibliothek unterstützt 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 Aufrufe von process.stdin stellen sicher, dass alle Daten, die wir über die Tastatur erhalten, im nächsten Codeblock verwendbar sind. Jetzt wollen wir auf Tastenanschläge "hören" und sie benutzen, um unser Servo im Uhrzeigersinn (CW), gegen den Uhrzeigersinn (CCW) zu bewegen oder in seinen Spuren anzuhalten.

 process.stdin.on("keypress", function(ch, key) { if (!key) { // if no key is pressed, return ie 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 an der Unterseite hier einschließen, und beziehen Sie sich auf den gesamten Block des Codes wie oben verlinkt, wenn Sie irgendwelche Fehler erhalten. Speichern Sie dieses Skript und öffnen Sie die Eingabeaufforderung.

Winken Hallo!

Navigieren Sie nun zu dem Verzeichnis, in dem Sie das 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 Ab-Pfeiltasten und die Leertaste zu drücken und Q zu beenden. Der Bildschirm sollte so aussehen:

wie man Arduino mit Javascript steuert

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

Bescheidenen Anfängen

Obwohl wir ein etwas ambitionierteres Projekt als das gewöhnliche blinkende LED-Lernprogramm begonnen haben, haben wir kaum das volle Ausmaß dessen angesprochen, was mit Arduino-Boards und ähnlichen Mikrocontrollern getan werden 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 Smart Home Sensoren mit Arduino, MySensors zu erstellen und OpenHAB Smart Home Sensoren kosten eine lächerliche Menge Geld. Ein ganzes Haus zu verdrahten ist die Domäne von Leuten mit albernen Mengen verfügbaren Einkommens. Lass uns mit MySensors unser 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 DIY-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.

In this article