Kategorien: Mikrocontroller-Schaltungen
Anzahl der Ansichten: 6809
Kommentare zum Artikel: 0

Programmierbare Mikrocontroller in JavaScript: Auswahl, Funktionen und Fähigkeiten

 

Nach 2010 bekam das Amateurfunk-Hobby in unserem Land einen zweiten Wind mit dem Aufkommen der Fähigkeit, Mikrocontroller in hochrangigen Programmiersprachen zu programmieren, weit entfernt vom Eisen. Das erste Massenprojekt war Arduino Board Familie. Wir haben diese Mikrocontroller wiederholt in Artikeln untersucht, aber heute werden wir über Mikrocontroller sprechen, die in Javascript programmiert sind. Ja! Dieselbe Sprache, die hauptsächlich beim Schreiben von WEB-Seiten verwendet wurde.

Mikrocontroller in Javascript programmierbar

Umfang oder werden solche Mikrocontroller überhaupt benötigt?

Wenn wir die Elektronik in den Geräten betrachten, die wir unten betrachten werden, werden Standard-Mikrocontroller verwendet. Der Unterschied zu den Produkten des Herstellers besteht nur darin, dass sie über ein vorinstalliertes Loader-Programm verfügen. Nennen Sie es jedoch so, wie Sie es möchten. Auf diese Weise können Sie den auf Sie heruntergeladenen Programmcode ausführen und in einigen Fällen über USB mit dem Computer kommunizieren, wenn er nicht in Hardware implementiert ist.

Wofür sind Mikrocontroller für Javascript und andere nicht traditionelle Sprachen? Es gibt Debatten unter Amateuren und Fachleuten über die Entwicklung von Elektronik in speziellen Foren, in denen einige Projekte wie "Arduino" loben, während andere sie auf jede mögliche Weise demütigen und verspotten, um die Einfachheit und Abstraktheit des Entwicklers gegenüber den meisten Problemen mit Eisen zu gewährleisten.

Wichtig: In diesem Teil des Artikels sagen wir: „Arduino“, weil es für die meisten Fans der Ausgangspunkt ist, elektronische Geräte zu entwerfen.

Arduine können in C programmiert werden. Aber ist das notwendig? Schauen wir uns an, warum in den meisten Fällen die Reaktionsgeschwindigkeit von Mikrocontrollern nicht benötigt wird. Arduino-Arbeiter bauen häufig gerne Steuerungen für die automatische Bewässerung und die Einbeziehung von Beleuchtung für die "Beleuchtung" von Pflanzen zusammen. Ein solches kombiniertes Gerät ist eine hervorragende Hilfe für diejenigen, die etwas in Wohnungen oder Gewächshäusern anbauen möchten.

Aber welche Geschwindigkeit des Steuergeräts wird hier benötigt? Vor 15-20 Jahren würde es hier niemand benutzen Mikrocontroller - Ein Amateurdesigner hätte erfolgreich ein Paar Operationsverstärker oder Logikelemente verwaltet. Wenn wir jedoch über die Eignung der diskutierten Mikrocontroller für diese Projekte sprechen, spielt es hier keine Rolle, nach wie vielen Millisekunden die Hintergrundbeleuchtung eingeschaltet wird oder die Erde beginnt, das Wasser zu bewässern.

Automatisches Bewässerungssystem

Das nächste beliebte Projekt ist die Heimwetterstation, und es stellt sich heraus, dass für solche Zwecke die grundlegenden Fähigkeiten von Arduinen ausreichen, um Informationen von Sensoren zu lesen und sie auf einem zeichen-synthetisierenden Display anzuzeigen.

In Managementbeispielen RGB LED-Streifen Normale oder intelligente LEDs mit "Pixel für Pixel" -Steuerung (ein Beispiel für ein solches SMART-Band und dessen Kennzeichnung, wie in der folgenden Abbildung dargestellt) verfügen ebenfalls über ausreichende Ressourcen.

SMART Tape

Aber wo brauchen Sie Geschwindigkeit und sind nicht für die Verwendung vereinfachter Programmiersprachen wie Scratch oder Javascript geeignet? Alles ist sehr einfach:

  • In Präzisionsschaltungen;

  • In Alarmen und Sicherheitssystemen;

  • Bei hochpräzisen Messgeräten mit der Notwendigkeit, schnell Daten vom ADC zu erfassen, auch für normale Oszilloskope;

  • In Geräten, die eine langfristige autonome Arbeit im Schlafmodus erfordern;

  • In Fällen, in denen Sie so viele Funktionen und Codes wie möglich in den Mikrocontroller „verschieben“ müssen, dies jedoch in letzter Zeit im Zusammenhang mit der Reduzierung der Kosten der meisten Geräte auf dem Markt keine sehr dringende Aufgabe geworden ist.

Bei den meisten dieser Aufgaben ist Geschwindigkeit und Speicher der Stolperstein.Für optimale Ergebnisse ist es in diesem Fall sinnvoller, nicht einmal C / C ++, sondern Assembler (ASM) zu verwenden. Wenn Sie auf solche Projekte abzielen, bedeutet dies in der Tat, dass Sie über ein gewisses Maß an Wissen verfügen, was bedeutet, dass keine Notwendigkeit besteht.


Die Schlussfolgerung?

Mikrocontroller mit einfachen Sprachen werden benötigt, wenn keine strengen Anforderungen wie Geschwindigkeit oder Messgenauigkeit bestehen, aber selbst in einigen Situationen bieten sie Genauigkeit für nicht spezialisierte Geräte, die für den Amateurgebrauch bestimmt sind.



Espruino - ein leistungsstarker Mikrocontroller und eine einfache Javascript-Sprache

Die Espruino-Plattform besteht aus einer Reihe von Software und Hardware zum Programmieren von Mikrocontrollern in der Javascript-Sprache. Sie enthält drei Elemente:

1. Firmware für einen Mikrocontroller mit einem JS-Sprachinterpreter.

2. Entwicklungsumgebung für die Espruino Web IDE.

3. Eine Karte mit einem Mikrocontroller mit der Firmware selbst für die direkte Arbeit mit Espruino.

Espruino

Die Idee wurde 2013 von Gordon Williams entwickelt und umgesetzt und er sammelte über die Crowdfunding-Plattform (Kickstarter) Geld dafür. Tatsächlich bestand die Essenz der Entwicklung darin, die Espruino-Firmware (Engine) zum Laden in Mikrocontroller zu entwickeln. Es wird hauptsächlich auf Mikrocontrollern der STM32-Familie mit ARM-Cortex-Architektur verwendet. Bequemere Geräte für den Betrieb werden wir unten betrachten.

Espruino Mikrocontroller

Um Programme für den Mikrocontroller in Javascript zu schreiben, müssen Sie die Espruino Web IDE installieren. Dies ist ein Programm oder eine Erweiterung für den beliebten Google Chrome-Internetbrowser, der mit nur einem Klick installiert wird.

Nachdem Sie im Menü "Dienste" auf die Schaltfläche "Installieren" geklickt haben, wird eine Anwendung angezeigt. Sie können dieses Menü aufrufen, indem Sie in die Adressleiste Folgendes eingeben: chrome: // apps /

Wenn Sie mit einer Tasse Kaffee auf das Symbol klicken, wird die Entwicklungsumgebung geöffnet, die nicht im Browser, sondern in einem separaten Fenster angezeigt wird.

Diese Umgebung ist sowohl für Kinder als auch für Anfänger interessant, da Sie den Code manuell eingeben oder den grafischen Editor verwenden können, der auf der Programmiersprache Scratch basiert. Klicken Sie dazu auf das Symbol, auf das der Pfeil zeigt.

Espruino Web IDE

Danach ändert sich die rechte Seite des Bildschirms mit dem Code in die andere Darstellung:

Grafikeditor

Die Benutzeroberfläche ist im mittleren Bereich von oben nach unten intuitiv: Öffnen Sie eine neue Datei, speichern Sie die Skizze und laden Sie sie in den Mikrocontroller.


Fazit

Espruino-Karten und dergleichen sind eine Leiterplatte mit den erforderlichen Anhängen und ein Mikrocontroller mit einem Javascript-Interpreter, der den Code verarbeitet und seine Befehle direkt zur Laufzeit in die Sprache der Einsen und Nullen übersetzt. In der klassischen Form wird das Programm für Mikrocontroller bereits in Form von Maschinencode in letzteres geladen.

Dieser Ansatz bietet Leistung bei vielen Aufgaben, wie z. B. Arduino.


Überprüfung der offiziellen Espruino-Linie

Original Espruino

Technische Daten dieses Geräts:

  • 54 x 41 mm (eine halbe Kreditkarte);

  • STM32F103RCT6 32-Bit-72-MHz-ARM-Cortex-M3-CPU

  • 256 KB Flash, 48 KB RAM;

  • Micro-USB-Anschluss

  • Eingangsspannungsbereich von 3,6 bis 15 V;

  • Batterieanschluss (JST PHR-2 2 Pin);

  • Eingebauter SD-Kartensteckplatz;

  • Drei LEDs (rot, grün und blau);

  • Plattformen zur Installation des HC-05 Bluetooth-Moduls;

  • Der Abstand zwischen den Minen - 0,1 "(2,54 mm);

  • 44 GPIO-Pins, davon 26 PWM (PWM), 16 ADC (ADC), 3 USARTs, 2 SPI, 2 I2C und 2 DACs (DAC);

  • Der Bereich auf der Platine kann zum Anschließen einer Reihe von Geräten verwendet werden, z. B. Wi-Fi-Module und Servos, die auf 14 Ausgänge mit einem Strom von bis zu 500 mA erweitert werden können.

Espruino Mikrocontroller-Karte

Das Aussehen der Tafel und die bedingte Aufteilung ihrer Knoten in Zonen

Für viele mag das Board unattraktiv und unvollständig erscheinen, aber dies war nur die erste Option, dann sehen sie vertrauter und progressiver aus. Puck.JS ist in diesem Fall eine Miniaturkarte mit integriertem Bluetooth und einem Infrarotsender.

Puck.js

Nach Angaben der offiziellen Website lauten die technischen Spezifikationen und Merkmale wie folgt:

  • Bluetooth Low Energy;

  • Vorinstallierter Espruino-Javascript-Interpreter;

  • Das Herzstück der Platine ist nRF52832 SoC - 64 MHz ARM Cortex M4, 64 KB RAM, 512 KB Flash;

  • 8 x 0,1 "GPIO-Ports (einschließlich PWM (PWM), SPI, I2C, UART, Analogeingang);

  • 9 x SMD-GPIO-Ports (einschließlich PWM, SPI, I2C, UART);

  • Unterlegscheibe aus ABS-Kunststoff;

  • Silikonhülle mit Schlüssel;

  • Magnetometer MAG3110 - dreiachsiges Magnetfeldmessgerät;

  • IR-Sender

  • Thermometer, Lichtsensor und Batteriestand;

  • Drei LEDs (rot, grün und blau);

  • Programmierbar über JS NFC-Tag.

  • Pins können Berührungen nach Kapazität wahrnehmen (Funktionsprinzip von Touchscreens von Smartphones);

  • Gewicht 14 g;

  • Größen des Kunststoffgehäuses: Durchmesser 36 mm, Dicke - 12,5 mm;

  • Plattenabmessungen: Durchmesser 29 mm, Dicke 9 mm.

Demonstration der Arbeit:

Das nächste Board ist Espruino Wi-Fi, wie der Name schon sagt. Die Funktion ist ein integriertes WLAN-Modul für Wi-Fi.

Espruino Wi-Fi

Seine technischen Eigenschaften:

  • Plattenabmessungen: 30x23 mm;

  • Die Karte verfügt über einen Micro-USB-Anschluss.

  • 21 GPIO: 8 analoge Eingänge, 20 PWM, 1 serielle Schnittstelle, 3 SPI, 3 I2C;

  • Die Karte verfügt über 3 LEDs, von denen 2 vom Benutzer programmierbar sind, und 1 zeigt die Wi-Fi-Aktivität an.

  • Die Ports sind hinsichtlich der Spannung mit Arduino kompatibel und unterstützen ein 5-Volt-Signal.

  • 1 Taste;

  • Aufbauend auf einem Mikrocontroller STM32F411CEU6 32-Bit 100MHz ARM Cortex M4 CPU;

  • Speicher: 512 KB Flash, 128 KB RAM;

  • Wi-Fi-Kommunikation mit ESP8266 (802.11 b / g / n);

  • RTC (Echtzeituhr mit externem Generator).

  • Auf der Platine ist ein 3,3-V-Stabilisator mit einem Strom von bis zu 250 mA installiert, eine Versorgungsspannung von 3,5 bis 5 V.

  • Der Stromverbrauch im Schlafmodus beträgt bis zu 0,05 mA, wodurch Sie 2,5 Jahre an einem 2500-mAh-Akku arbeiten können (obwohl dies mehr Marketing ist, aber der Akku selbst entlädt sich eher schneller).

Espruino Wi-Fi

Board Demonstration:


Espruino Pico - Mikrocontroller für Javascript im USB-Stick-Format

Wir werden es in einem separaten Abschnitt betrachten, da es in Russland und im nahen Ausland am häufigsten vorkommt, vielleicht vielen Dank an die Firma Amperka. Die Karte eignet sich zum Trainieren und Implementieren abgeschlossener Projekte. Diese Miniaturkarte wird zum Programmieren direkt in den USB-Anschluss Ihres Computers eingesteckt.

Espruino Pico

Technische Eigenschaften:

  • Abmessungen: 33x15 - unter Berücksichtigung des USB-Steckers;

  • 22 GPIO-Ports, einschließlich: 9 analoge Eingänge, 21 PWM, 2 serielle (serielle Ports), 3 SPI, 3 I2C;

  • GPIO-Pins unterstützen 5-V-Signalpegel, sodass Sie die Karte mit Abschirmungen und Geräten für Arduino kombinieren können.

  • Der USB-Stecker vom Typ A ist Teil der Karte.

  • Zwei LEDs und eine programmierbare Taste

  • Aufbauend auf dem Mikrocontroller STM32F401CDU6 32-Bit 84MHz ARM Cortex M4 CPU

  • Speicher: 384 KB Flash, 96 KB RAM

  • Ein Spannungsregler von 3,3 V 250 mA ist auf die Platine gelötet und ermöglicht die Stromversorgung von 3,5 bis 16 V.

  • Im Ruhemodus verbraucht es Strom bis zu 0,05 mA, und der Hersteller behauptet hier 2,5 Betriebsjahre von 1 Batterie bei 2500 mAh;

  • Eingebauter Feldeffekttransistor zur Steuerung von Hochstromkreisen.

Dies ist das kleinste Board in der Reihe. An seinen Rändern befinden sich E / A-Ports. In diesem Fall befindet sich die Metallisierungsschicht sowohl an den Löchern selbst als auch am Ende der Leiterplatte.

Espruino Pico

Der Kontaktabstand ist Standard. Auf diese Weise können Sie Standard-PLS-Leitungen anlöten (dies ist der Name, den sie tragen).

Pls Linie

Detaillierte Überprüfung dieses Boards:


Amperka Online-Shop und seine Board-Linie mit Javascript

Ob es Ihnen gefällt oder nicht, aber der größte Popularisierer der nicht-traditionellen Programmierung von Mikrocontrollern, insbesondere in Javascript, ist die Amperka-Site. Sie haben einen Kanal auf YouTube, in dem sie lernen, wie sie ihre Produkte verwenden und programmieren, und zeigen auch die Implementierung von Projekten mit ihrer eigenen Reihe von Boards von Mikrocontrollern.

Die Markenlinie des inländischen Herstellers ist ISKRA JS, deren Name den Namen der besprochenen Sprache lautet. Seine technischen Eigenschaften:

  • Mikrocontroller: STM32F405RG (32-Bit-ARM Cortex M4);

  • Taktfrequenz: 168 MHz;

  • Flash-Speicher: 1024 kB;

  • SRAM: 192 kB;

  • Nennbetriebsspannung: 3,3V;

  • Empfohlene Eingangsspannung: 7–15 V oder 3,6–12 V.;

  • Maximaler Strom vom 5V-Bus: 1000 mA;

  • Maximaler Strom vom 3,3-V-Bus: 300 mA (einschließlich Mikrocontroller-Stromversorgung);

  • Maximaler Strom von Pin oder Pin: 25 mA;

  • Maximaler Gesamtstrom von Pins oder Pins: 240 mA;

  • Allgemeine E / A-Ports: 26;

  • Ports mit PWM-Unterstützung: 22;

  • ADC-Ports: 12 (12 Bit);

  • Ports mit DAC: 2 (12 Bit);

  • Verfügbare Hardwareschnittstellen: 4 × UART / Seriell, 3 × I²C / TWI, 2 × SPI;

  • Abmessungen: 69 × 53 mm.

ISKRA JS

Strukturell befindet sich das Board sehr nahe am Arduino Uno R3 - dies bedeutet, dass Sie die Erweiterungskarten dafür verwenden können.Welche interessanten Dinge sehen wir in den technischen Spezifikationen? Vergleichen wir sie mit all Ihren Lieblings-Arduinos.

Vergleich von Iskra JS und Arduino UNO r3

Sie unterscheiden sich in Bezug auf Speicher und Funktionen, und jeder findet seine Anwendung. Obwohl Arduino in den meisten Fällen vorzuziehen ist, weil es für ein paar hundert Rubel und einen Funken gekauft werden kann - nein.

Amperka verkauft auch Mikrocontroller und Mikrocomputer wie Raspberry Pisowie Trainingskits für die Arbeit mit ihnen. Es gibt auch eine Reihe von Erweiterungskarten für Mikrocontroller, dies sind die sogenannten Troyka-Module. Sie werden in der gleichen weißen Farbe wie die übrigen Produkte dieser Firma hergestellt.

Wie alle anderen Abschirmungen enthalten Produkte von Amperka Leiterplatten als Hauptfunktionseinheit - einen Sensor, ein Schaltgerät, einen Master oder Aktuator und die erforderlichen Zubehörteile. Wir haben bereits eine grobe Überprüfung typischer Module für Arduino durchgeführt - Die beliebtesten Schilde für ArduinoHier ist alles analog. Auf der Website oder in der Amperka-Community finden Sie Bibliotheken zur Verwendung mit Modulen mit Iskra JS oder Arduino.

Unter den drei Modulen gibt es:

  • Joystick

  • Encoder

  • Modul mit Relais;

  • Port-Erweiterungskarten (Troyka-Schild);

  • Beschleunigungsmesser und andere Positionssensoren;

  • Sensoren für Licht, Nähe, Strom, Temperatur, Halle, Lärm, Gas, Alkohol und andere;

  • Empfänger zum Lesen von NFC-Tags;

  • Ausrüstung für das Motormanagement (H-Brücken, Fahrer) und mehr.

Zum Verkauf steht ein interessantes Kit für Anfänger "IODO".

Ein separates Wort zu einem einzelnen Element in der Konfiguration ist # der Konstruktor. Dies sind Teile für die Montage von Gehäusen und Lagerteilen Ihrer Strukturen. Sie sind wie ein Kinderdesigner verbunden und ermöglichen Ihnen ein normal stabiles Layout mit der Möglichkeit des sicheren Tragens sowie eine schlüsselfertige Lösung für den täglichen Gebrauch.

Konstruktor

Übrigens können Sie Ihr Trainingskit zusammenstellen, und das Trainingsheft aus dem Kit ist auf der offiziellen Website in elektronischer Form verfügbar und frei verfügbar.


Fazit

Um Mikrocontroller in Javascript zu programmieren, müssen Sie nur die entsprechende Shell auf Ihrem Beispiel installieren. Allerdings hat nicht jede Kopie eine entsprechende Firmware, dennoch finden sich gängige Geräte in thematischen Foren. Auf dem BBC Micro: Bit-Mikrocomputer wird beispielsweise der Prozess der Arbeit mit der Umgebung im folgenden Video dargestellt, und die Installation erfolgt in nur wenigen Schritten.

Wird auf Mikrocontrollern Javascript benötigt? Absolut ja! Für die meisten Amateuraufgaben benötigen Heimwerker keine Genauigkeit oder Reaktionsgeschwindigkeit, und für eine Reihe von professionellen Aufgaben reichen die Fähigkeiten solcher Plattformen aus. Ein solcher Programmieransatz ermöglicht es, Geräte zu entwickeln, ohne die Struktur und die Befehle des Mikrocontrollers zu untersuchen. Bei der klassischen Programmiermethode war es jedoch erforderlich, eine Reihe von Faktoren zu berücksichtigen, z. B. verschiedene Arten von Variablen, Speicheradressen usw.

Siehe auch auf i.electricianexp.com:

  • PIC-Mikrocontroller für Anfänger
  • Arten und Anordnung von AVR-Mikrocontrollern
  • Welches Arduino Board soll man wählen?
  • Was sind Nextion-Displays und wie arbeitet man damit?
  • Anschließen und Programmieren von Arduino für Anfänger

  •