So steuern Sie Ihr Arduino mit JavaScript

So steuern Sie Ihr Arduino mit JavaScript / Programmierung

Arduino-Boards sind eine der einfachsten Möglichkeiten, um Programmierer mit Hardware-Hacking vertraut zu machen. Es gibt eine Vielzahl von Anfängerprojekten. 15 große Arduino-Projekte für Anfänger 15 große Arduino-Projekte für Anfänger Sie interessieren sich für Arduino, wissen aber nicht, wo Sie anfangen sollen? Hier sind einige unserer besten Arduino-Projekte für Anfänger! Lesen Sie dort mehr für jeden, der einen Programmierhintergrund hat. Trotzdem kann der Start für die kurze Zeit entmutigend erscheinen.

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, um für die Zukunft zu lernen? Wenn Sie nur eine Sprache auswählen können, die Sie für die Zukunft lernen und beherrschen möchten, gibt es keinen Wettbewerb: Es muss JavaScript sein. Lesen Sie mehr, um nur einen Mikrocontroller auszuprobieren. Was ist, wenn Sie mit selbst gebrauter Elektronik in einer Programmiersprache anfangen möchten, mit der Sie bereits vertraut sind? Gute Nachrichten: Sie können!

Wir haben Ihnen bereits gezeigt, wie Sie ein Arduino-Board mit Python steuern können. So programmieren und steuern Sie ein Arduino mit Python. So programmieren und steuern Sie ein Arduino. Mit Python ist es leider nicht mö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 dies auch mit JavaScript tun. Anstelle des grundlegendsten blinkenden LED-Lernprogramms 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 zur Verbesserung von Webseiten verwendet wird. Es beinhaltet das dynamische Aktualisieren von Webseiten, Benutzeroberflächen und mehr. Tauchen Sie ein in das, worum es bei Javascript geht. Weiterlesen .

Hardware-Liste

Für dieses Projekt benötigen Sie:

  • Arduino Uno (oder kompatibles Board Arduino Buying Guide: Welches Board solltest du bekommen? Arduino Buying Guide: Welches Board solltest du bekommen?) Es gibt so viele verschiedene Arten von Arduino Boards, dass dir die Verwirrung vergeben wird Kaufen Sie für Ihr Projekt? Lassen Sie uns mit diesem Arduino-Einkaufsführer helfen! Lesen Sie weiter): $ 22 im offiziellen Shop, obwohl Sie sie günstiger erhalten können 5 Gründe, kein echtes Arduino in Ihrem nächsten Projekt zu verwenden 5 Gründe, kein echtes Produkt zu verwenden Arduino in Ihrem nächsten Projekt Ist die Arduino-Stiftung zu weit gegangen? Warum sollten Sie Ihr Geld für echte Arduino-Produkte ausgeben? Wir erklären alles, was Sie wissen müssen. Lesen Sie mehr, Klon-Boards sind für $ 3,20 auf AliExpress verfügbar.
  • Hobby-Servo: Jedes Arduino-kompatible Servo aus einem Hobby-Shop wird es tun, ich verwende ein $ 1,60-Servo von AliExpress.
  • Ein paar Drahtstücke
  • USB-Kabel: Zum Anschließen des Arduino an Ihren Computer

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 das Servo glücklich zu machen.

Schaltkreis-Setup

Befestigen Sie Ihr Servo wie folgt an Ihrem Arduino:

Kurz gesagt, die VCC-Leitung (ROT) verbindet sich mit dem 5V-Pin des Arduino, der GND-Leitung (SCHWARZ oder BRAUN) verbindet sich mit dem GND-Pin des Arduino und der Pulse-Leitung (Gelb oder Orange) an Pin 10 des Arduino anschließen. Beachten Sie, dass Sie ihn zwar nicht speziell an Pin 10 anschließen müssen, er muss jedoch an einen PWM-Pin angeschlossen werden, der normalerweise mit a gekennzeichnet ist ~.

Vergewissern Sie sich, dass Sie die Kabel nicht verwechselt haben, und verbinden Sie den Arduino mit Ihrem Computer. Wir werden Windows 10 für dieses Projekt verwenden. Alle Elemente dieses Projekts sind auch für Mac und Linux verfügbar, einige Installationsanweisungen können jedoch geringfügig abweichen.

Falls noch nicht geschehen, laden Sie die Arduino IDE herunter und wählen Sie Ihre Tafel und Hafen von dem Werkzeuge Speisekarte. Wenn Sie dies zum ersten Mal tun und dies alles ein Rätsel ist, ist unser Arduino-Anfängerhandbuch Erste Schritte mit Arduino: Ein Anfängerhandbuch Erste Schritte mit Arduino: Ein Anfängerhandbuch Arduino ist eine Open-Source-Prototyping-Plattform für elektronische Prototypen. einfach zu bedienende Hard- und Software. Es ist für Künstler, Designer, Hobbyisten und alle gedacht, die interaktive Objekte oder Umgebungen erstellen möchten. Weitere Informationen können Ihnen durch diese Schritte helfen.

Sobald Sie die Verbindung hergestellt haben, laden Sie das hoch StandardFirmataPlus Beispielskizze zur Tafel. Diese Skizze finden Sie im Datei Menü unter Beispiele> Firmata> StandardFirmataPlus. Sie müssen die Skizze überhaupt nicht modifizieren, da das Arduino im Wesentlichen nur darauf wartet, auf externe Anweisungen zu warten - die wir später selbst zur Verfügung stellen.

JavaScript-Robotik mit Johnny-Five

Das Framework, mit dem wir unser Arduino mit Javascript steuern, heißt Johnny-Five. Es ist nicht überraschend, dass das Projekt angesichts seines Filmnamens auf Robotik ausgerichtet ist.

Bildnachweis: johnny-five.io

Um Johnny-Five zu installieren, müssen wir zuerst Node.js installieren. Was ist Node.JS und warum sollte ich mich darum kümmern? [Webentwicklung] Was ist Node.JS und warum sollte ich mich darum kümmern? [Webentwicklung] 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 so viel mehr. Wenn… Lesen Sie mehr. Sie können den neuesten Build von der Node.js-Website herunterladen. Wir verwenden die empfohlene Version, die sich zum Zeitpunkt des Schreibens befindet 8.9.4 LTS.

Öffne das .msi Datei und befolgen Sie die Installationsanweisungen, um sicherzustellen, dass sie zu Ihrem hinzugefügt wird PFAD. Das aktuelle Installationsprogramm für Node.js fügt PATH standardmäßig hinzu. Dies sollte jedoch während der Installation überprüft werden, da dies für den nächsten Schritt erforderlich ist.

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

npm init

Befolgen Sie die Anweisungen auf dem Bildschirm. Für das heutige Projekt brauchen Sie nichts zu ändern. Drücken Sie einfach die Eingabetaste, bis Sie wieder an der Eingabeaufforderung sind. Geben Sie dann Folgendes ein:

npm installiere johnny-five

Dadurch werden alle wichtigen Pakete installiert, die mit unserem Arduino sprechen. Wir brauchen noch eine weitere Sache, um dieses Projekt zum Laufen zu bringen Tastendruck Paket, das es uns ermöglicht, Tastatureingaben von der Tastatur aus zu lesen.

Installieren Sie es, indem Sie Folgendes eingeben:

npm install keypress

Sobald alle diese Pakete installiert sind, können wir Code schreiben!

Wenn bei der Installation Probleme auftreten, führen Sie die Installation von johnny-five erneut aus nach dem die Tastendruckinstallation. Möglicherweise handelt es sich dabei lediglich um eine Eigenart der hier verwendeten NPM-Version, aber dies verhindert jetzt ein Problem, auf das Sie später wahrscheinlich stoßen werden.

Der Code

Wir werden heute einen Beispielcode verwenden, der in der johnny-five-Dokumentation enthalten ist. Dieser ermöglicht die Steuerung unseres Servos mit den Pfeiltasten auf der Tastatur. Den vollständigen Code finden Sie unter johnny-five.io. Wir werden ihn hier im Detail durcharbeiten, um zu verstehen, wie er funktioniert.

Wir verwenden Eclipse IDE 8 Eclipse-Tastenkombinationen, die für Anfänger unerlässlich sind 8 Eclipse-Tastenkombinationen, die für Anfänger unerlässlich sind So neugierig wie die Eclipse-IDE (Schnittstelle) auch ist, müssen Sie diese Tastenkombinationen selbst lernen. Lesen Sie mehr zum Codieren heute, obwohl Sie beliebige IDE- oder Texteditor-Texteditoren im Vergleich zu IDEs verwenden können: Welche ist besser für Programmierer? Texteditoren 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, um Ihnen bei dieser Entscheidung zu helfen. Lesen Sie mehr zu diesem Projekt.

Erstellen Sie eine neue Datei, nennen Sie sie test.js, und speichern Sie sie an einem Ort, auf den 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 Tastendruck Bibliothek zum Abhören eingehender Daten sowie zum Aufrufen der Tafel() Methode zum Einrichten der Platine.

var five = erfordern ("johnny-five"); var keypress = required ("Tastendruck"); Tastendruck (Prozess.stdin); var board = new five.Board (); 

Beachten Sie, dass das Board-Setup hier automatisch erfolgt. Es müssen keine Ports angegeben werden. Wenn Sie über ein bestimmtes Port-Setup verfügen oder nur mit der automatischen Erkennung kein Glück haben, müssen Sie Ihren Port möglicherweise explizit angeben.

Als nächstes wollen wir “aufwachen” unser Board und stellen Sie es für die Servosteuerung ein. Das board.on Der Anruf wartet, bis die Arduino-Pins bereit sind, bevor er weitergeht. Die johnny-five-Bibliothek unterstützt integrierte Servos, und wir rufen an Servo.Kontinuierlich (10) auf Pin 10, um eine direkte Steuerung zu ermöglichen.

board.on ("ready", function () console.log ("Verwenden Sie die Aufwärts- und Abwärtspfeile für CW und CCW. Platz zum Anhalten."); var servo = new five.Servo.Continuous (10); process. stdin.resume (); process.stdin.setEncoding ("utf8"); process.stdin.setRawMode (true);

Das Prozess.stdin Anrufe stellen sicher, dass alle Daten, die wir über die Tastatur erhalten, im nächsten Codeblock verwendet werden können. Jetzt wollen wir “Hör mal zu” Verwenden Sie diese Tasten, um das Servo im Uhrzeigersinn (CW), entgegen dem Uhrzeigersinn (CCW) zu bewegen oder in den Spuren anzuhalten.

 process.stdin.on ("Tastendruck", Funktion (ch, key) if (! key) // Wenn keine Taste gedrückt wird, Rückgabe, dh nichts tun. 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 ("Stoppen") ; servo.stop ();); );

Stellen Sie sicher, dass Sie alle schließenden Klammern an der Unterseite einschließen, und beziehen Sie sich auf den gesamten Codeblock, der oben verlinkt ist, wenn Sie Fehler erhalten. Speichern Sie dieses Skript und öffnen Sie die Eingabeaufforderung.

Hallo winken!

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

Knoten test.js

Das Programm sollte sofort mit Informationen zur Platine gestartet werden, bevor Sie die im Code angegebenen Anweisungen erhalten. Drücken Sie die Aufwärts- und Abwärtspfeiltasten sowie die Leertaste und Q aufhören Der Bildschirm sollte so aussehen:

Und wenn alles gut geht, sollte das Servo zu Ihren Tastenanschlägen tanzen! Schau dir diese kleine Biestewelle an!

Bescheidenen Anfängen

Obwohl wir ein etwas ehrgeizigeres Projekt als das übliche blinkende LED-Lernprogramm für Anfänger übernommen haben, haben wir kaum das volle Ausmaß dessen, was mit Arduino-Boards und ähnlichen Mikrocontrollern möglich ist, angesprochen.

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

Das Tolle an dieser Bibliothek ist, dass, obwohl sie für Roboter konzipiert wurde, die gleichen Eingabe- und Ausgabedaten verwendet werden können, um DIY-Smart-Home-Setups zu erstellen und OpenHAB Smart-Home-Sensoren kosten eine Menge Geld. Ein ganzes Haus zu verdrahten ist die Domäne derer mit dummen verfügbaren Einkommen. Lassen Sie uns mit MySensors eigene bauen. Lesen Sie mehr und selbst gebaute Sicherheitssysteme DIY Smart Lock mit Arduino und RFID DIY Smart Lock mit Arduino und RFID Im Folgenden wird beschrieben, wie Sie ein einfaches RFID-basiertes Smart Lock mit einem Arduino als Rückgrat und einigen billigen Komponenten erstellen. Weiterlesen .

Die Kommunikation mit Mikrocontrollern auf diese Weise ist eine großartige Einführung in die Welt der DIY-Hardware, ohne sich mit dem Erlernen einer neuen Programmiersprache beschäftigen zu müssen. Viel Spaß da ​​draußen und falls Sie einen Killer-Roboter bauen, denken Sie bitte daran, wie wir Ihnen in den ersten Tagen geholfen haben.

Erfahren Sie mehr über: Arduino, JavaScript.