Categorias: Circuitos de microcontrolador
Número de visualizações: 6809
Comentários sobre o artigo: 0

Microcontroladores programáveis ​​em JavaScript: qual escolher, recursos e capacidades

 

Depois de 2010, em nosso país, o hobby de rádio amador ganhou um segundo fôlego com o advento da capacidade de programar microcontroladores em linguagens de programação de alto nível, muito distantes do ferro. O primeiro projeto de massa foi Família de placas Arduino. Examinamos repetidamente esses microcontroladores em artigos, mas hoje falaremos sobre microcontroladores programados em javascript. Sim O mesmo idioma usado principalmente ao escrever páginas da Web.

Microcontrolador programável em javascript

Escopo ou esses microcontroladores são necessários?

Se considerarmos do ponto de vista da eletrônica nos dispositivos que consideraremos abaixo, são utilizados microcontroladores padrão. A diferença dos produtos do fabricante é apenas que eles têm um programa carregador pré-instalado, embora o chame como quiser, o que permite executar o código do programa baixado para você e, em alguns casos, se comunicar com o computador via USB, se não estiver implementado em hardware.

Para que servem os microcontroladores para javascript e outros idiomas não tradicionais? Há debates entre amadores e profissionais no desenvolvimento de eletrônicos em fóruns especializados, onde alguns elogiam projetos como o "Arduino", enquanto outros os humilham e ridicularizam de todas as formas possíveis pela simplicidade e abstração do desenvolvedor da maioria dos problemas com ferro.

Importante: Nesta parte do artigo, dizemos: "Arduino", porque se tornou o ponto de partida para a maioria dos amantes de dispositivos eletrônicos.

Os arduins podem ser programados em C. Mas isso é necessário? Vejamos por que, na maioria dos casos, a velocidade de reação dos microcontroladores não é necessária. Os trabalhadores do Arduino geralmente gostam de montar controladores para irrigação automática e a inclusão de iluminação para "iluminar" as plantas. Esse dispositivo combinado será uma excelente ajuda para quem gosta de cultivar algo em apartamentos ou estufas.

Mas que velocidade do dispositivo de controle é necessária aqui? 15-20 anos atrás, ninguém usaria aqui microcontrolador - um projetista amador teria gerenciado com sucesso um par de amplificadores operacionais ou elementos lógicos. Mas se falarmos sobre a adequação dos microcontroladores discutidos para esses projetos, então aqui é completamente indiferente depois de quantos milissegundos a luz de fundo acende ou a terra começa a irrigar a água.

Sistema de rega automático

O próximo projeto popular é a estação meteorológica doméstica e, para tais fins, os recursos básicos dos arduins são suficientes para ler informações dos sensores e exibi-las em uma tela de síntese de caracteres.

Em exemplos de gerenciamento Fita LED RGB LEDs regulares ou inteligentes com controle "pixel por pixel" (um exemplo dessa fita SMART e sua marcação que você vê na figura abaixo) também possuem recursos suficientes.

Fita SMART

Mas onde você precisa de velocidade e não é adequado para usar linguagens de programação simplificadas como Scratch ou javascript? Tudo é muito simples:

  • Em circuitos de precisão;

  • Em alarmes e sistemas de segurança;

  • Em instrumentos de medição de alta precisão com a necessidade de obter rapidamente dados do ADC, inclusive para osciloscópios normais;

  • Em dispositivos com um requisito para trabalho autônomo de longo prazo no modo de suspensão;

  • Nos casos em que você precisa “inserir” o maior número possível de funções e códigos no microcontrolador, mas isso não se tornou uma tarefa muito urgente recentemente em conexão com a redução no custo da maioria dos dispositivos no mercado.

Na maioria dessas tarefas, o obstáculo é a velocidade e a memória.Para melhores resultados, nesse caso, é mais razoável usar nem mesmo C / C ++, mas Assembler (ASM). De fato, se você está buscando tais projetos, significa que você tem uma certa quantidade de conhecimento, o que significa que não há necessidade.


A conclusão?

Microcontroladores com linguagens simples são necessários onde não há requisitos rígidos, como velocidade ou precisão de medição, mas mesmo em algumas situações eles fornecem precisão para dispositivos não especializados destinados ao uso amador.



Espruino - um microcontrolador poderoso e uma linguagem javascript simples

A plataforma Espruino é um conjunto de software e hardware para programação de microcontroladores na linguagem javascript, que inclui três elementos:

1. Firmware para um microcontrolador com um intérprete de linguagem JS.

2. Ambiente de desenvolvimento para o Espruino Web IDE.

3. Uma placa com um microcontrolador com o próprio firmware para trabalhar diretamente com o Espruino.

Espruino

A ideia foi desenvolvida e implementada por Gordon Williams em 2013, e ele levantou fundos usando a plataforma de crowdfunding (Kickstarter). De fato, a essência do desenvolvimento foi desenvolver o firmware Espruino (mecanismo) para carregá-lo nos microcontroladores. É usado principalmente em microcontroladores da família STM32, com arquitetura ARM-córtex. Dispositivos mais convenientes para operação, consideraremos abaixo.

Microcontrolador Espruino

Para escrever programas para o microcontrolador em javascript, você precisa instalar o Espruino Web IDE. Este é um programa ou extensão para o popular navegador da Internet Google Chrome, instalado em apenas um clique.

Depois de clicar no botão "Instalar" no menu "serviços", um aplicativo será exibido e você poderá entrar nesse menu digitando na barra de endereço: chrome: // apps /

Quando você clica no ícone com uma xícara de café, o ambiente de desenvolvimento é aberto, o que é notável não no navegador, mas em uma janela separada.

Esse ambiente é interessante para crianças e usuários iniciantes, porque você pode inserir o código manualmente ou usar o editor gráfico, com base na linguagem de programação Scratch. Para fazer isso, clique no ícone para o qual a seta aponta.

Espruino Web IDE

Depois disso, o lado direito da tela, que com o código, mudará para sua outra representação:

Editor gráfico

A interface é intuitiva, no painel central, de cima para baixo: abra um novo arquivo, salve o esboço, carregue-o no microcontrolador.


Conclusão

As placas Espruino e similares são uma placa de circuito impresso com os acessórios necessários e um microcontrolador, com um intérprete javascript, que processa o código e traduz seus comandos no idioma de uns e zeros diretamente em tempo de execução. Enquanto está no formato clássico, o programa para microcontroladores é carregado no último já na forma de código de máquina.

Essa abordagem fornece desempenho em muitas tarefas, como o Arduino.


Revisão da linha oficial do Espruino

Espruino original

Especificações deste dispositivo:

  • 54x41 mm (meio cartão de crédito);

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

  • 256KB de Flash, 48KB de RAM;

  • Porta micro USB

  • Faixa de tensão de entrada de 3,6 a 15V;

  • Conector da bateria (JST PHR-2 2 pinos);

  • Ranhura para cartão SD incorporada;

  • Três LEDs (verde vermelho e azul);

  • Plataformas para instalação do módulo Bluetooth HC-05;

  • A distância entre as minas - 0,14 "(2,54 mm);

  • 44 pinos GPIO, dos quais 26 PWM (PWM), 16 ADC (ADC), 3 USARTs, 2 SPI, 2 I2C e 2 DACs (DAC);

  • A área na placa pode ser usada para conectar vários dispositivos, como módulos Wi-Fi, servos, expansíveis para 14 saídas com uma corrente de até 500 mA.

Placa de microcontrolador Espruino

A aparência do quadro e a divisão condicional de seus nós em zonas

Para muitos, o conselho pode parecer pouco atraente e incompleto, mas essa foi apenas a primeira opção, depois parece mais familiar e progressivo. Puck.JS é uma placa em miniatura no caso, possui Bluetooth e um transmissor de infravermelho.

Puck.js

De acordo com informações do site oficial, suas especificações e recursos técnicos são os seguintes:

  • Bluetooth de baixa energia;

  • Intérprete javascript Espruino pré-instalado;

  • O coração da placa é nRF52832 SoC - ARM Cortex M4 de 64MHz, RAM de 64kB, Flash de 512kB;

  • 8 portas GPIO de 0,1 "(incluindo PWM (PWM), SPI, I2C, UART, entrada analógica);

  • 9 portas SMD GPIO (incluindo PWM, SPI, I2C, UART);

  • Arruela de caixa em plástico ABS;

  • Capa de silicone com uma chave;

  • Magnetômetro MAG3110 - medidor de campo magnético de três eixos;

  • Transmissor IR

  • Termômetro, sensor de luz e nível da bateria;

  • Três LEDs (vermelho, verde e azul);

  • Programável via tag JS NFC.

  • Os pinos podem perceber o toque por capacidade (o princípio de operação das telas sensíveis ao toque dos smartphones);

  • Peso 14 g;

  • Tamanhos da caixa de plástico: diâmetro 36mm, espessura - 12,5mm;

  • Dimensões da placa: diâmetro 29mm, espessura 9mm.

Demonstração de trabalho:

O próximo quadro é o Espruino Wi-Fi, como o nome indica, seu recurso é um módulo sem fio interno para Wi-Fi.

Espruino Wi-Fi

Suas características técnicas:

  • Dimensões da placa: 30x23 mm;

  • A placa possui um conector Micro USB;

  • 21 GPIO: 8 entradas analógicas, 20 PWM, 1 porta serial, 3 SPI, 3 I2C;

  • A placa possui 3 LEDs, 2 deles são programáveis ​​pelo usuário e 1 exibe a atividade Wi-Fi;

  • As portas são compatíveis com o Arduino em termos de tensão e suportam um sinal de 5 volts;

  • 1 botão;

  • Construído em um microcontrolador STM32F411CEU6 CPU ARM Cortex M4 de 32 bits e 100MHz;

  • Memória: 512kb de flash, 128kb de RAM;

  • Comunicação Wi-Fi com ESP8266 (802.11 b / g / n);

  • RTC (relógio em tempo real com um gerador externo).

  • Um estabilizador de 3,3V com uma corrente de até 250 mA está instalado na placa, uma tensão de alimentação de 3,5 a 5 V é suportada.

  • O consumo atual no modo de suspensão é de até 0,05 mA, o que permite trabalhar 2,5 anos com uma bateria de 2500mAh (embora isso seja mais um marketing, mas é mais provável que a própria bateria seja descarregada mais rapidamente).

Espruino Wi-Fi

Demonstração do Conselho:


Espruino Pico - microcontrolador para javascript no formato stick USB

Vamos considerá-lo em uma seção separada, uma vez que é mais comum na Rússia e no exterior, talvez muito graças à empresa Amperka. A placa é conveniente para treinar e implementar projetos concluídos, uma placa em miniatura inserida diretamente na porta USB do seu computador para programação.

Espruino Pico

Especificações:

  • Dimensões: 33x15 - levando em consideração o plugue USB;

  • 22 portas GPIO, incluindo: 9 entradas analógicas, 21 PWM, 2 seriais (portas seriais), 3 SPI, 3 I2C;

  • Os pinos GPIO suportam níveis de sinal de 5 V, o que permite combinar a placa com blindagens e dispositivos para o arduino;

  • O plugue USB tipo A faz parte da placa.

  • Dois LEDs e um botão programável

  • Construído em um microcontrolador de CPU STM32F401CDU6 de 32 bits e 84MHz ARM Cortex M4

  • Memória: 384kb de flash, 96kb de RAM

  • Um regulador de tensão de 3,3 V 250mA é soldado na placa e permite que ele seja alimentado de 3,5 a 16 V.

  • No modo de suspensão, consome corrente de até 0,05 mA, e o fabricante aqui reivindica 2,5 anos de operação com 1 bateria a 2500mAh;

  • Transistor de efeito de campo embutido para controle de circuitos de alta corrente.

Esta é a menor placa da linha. Ao longo de suas bordas existem portas de E / S. Nesse caso, a camada de metalização está presente nos próprios furos e ao longo da extremidade da placa de circuito impresso.

Espruino Pico

O passo do contato é padrão; isso permite soldar linhas PLS padrão (este é o nome que eles carregam).

Linha Pls

Revisão detalhada deste fórum:


Loja online Amperka e sua linha de pranchas com Javascript

Goste ou não, mas o maior popularizador de programação não tradicional de microcontroladores, especialmente em javascript, é o site Amperka. Eles têm um canal no YouTube onde ensinam como usar e programar seus produtos, além de mostrar a implementação de projetos usando sua própria linha de placas de microcontroladores.

A linha da marca do fabricante nacional é ISKRA JS, cujo nome lê o nome do idioma que está sendo discutido. Suas características técnicas:

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

  • Frequência de clock: 168 MHz;

  • Memória Flash: 1024 kB;

  • SRAM: 192 kB;

  • Tensão operacional nominal: 3.3V;

  • Tensão de entrada recomendada: 7–15 V ou 3,6–12 V;

  • Corrente máxima do barramento de 5V: 1000 mA;

  • Corrente máxima do barramento de 3.3V: 300 mA (incluindo fonte de alimentação do microcontrolador);

  • Corrente máxima do pino ou pino: 25 mA;

  • Corrente total máxima dos pinos ou pinos: 240 mA;

  • Portas de E / S de uso geral: 26;

  • Portas com suporte PWM: 22;

  • Portas ADC: 12 (12 bits);

  • Portas com DAC: 2 (12 bits);

  • Interfaces de hardware disponíveis: 4 × UART / Serial, 3 × I²C / TWI, 2 × SPI;

  • Dimensões: 69 × 53 mm.

ISKRA JS

Estruturalmente, a placa está muito próxima do Arduino Uno R3 - isso significa que você pode usar as placas de expansão.Que coisas interessantes vemos nas especificações técnicas? Vamos compará-los com todo o seu arduino favorito.

Comparação de Iskra JS e Arduino UNO r3

Eles são diferentes em termos de memória e recursos, e cada um encontrará sua aplicação. Embora o arduino na maioria dos casos seja preferível, porque ele pode ser comprado por algumas centenas de rublos, mas uma faísca não é.

A Amperka também vende microcontroladores e microcomputadores como Raspberry Pi, bem como kits de treinamento para trabalhar com eles. Há também uma linha de placas de expansão para microcontroladores, esses são os chamados módulos Troyka. Eles são feitos na mesma cor branca que o restante dos produtos desta empresa.

Como qualquer outra blindagem, os produtos da Amperka contêm placas de circuito impresso como a principal unidade funcional - um sensor, um dispositivo de comutação, um mestre ou atuador e os acessórios necessários. Já fizemos uma revisão aproximada dos módulos típicos do Arduino - Os escudos mais populares para Arduino, aqui tudo é por analogia. No site ou na comunidade Amperka, você pode encontrar bibliotecas para uso com módulos com Iskra JS ou Arduino.

Entre os três módulos, existem:

  • Joystick

  • Codificador

  • Módulo com relé;

  • Placas de expansão de portas (escudo Troyka);

  • Acelerômetros e outros sensores de posição;

  • Sensores de luz, proximidade, corrente, temperatura, Hall, ruído, gás, álcool e outras coisas;

  • Receptores para leitura de tags NFC;

  • Equipamento para gerenciamento de motores (pontes H, drivers) e muito mais.

À venda, há um kit interessante para iniciantes "IODO".

Uma palavra separada sobre um único item na configuração é # o construtor. São peças para montagem de estojos e peças de estruturas, conectadas como o design de uma criança e permitem que você faça um layout normalmente estável com a possibilidade de transporte seguro, além de uma solução pronta para uso diário.

Construtor

A propósito, você pode montar seu kit de treinamento, e o livreto de treinamento está disponível no site oficial em formato eletrônico e disponível gratuitamente.


Conclusão

Para programar microcontroladores em javascript, você só precisa instalar o shell apropriado em sua amostra. No entanto, nem todas as cópias têm um firmware correspondente, no entanto, para dispositivos populares, podem ser encontrados em fóruns temáticos. Por exemplo, no microcomputador BBC Micro: bit, o processo de trabalho com o ambiente é mostrado no vídeo a seguir e a instalação é realizada em apenas algumas etapas.

O javascript é necessário em microcontroladores? Absolutamente sim! Para a maioria das tarefas amadoras, faça você mesmo não precisa de precisão ou velocidade de resposta, e para várias tarefas profissionais os recursos de tais plataformas são suficientes. Essa abordagem da programação possibilita o desenvolvimento de dispositivos praticamente sem estudo da estrutura e comandos do microcontrolador. Porém, no método clássico de programação, era necessário levar em consideração várias coisas, como vários tipos de variáveis, endereços de memória e assim por diante.

Veja também em bgv.electricianexp.com:

  • Microcontroladores PIC para iniciantes
  • Tipos e disposição dos microcontroladores AVR
  • Qual placa Arduino escolher
  • O que são os displays Nextion e como trabalhar com eles?
  • Conectando e programando o Arduino para iniciantes

  •