Categories: Circuits de microcontroladors
Nombre de visualitzacions: 6809
Comentaris sobre l'article: 0

Microcontroladors programables en JavaScript: quin triar, característiques i capacitats

 

Al nostre país, després del 2010, l’afició als aficionats a la ràdio va rebre un segon vent amb l’arribada de la capacitat de programar microcontroladors en llenguatges de programació d’alt nivell, molt allunyats del ferro. El primer projecte massiu va ser Família Junta Arduino. Hem examinat repetidament aquests microcontroladors en articles, però avui parlarem de microcontroladors programats en javascript. Sí! El mateix llenguatge que s’utilitzava principalment a l’hora d’escriure pàgines WEB.

Microcontrolador programable en javascript

Abast o necessiteu aquests microcontroladors?

Si considerem des del punt de vista de l’electrònica en aquells dispositius que considerarem a continuació, s’utilitzen microcontroladors estàndard. La diferència dels productes del fabricant només és que tenen un programa de carregador preinstal·lat, tot i que truqueu-lo com vulgueu, que us permet executar el codi de programa que us ha descarregat i, en alguns casos, comunicar-vos amb l'ordinador mitjançant USB, si no està implementat en maquinari.

Per a què serveixen els microcontroladors per a javascript i altres idiomes no tradicionals? Hi ha debats entre aficionats i professionals en el desenvolupament de l'electrònica en fòrums especialitzats, on alguns treballs lloen com "Arduino", mentre que d'altres els humilien i ridiculitzen de totes les maneres possibles per la senzillesa i l'abstractivitat del desenvolupador de la majoria de problemes amb el ferro.

Important: en aquesta part de l'article diem: "Arduino", ja que s'ha convertit en el punt de partida per a la majoria dels amants dels dispositius electrònics.

Els arduins es poden programar en C. Però és necessari? Mirem per què en la majoria dels casos no es necessita la velocitat de reacció dels microcontroladors. Els treballadors d’Arduino sovint els agrada muntar controladors per al reg automàtic i la inclusió d’il·luminació per a la “il·luminació” de les plantes. Aquest dispositiu combinat serà una excel·lent ajuda per a aquells a qui els agrada cultivar alguna cosa en apartaments o hivernacles.

Però, quina velocitat de dispositiu de control es necessita aquí? Fa 15-20 anys ningú no l’utilitzaria aquí microcontrolador - un dissenyador aficionat hauria gestionat amb èxit un parell d'amplificadors operatius o elements lògics. Però si parlem de la idoneïtat dels microcontroladors discutits per a aquests projectes, aquí és completament indiferent després de quants mil·lisegons la llum de fons s’encén o la terra comença a regar l’aigua.

Sistema de reg automàtic

El següent projecte popular és l'estació meteorològica de casa, i resulta que amb aquestes finalitats les capacitats bàsiques dels arduins són suficients per llegir informació dels sensors i mostrar-les en una pantalla de síntesi de caràcters.

En exemples de gestió Banda LED RGB Els LED regulars o intel·ligents amb control "píxel per píxel" (un exemple de cinta SMART i el seu marcatge que veieu a la figura següent) també tenen prou recursos.

Cinta SMART

Però, on necessiteu velocitat i no són adequats per utilitzar llenguatges de programació simplificats com Scratch o javascript? Tot és molt senzill:

  • En circuits de precisió;

  • En sistemes d’alarma i seguretat;

  • En instruments de mesura d’alta precisió amb la necessitat de prendre dades ràpides de l’ADC, inclòs els osciloscopis normals;

  • En dispositius amb requisits de treball autònom a llarg termini en mode de suspensió;

  • En els casos en què haureu de "traslladar" al microcontrolador tantes funcions i codis possibles, però recentment no s'ha convertit en una tasca molt urgent en relació amb la reducció del cost de la majoria de dispositius del mercat.

En la majoria d’aquestes tasques, l’ensopegament és la velocitat i la memòria.Per obtenir resultats òptims, en aquest cas és més raonable utilitzar ni tan sols C / C ++, sinó Assembler (ASM). De fet, si esteu apuntant a aquests projectes, vol dir que disposeu d’un cert coneixement, cosa que significa que no cal.


La conclusió?

Calen microcontroladors amb llenguatges simples quan no hi hagi requisits estrictes com ara la velocitat o la precisió de mesura, però fins i tot en algunes situacions proporcionaran precisió per a dispositius no especialitzats destinats a l’ús amateur.



Espruino: un potent microcontrolador i un llenguatge de javascript senzill

La plataforma Espruino és un conjunt de programari i maquinari per a la programació de microcontroladors en el llenguatge javascript, que inclou tres elements:

1. Firmware per a un microcontrolador amb un intèrpret de llenguatge JS.

2. Entorn de desenvolupament de l’Espruino Web IDE.

3. Una placa amb un microcontrolador amb el firmware propi per treballar directament amb Espruino.

Espruino

La idea va ser desenvolupada i implementada per Gordon Williams el 2013, i va recaptar fons per a això mitjançant la plataforma de crowdfunding (Kickstarter). De fet, l'essència del desenvolupament era desenvolupar el firmware Espruino (motor) per carregar-lo en microcontroladors. S'utilitza principalment en microcontroladors de la família STM32, amb arquitectura ARM-cortex. A continuació, tindrem en compte els dispositius més adequats per al seu funcionament.

Microcontrolador espruino

Per escriure programes per al microcontrolador en javascript, cal instal·lar Espruino Web IDE. Es tracta d’un programa o extensió per al popular navegador d’Internet de Google Chrome que s’instal·la en un sol clic.

Després de fer clic al botó "Instal·lar" del menú "serveis", apareixerà una aplicació i podreu accedir a aquest menú escrivint la barra d'adreces: chrome: // apps /

Quan feu clic a la icona amb una tassa de cafè, s’obre l’entorn de desenvolupament, cosa destacable no al navegador, sinó en una finestra independent.

Aquest entorn és interessant tant per a nens com per a usuaris principiants, perquè podeu introduir el codi manualment o utilitzar un editor gràfic basat en el llenguatge de programació Scratch. Per fer-ho, feu clic a la icona a la qual apunta la fletxa.

Espruino Web IDE

Després d'això, la part dreta de la pantalla, que amb el codi, canviarà a la seva altra representació:

Editor gràfic

La interfície és intuïtiva, al panell central de dalt a baix: obriu un fitxer nou, deseu l’esbós, carregueu-lo al microcontrolador.


Conclusió

Les plaques Espruino i similars són una placa de circuit imprès amb els fitxers adjunts necessaris i un microcontrolador, amb un intèrpret de javascript, que processa el codi i tradueix els seus comandaments al llenguatge dels i els zeros directament en temps d'execució. Mentre que en la forma clàssica, el programa per a microcontroladors es carrega en aquest últim ja en forma de codi de màquina.

Aquest enfocament dóna rendiment en moltes tasques, com Arduino.


Revisió de la línia oficial Espruino

Espruino original

Especificacions d'aquest dispositiu:

  • 54x41 mm (mitja targeta de crèdit);

  • CPU STM32F103RCT6 ARM Cortex M3 de 32 bits de 72 bits

  • Flash de 256 KB, 48 KB de memòria RAM;

  • Port micro USB

  • Tensió d’entrada de 3,6 a 15V;

  • Connector de la bateria (JST PHR-2 2 Pin);

  • Ranura per a targeta SD incorporada;

  • Tres LEDs (vermell verd i blau);

  • Plataformes per a la instal·lació del mòdul Bluetooth HC-05;

  • La distància entre les mines - 0,54 "(2,54 mm);

  • 44 pins GPIO, dels quals 26 PWM (PWM), 16 ADC (ADC), 3 USARTs, 2 SPI, 2 I2C i 2 DAC (DAC);

  • L’àrea de la placa es pot utilitzar per connectar diversos dispositius, com ara mòduls Wi-Fi, servos, ampliable a 14 sortides amb un corrent de fins a 500 mA.

Placa de microcontroladors Espruino

L’aparició del tauler i la divisió condicional dels seus nodes en zones

Per a molts, la junta pot semblar poc atractiva i incompleta, però aquesta va ser només la seva primera opció, per després semblar més familiar i progressista. Puck.JS és una placa en miniatura en la caixa, porta a bord Bluetooth i un transmissor d’infrarojos.

Puck.js

Segons la informació del lloc oficial, les seves especificacions tècniques i característiques són les següents:

  • Bluetooth de baix consum;

  • Intèrpret de javascript Espruino preinstal·lat;

  • El cor de la placa és nRF52832 SoC - 64MHz ARM Cortex M4, 64kB RAM, 512kB Flash;

  • Ports GPIO de 8 x 0,1 "(inclosos PWM (PWM), SPI, I2C, UART, entrada analògica);

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

  • Rentadora de carcassa de plàstic ABS;

  • Tapa de silicona amb clau;

  • Magnetòmetre MAG3110: mesurador de camp magnètic de tres eixos;

  • Transmissor d’IR

  • Termòmetre, sensor de llum i nivell de bateria;

  • Tres LEDs (vermell, verd i blau);

  • Programable mitjançant etiqueta JS NFC.

  • Els pins poden percebre el tacte per capacitat (el principi de funcionament de les pantalles tàctils dels telèfons intel·ligents);

  • Pes 14 g;

  • Mides de la caixa de plàstic: diàmetre 36mm, gruix - 12,5 mm;

  • Dimensions del tauler: diàmetre 29mm, gruix 9mm.

Demostració del treball:

El següent tauler és l’Espruino Wi-Fi, com el seu nom indica, la seva funció és un mòdul sense fils integrat per a Wi-Fi.

Wi-Fi Espruino

Les seves característiques tècniques:

  • Mides del tauler: 30x23 mm;

  • La placa té un connector Micro USB;

  • 21 GPIO: 8 entrades analògiques, 20 PWM, 1 port sèrie, 3 SPI, 3 I2C;

  • La placa té 3 LEDs, 2 d'ells programables per l'usuari i 1 mostra activitat Wi-Fi;

  • Els ports són compatibles amb Arduino en termes de tensió i suporten un senyal de 5 Volt;

  • 1 botó;

  • Construït en un microcontrolador STM32F411CEU6 CPU de 32 MHz ARM Cortex M4 de 32 bits;

  • Memòria: 512kb flash, 128kb RAM;

  • Comunicació Wi-Fi amb ESP8266 (802.11 b / g / n);

  • RTC (rellotge en temps real amb un generador extern).

  • A la placa s’instal·la un estabilitzador de 3,3 V amb un corrent de fins a 250 mA, s’admet una tensió d’alimentació de 3,5 a 5 V.

  • El consum actual en mode de suspensió és de fins a 0,05 mA, la qual cosa permet treballar 2,5 anys en una bateria de 2500mAh (tot i que això és més que un màrqueting, però la bateria en si és més probable que es descarregui més ràpidament).

Wi-Fi Espruino

Demostració del consell:


Espruino Pico: microcontrolador per a javascript en format USB stick

Ho considerarem en un apartat separat, ja que és el més habitual a Rússia i a l'estranger, potser moltes gràcies a la companyia Amperka. La placa és convenient per entrenar i implementar projectes acabats, una placa en miniatura que s’insereix directament al port USB del vostre ordinador per a la seva programació.

Espruino Pico

Especificacions:

  • Mides: 33x15: tenint en compte el connector USB;

  • 22 ports GPIO, que inclouen: 9 entrades analògiques, 21 PWM, 2 serials (ports en sèrie), 3 SPI, 3 I2C;

  • Els pins GPIO admeten nivells de senyal de 5 V, que permet combinar la placa amb escuts i dispositius per a arduino;

  • El connector USB de tipus A forma part de la placa.

  • Dos LEDs i un botó programable

  • Creat en un microcontrolador de CPU ARM Cortex M4 de 32 bits de 84 bits de STM32F401CDU6 de 32 bits

  • Memòria: flaix de 384kb, memòria RAM de 96kb

  • Un regulador de tensió de 3,3 V a 250mA es solda a la placa i permet alimentar-lo de 3,5 a 16 V.

  • En mode de suspensió, consumeix corrent de fins a 0,05 mA, i el fabricant reivindica uns 2,5 anys d’operació a partir d’una bateria a 2500mAh;

  • Transistor d'efecte de camp integrat per controlar circuits d'alta corrent.

Aquesta és la pissarra més petita de la línia. Al llarg de les vores hi ha ports d'E / S. En aquest cas, la capa de metalització està present tant als forats mateixos com al llarg de l'extrem de la placa de circuit imprès.

Espruino Pico

El to de contacte és estàndard, això us permet soldar línies PLS estàndard (aquest és el nom que porten).

Línia pls

Revisió detallada d'aquest consell:


La botiga en línia Amperka i la seva línia de taulers amb Javascript

Ens agradi o no, però el major popularitzador de programació no tradicional de microcontroladors, en particular a javascript, és el lloc Amperka. Tenen un canal de YouTube on ensenyen a utilitzar i programar els seus productes, i també mostren la implementació de projectes mitjançant la seva pròpia línia de taulers des de microcontroladors.

La línia de marca del fabricant nacional és ISKRA JS, el nom de la qual es llegeix el nom de l'idioma que s'està discutint. Les seves característiques tècniques:

  • Microcontrolador: STM32F405RG (ARM Cortex M4 de 32 bits);

  • Freqüència del rellotge: 168 MHz;

  • Memòria flash: 1024 kB;

  • SRAM: 192 kB;

  • Voltatge operatiu nominal: 3.3V;

  • Tensió d'entrada recomanada: 7-15 V o 3,6-12 V;

  • Corrent màxim del bus 5V: 1000 mA;

  • Corrent màxim del bus de 3,3 V: 300 mA (incloent una font d'alimentació del microcontrolador);

  • Corrent màxim de passador o pin: 25 mA;

  • Corrent total màxim de pins o pins: 240 mA;

  • Ports d'E / S de propòsit general: 26;

  • Ports amb suport PWM: 22;

  • Ports ADC: 12 (12 bits);

  • Ports amb DAC: 2 (12 bits);

  • Interfícies de maquinari disponibles: 4 × UART / Serial, 3 × I²C / TWI, 2 × SPI;

  • Mides: 69 × 53 mm.

ISKRA JS

Estructuralment, el tauler està molt a prop de l’Arduino Uno R3, això vol dir que podeu utilitzar les targetes d’expansió per a això.Quines coses interessants veiem a les especificacions tècniques? Compareu-los amb tot el vostre arduino favorit.

Comparació de Iskra JS i Arduino UNO r3

Són diferents quant a memòria i capacitats, i cadascú trobarà la seva aplicació. Tot i que l’ardino en la majoria dels casos és preferible, perquè es pot comprar per a un parell de cent rubles, però una espurna no.

Amperka també ven microcontroladors i microordinadors com Raspberry Pi, així com kits d’entrenament per treballar amb ells. També hi ha una línia de targetes d’expansió per a microcontroladors, aquests són els anomenats mòduls Troyka. Estan elaborats amb el mateix color blanc que la resta de productes d’aquesta empresa.

Com qualsevol altre escut, els productes d’Amperka contenen plaques de circuit imprès com a unitat funcional principal: un sensor, un dispositiu de commutació, un mestre o actuador i els accessoris necessaris. Ja hem fet una revisió aproximada dels mòduls típics per a Arduino - Els escuts més populars per a Arduino, aquí tot és per analogia. Al lloc web o a la comunitat Amperka, podeu trobar biblioteques per utilitzar amb mòduls amb Iskra JS o Arduino.

Entre els tres mòduls hi ha:

  • Joystick

  • Codificador

  • Mòdul amb relé;

  • Targetes d’expansió del port (escut Troyka);

  • Acceleròmetres i altres sensors de posició;

  • Sensors de llum, proximitat, corrent, temperatura, Hall, soroll, gas, alcohol i altres coses;

  • Receptors per llegir etiquetes NFC;

  • Equips per a la gestió de motors (ponts H, controladors) i molt més.

A la venda hi ha un interessant kit per a principiants "IODO".

Una paraula separada sobre un únic element de la configuració és # el constructor. Es tracta de peces per muntar els estoigs i suportar peces de les vostres estructures, estan connectades com un dissenyador infantil i us permeten fer un disseny normalment estable amb la capacitat de transportar amb seguretat i una solució clau en mà per a un ús quotidià.

Constructor

Per cert, podeu confeccionar el vostre kit de formació i el fulletó de formació del kit està disponible al lloc web oficial de forma electrònica i disponible lliurement.


Conclusió

Per programar microcontroladors en javascript, només cal que instal·leu el shell adequat al vostre exemple. No obstant això, no totes les còpies tenen un firmware corresponent, tanmateix per a dispositius populars es poden trobar en fòrums temàtics. Per exemple, al microcomputador BBC Micro: bit, el procés de treball amb l’entorn es mostra en el vídeo següent i la instal·lació es fa en uns quants passos.

És necessari javascript en microcontroladors? Absolutament sí! Per a la majoria de tasques amateurs, els propis treballadors no necessiten precisió ni velocitat de resposta, i per a diverses tasques professionals, les capacitats d’aquestes plataformes són suficients. Aquest enfocament de la programació permet iniciar el desenvolupament de dispositius sense pràcticament cap estudi de l'estructura i les ordres del microcontrolador. Però en el mètode clàssic de programació, calia tenir en compte diverses coses, com ara diversos tipus de variables, adreces de memòria, etc.

Consulteu també a electro-ca.tomathouse.com:

  • Microcontroladors PIC per a principiants
  • Tipus i ordenació de microcontroladors AVR
  • Quina junta Arduino triar
  • Què són les pantalles de Nextion i com treballar amb elles?
  • Connexió i programació d’Arduino per a principiants

  •