Catégories: Circuits microcontrôleurs
Nombre de fois vus: 6809
Commentaires sur l'article: 0

Microcontrôleurs programmables en JavaScript: lequel choisir, caractéristiques et capacités

 

Après 2010, dans notre pays, le hobby radio amateur a pris un second souffle avec l'avènement de la possibilité de programmer des microcontrôleurs dans des langages de programmation de haut niveau, très éloignés du fer. Le premier projet de masse a été Arduino Board Family. Nous avons examiné à plusieurs reprises ces microcontrôleurs dans des articles, mais aujourd'hui nous parlerons de microcontrôleurs programmés en javascript. Oui! La même langue utilisée principalement lors de l'écriture de pages WEB.

Microcontrôleur programmable en javascript

Portée ou de tels microcontrôleurs sont-ils nécessaires?

Si nous considérons du point de vue de l'électronique dans les appareils que nous considérerons ci-dessous, des microcontrôleurs standard sont utilisés. La différence avec les produits du fabricant est seulement qu'ils ont un programme de chargement préinstallé, bien que vous l'appeliez ce que vous voulez, ce qui vous permet d'exécuter le code de programme téléchargé et, dans certains cas, de communiquer avec l'ordinateur via USB, s'il n'est pas implémenté dans le matériel.

À quoi servent les microcontrôleurs pour javascript et les autres langues non traditionnelles? Il y a des débats entre amateurs et professionnels dans le développement de l'électronique dans des forums spécialisés, où certains louent des projets comme "Arduino", tandis que d'autres les humilient et les ridiculisent de toutes les manières possibles pour la simplicité et l'abstraction du développeur de la plupart des problèmes avec le fer.

Important: Dans cette partie de l'article, nous disons: «Arduino», car il est devenu le point de départ pour la plupart des fans de concevoir des appareils électroniques.

Les Arduins peuvent être programmés en C. Mais est-ce nécessaire? Voyons pourquoi, dans la plupart des cas, la vitesse de réaction des microcontrôleurs n'est pas nécessaire. Les travailleurs Arduino aiment souvent assembler des contrôleurs pour l'irrigation automatique et l'inclusion de l'éclairage pour «l'éclairage» des plantes. Un tel appareil combiné sera une excellente aide pour ceux qui aiment faire pousser quelque chose dans des appartements ou des serres.

Mais quelle vitesse de dispositif de contrôle est nécessaire ici? Il y a 15-20 ans, personne ne l'utilisait ici microcontrôleur - Un concepteur amateur aurait réussi à gérer une paire d'amplificateurs opérationnels ou d'éléments logiques. Mais si nous parlons de l'adéquation des microcontrôleurs discutés pour ces projets, alors ici, il est complètement indifférent après combien de millisecondes le rétro-éclairage s'allume ou la terre commence à irriguer l'eau.

Système d'arrosage automatique

Le prochain projet populaire est la station météorologique domestique, et il s'avère qu'à ces fins, les capacités de base des Arduins sont suffisantes pour lire les informations des capteurs et les afficher sur un écran synthétisant les caractères.

Dans les exemples de gestion Bande LED RGB Les LED régulières ou intelligentes avec contrôle "pixel par pixel" (un exemple d'une telle bande SMART et son marquage que vous voyez dans la figure ci-dessous) ont également suffisamment de ressources.

Ruban SMART

Mais où avez-vous besoin de vitesse et ne sont pas adaptés à l'utilisation de langages de programmation simplifiés comme Scratch ou javascript? Tout est très simple:

  • Dans les circuits de précision;

  • Dans les alarmes et les systèmes de sécurité;

  • Dans les instruments de mesure de haute précision avec la nécessité de prendre rapidement des données de l'ADC, y compris pour les oscilloscopes normaux;

  • Dans les appareils nécessitant un travail autonome à long terme en mode veille;

  • Dans les cas où vous devez «pousser» autant de fonctions et de codes que possible dans le microcontrôleur, mais cela n'est pas devenu une tâche très urgente récemment en rapport avec la réduction du coût de la plupart des appareils sur le marché.

Dans la plupart de ces tâches, la pierre d'achoppement est la vitesse et la mémoire.Pour des résultats optimaux, dans ce cas, il est plus raisonnable d'utiliser même pas C / C ++, mais Assembler (ASM). En effet, si vous visez de tels projets, cela signifie que vous avez une certaine quantité de connaissances, ce qui signifie qu'il n'y a pas besoin.


La conclusion?

Des microcontrôleurs avec des langages simples sont nécessaires là où il n'y a pas d'exigences strictes telles que la vitesse ou la précision de mesure, mais même dans certaines situations, ils fourniront la précision pour les appareils non spécialisés destinés à un usage amateur.



Espruino - un microcontrôleur puissant et un langage javascript simple

La plate-forme Espruino est un ensemble de logiciels et de matériel pour la programmation de microcontrôleurs en langage javascript, elle comprend trois éléments:

1. Firmware pour un microcontrôleur avec un interpréteur de langage JS.

2. Environnement de développement pour l'ESP Web Espruino.

3. Une carte avec un microcontrôleur avec le firmware lui-même pour travailler directement avec Espruino.

Espruino

L'idée a été développée et mise en œuvre par Gordon Williams en 2013, et il a levé des fonds pour cela en utilisant la plateforme de financement participatif (Kickstarter). En fait, l'essentiel du développement était de développer le firmware (moteur) Espruino pour le charger dans des microcontrôleurs. Il est principalement utilisé sur les microcontrôleurs de la famille STM32, avec une architecture ARM-cortex. Des appareils plus pratiques pour le fonctionnement, nous considérerons ci-dessous.

Microcontrôleur Espruino

Pour écrire des programmes pour le microcontrôleur en javascript, vous devez installer l'espruino Web IDE. Il s'agit d'un programme ou d'une extension du célèbre navigateur Internet Google Chrome qui s'installe en un seul clic.

Après avoir cliqué sur le bouton "Installer" dans le menu "services", une application apparaîtra, et vous pourrez accéder à ce menu en tapant dans la barre d'adresse: chrome: // apps /

Lorsque vous cliquez sur l'icône avec une tasse de café, l'environnement de développement s'ouvre, ce qui n'est pas notable dans le navigateur, mais dans une fenêtre séparée.

Cet environnement est intéressant pour les enfants et les utilisateurs débutants, car vous pouvez entrer le code manuellement ou utiliser l'éditeur graphique, basé sur le langage de programmation Scratch. Pour ce faire, cliquez sur l'icône vers laquelle pointe la flèche.

IDE Web Espruino

Après cela, le côté droit de l'écran, qui avec le code, passera à son autre représentation:

Editeur graphique

L'interface est intuitive, dans le panneau central de haut en bas: ouvrez un nouveau fichier, enregistrez l'esquisse, chargez-la dans le microcontrôleur.


Conclusion

Les cartes Espruino et similaires sont une carte de circuit imprimé avec les pièces jointes nécessaires et un microcontrôleur, avec un interpréteur javascript, qui traite le code et traduit ses commandes dans le langage des uns et des zéros directement au moment de l'exécution. Alors que sous la forme classique, le programme pour les microcontrôleurs est chargé dans ce dernier déjà sous forme de code machine.

Cette approche donne des performances dans de nombreuses tâches, comme Arduino.


Revue de la gamme officielle Espruino

Espruino d'origine

Spécifications de cet appareil:

  • 54x41 mm (une demi-carte de crédit);

  • STM32F103RCT6 Processeur ARM Cortex M3 32 bits 72 MHz

  • 256 Ko de Flash, 48 Ko de RAM;

  • Port micro USB

  • Plage de tension d'entrée de 3,6 à 15 V;

  • Connecteur de batterie (JST PHR-2 2 broches);

  • Fente pour carte SD intégrée;

  • Trois LED (rouge vert et bleu);

  • Plateformes pour installer le module Bluetooth HC-05;

  • La distance entre les mines - 0,1 "(2,54 mm);

  • 44 broches GPIO, dont 26 PWM (PWM), 16 ADC (ADC), 3 USART, 2 SPI, 2 I2C et 2 DAC (DAC);

  • La zone de la carte peut être utilisée pour connecter un certain nombre d'appareils, tels que des modules Wi-Fi, des servos, extensibles à 14 sorties avec un courant allant jusqu'à 500 mA.

Carte microcontrôleur Espruino

L'apparition de la carte et la division conditionnelle de ses nœuds en zones

Pour beaucoup, la carte peut sembler peu attrayante et incomplète, mais ce n'était que sa première option, puis elle semble plus familière et progressive. Puck.JS est une carte miniature dans le boîtier, elle possède à bord Bluetooth et un émetteur infrarouge.

Puck.js

Selon les informations du site officiel, ses spécifications et fonctionnalités techniques sont les suivantes:

  • Bluetooth Low Energy;

  • Interpréteur javascript Espruino préinstallé;

  • Le cœur de la carte est le SoC nRF52832 - ARM Cortex M4 64 MHz, 64 Ko de RAM, 512 Ko de Flash;

  • 8 ports GPIO 0,1 "(y compris PWM (PWM), SPI, I2C, UART, entrée analogique);

  • 9 x ports SMD GPIO (y compris PWM, SPI, I2C, UART);

  • Rondelle-logement en plastique ABS;

  • Housse en silicone avec une clé;

  • MAG3110 Magnétomètre - mesureur de champ magnétique à trois axes;

  • Émetteur IR

  • Thermomètre, capteur de lumière et niveau de la batterie;

  • Trois LED (rouge, vert et bleu);

  • Programmable via le tag JS NFC.

  • Les broches peuvent percevoir le toucher par sa capacité (principe de fonctionnement des écrans tactiles des smartphones);

  • Poids 14 g;

  • Tailles du boîtier en plastique: diamètre 36 mm, épaisseur - 12,5 mm;

  • Dimensions du panneau: diamètre 29 mm, épaisseur 9 mm.

Démonstration de travail:

La carte suivante est Espruino Wi-Fi, comme son nom l'indique, sa fonctionnalité est un module sans fil intégré pour le Wi-Fi.

Espruino Wi-Fi

Ses caractéristiques techniques:

  • Dimensions du panneau: 30x23 mm;

  • La carte a un connecteur Micro USB;

  • 21 GPIO: 8 entrées analogiques, 20 PWM, 1 port série, 3 SPI, 3 I2C;

  • La carte dispose de 3 LED, 2 d'entre elles sont programmables par l'utilisateur et 1 affiche l'activité Wi-Fi;

  • Les ports sont compatibles avec Arduino en termes de tension et prennent en charge un signal de 5 volts;

  • 1 bouton;

  • Construit sur un microcontrôleur STM32F411CEU6 32 bits 100 MHz ARM Cortex M4 CPU;

  • Mémoire: 512 Ko de mémoire flash, 128 Ko de RAM;

  • Communication Wi-Fi avec ESP8266 (802.11 b / g / n);

  • RTC (horloge temps réel avec générateur externe).

  • Un stabilisateur de 3,3 V avec un courant allant jusqu'à 250 mA est installé sur la carte, une tension d'alimentation de 3,5 à 5 V est prise en charge.

  • La consommation de courant en mode veille peut atteindre 0,05 mA, ce qui vous permet de travailler 2,5 ans sur une batterie de 2500 mAh (bien que ce soit plus marketing, mais la batterie elle-même est plus susceptible de se décharger plus rapidement).

Espruino Wi-Fi

Démonstration du conseil d'administration:


Espruino Pico - microcontrôleur pour javascript au format clé USB

Nous l'examinerons dans une section distincte, car il est plus courant en Russie et à l'étranger, peut-être grâce à la société Amperka. La carte est pratique pour la formation et la mise en œuvre de projets finis, une carte miniature qui est insérée directement dans le port USB de votre ordinateur pour la programmation.

Espruino Pico

Spécifications:

  • Dimensions: 33x15 - en tenant compte de la prise USB;

  • 22 ports GPIO, dont: 9 entrées analogiques, 21 PWM, 2 série (ports série), 3 SPI, 3 I2C;

  • Les broches GPIO prennent en charge des niveaux de signal de 5 V, ce qui vous permet de combiner la carte avec des blindages et des périphériques pour arduino;

  • La prise USB Type A fait partie de la carte.

  • Deux LED et un bouton programmable

  • Construit sur un microcontrôleur CPU ARM Cortex M4 STM32F401CDU6 32 bits 84 MHz

  • Mémoire: flash 384 Ko, RAM 96 Ko

  • Un régulateur de tension de 3,3 V 250mA est soudé sur la carte et lui permet d'être alimenté de 3,5 à 16 V.

  • En mode veille, il consomme jusqu'à 0,05 mA, et le fabricant revendique ici 2,5 ans de fonctionnement à partir d'une batterie à 2500 mAh;

  • Transistor à effet de champ intégré pour contrôler les circuits à courant élevé.

Il s'agit de la plus petite planche de la gamme. Le long de ses bords se trouvent des ports d'E / S. Dans ce cas, la couche de métallisation est présente à la fois sur les trous eux-mêmes et le long de l'extrémité de la carte de circuit imprimé.

Espruino Pico

Le pas de contact est standard, cela vous permet de souder des lignes PLS standard (c'est le nom qu'ils portent).

Ligne Pls

Revue détaillée de ce forum:


Boutique en ligne Amperka et sa gamme de planches avec Javascript

Qu'on le veuille ou non, mais le plus grand vulgarisateur de la programmation non traditionnelle des microcontrôleurs, en particulier en javascript, est le site Amperka. Ils ont une chaîne YouTube où ils enseignent comment utiliser et programmer leurs produits, et montrent également la mise en œuvre de projets en utilisant leur propre gamme de cartes de microcontrôleurs.

La ligne de marque du fabricant national est ISKRA JS, dont le nom lit le nom de la langue en discussion. Ses caractéristiques techniques:

  • Microcontrôleur: STM32F405RG (ARM Cortex M4 32 bits);

  • Fréquence d'horloge: 168 MHz;

  • Mémoire flash: 1024 ko;

  • SRAM: 192 ko;

  • Tension de fonctionnement nominale: 3,3 V;

  • Tension d'entrée recommandée: 7–15 V ou 3,6–12 V;

  • Courant maximum du bus 5V: 1000 mA;

  • Courant maximum du bus 3,3 V: 300 mA (y compris l'alimentation du microcontrôleur);

  • Courant maximum de la broche ou de la broche: 25 mA;

  • Courant total maximum des broches ou broches: 240 mA;

  • Ports d'E / S à usage général: 26;

  • Ports avec prise en charge PWM: 22;

  • Ports ADC: 12 (12 bits);

  • Ports avec DAC: 2 (12 bits);

  • Interfaces matérielles disponibles: 4 × UART / série, 3 × I²C / TWI, 2 × SPI;

  • Dimensions: 69 × 53 mm.

ISKRA JS

Structurellement, la carte est très proche de l'Arduino Uno R3 - cela signifie que vous pouvez utiliser les cartes d'extension pour cela.Quelles choses intéressantes voyons-nous dans les spécifications techniques? Comparons-les avec tous vos arduino préférés.

Comparaison entre Iskra JS et Arduino UNO r3

Ils sont différents en termes de mémoire et de capacités, et chacun trouvera son application. Bien que l'arduino dans la plupart des cas soit préférable, car il peut être acheté pour quelques centaines de roubles, et une étincelle - non.

Amperka vend également des microcontrôleurs et micro-ordinateurs comme Raspberry Pi, ainsi que des kits de formation pour travailler avec eux. Il existe également une gamme de cartes d'extension pour microcontrôleurs, ce sont les modules dits Troyka. Ils sont fabriqués dans la même couleur blanche que les autres produits de cette entreprise.

Comme tous les autres écrans, les produits d'Amperka contiennent des cartes de circuits imprimés comme unité fonctionnelle principale - un capteur, un dispositif de commutation, un maître ou un actionneur et les accessoires nécessaires. Nous avons déjà fait un examen approximatif des modules typiques pour Arduino - Les boucliers les plus populaires pour Arduino, ici tout est par analogie. Sur le site Web ou dans la communauté Amperka, vous pouvez trouver des bibliothèques à utiliser avec des modules avec Iskra JS ou Arduino.

Parmi les trois modules, il y a:

  • Joystick

  • Encodeur

  • Module avec relais;

  • Cartes d'extension de port (bouclier Troyka);

  • Accéléromètres et autres capteurs de position;

  • Capteurs de lumière, proximité, courant, température, Hall, bruit, gaz, alcool et autres;

  • Récepteurs pour lire les étiquettes NFC;

  • Équipement pour la gestion du moteur (ponts en H, pilotes) et plus encore.

En vente il y a un kit intéressant pour les débutants "IODO".

Un mot distinct sur un seul élément de la configuration est # le constructeur. Ce sont des pièces pour assembler des caisses et des parties portantes de vos structures, elles sont connectées comme un concepteur d'enfant et vous permettent de faire une disposition normalement stable avec la possibilité d'un transport sûr, ainsi qu'une solution clé en main pour un usage quotidien.

Constructeur

Soit dit en passant, vous pouvez assembler votre kit de formation, et le livret de formation du kit est disponible sur le site officiel sous forme électronique et disponible gratuitement.


Conclusion

Pour programmer des microcontrôleurs en javascript, il vous suffit d'installer le shell approprié sur votre échantillon. Cependant, toutes les copies n'ont pas de firmware correspondant, cependant, pour les appareils populaires, vous pouvez les trouver sur les forums thématiques. Par exemple, sur le micro-ordinateur BBC Micro: bit, le processus de travail avec l'environnement est décrit dans la vidéo suivante, et l'installation s'effectue en quelques étapes seulement.

Le javascript est-il nécessaire sur les microcontrôleurs? Absolument oui! Pour la plupart des tâches amateurs, les bricoleurs n'ont pas besoin de précision ou de rapidité de réponse, et pour un certain nombre de tâches professionnelles, les capacités de telles plateformes sont suffisantes. Une telle approche de la programmation permet de commencer à développer des dispositifs sans pratiquement étudier la structure et les commandes du microcontrôleur. Mais dans la méthode de programmation classique, il fallait tenir compte d'un certain nombre de choses, telles que divers types de variables, les adresses mémoire, etc.

Voir aussi sur e.imadeself.com:

  • Microcontrôleurs PIC pour débutants
  • Types et disposition des microcontrôleurs AVR
  • Quelle carte Arduino choisir
  • Que sont les écrans Nextion et comment les utiliser?
  • Connecter et programmer Arduino pour les débutants

  •