categorie: Circuiti a microcontrollore
Numero di visite: 6809
Commenti sull'articolo: 0

Microcontrollori programmabili in JavaScript: quale scegliere, caratteristiche e capacità

 

Nel nostro paese, dopo circa il 2010, l'hobby degli appassionati di radio ha ricevuto un secondo vento con l'avvento della capacità di programmare i microcontrollori in linguaggi di programmazione di alto livello, lontani dal ferro. Il primo progetto di massa fu Famiglia di schede Arduino. Abbiamo esaminato ripetutamente questi microcontrollori in articoli, ma oggi parleremo di microcontrollori programmati in javascript. Sì! La stessa lingua utilizzata principalmente durante la scrittura di pagine WEB.

Microcontrollore programmabile in javascript

Ambito o sono necessari tali microcontrollori?

Se consideriamo dal punto di vista dell'elettronica quei dispositivi che considereremo di seguito, vengono utilizzati microcontrollori standard. La differenza rispetto ai prodotti del produttore è solo che hanno un programma di caricamento preinstallato, anche se chiamalo come vuoi, che ti consente di eseguire il codice del programma scaricato e, in alcuni casi, di comunicare con il computer tramite USB, se non è implementato nell'hardware.

A cosa servono i microcontrollori per javascript e altre lingue non tradizionali? Ci sono dibattiti tra dilettanti e professionisti nello sviluppo dell'elettronica in forum specializzati, dove alcuni lodano progetti come "Arduino", mentre altri li umiliano e li ridicolizzano in ogni modo possibile per la semplicità e l'astrattezza dello sviluppatore dalla maggior parte dei problemi con il ferro.

Importante: in questa parte dell'articolo diciamo: "Arduino", perché è diventato il punto di partenza per la maggior parte degli amanti dei dispositivi elettronici.

Gli Arduin possono essere programmati in C. Ma è necessario? Vediamo perché nella maggior parte dei casi la velocità di reazione dei microcontrollori non è necessaria. Ai lavoratori di Arduino piace spesso assemblare controller per l'irrigazione automatica e l'inclusione dell'illuminazione per l '"illuminazione" delle piante. Un dispositivo così combinato sarà di grande aiuto per chi ama coltivare qualcosa in appartamenti o serre.

Ma quale velocità del dispositivo di controllo è necessaria qui? 15-20 anni fa nessuno lo userebbe qui microcontrollore - un progettista dilettante avrebbe gestito con successo una coppia di amplificatori operazionali o elementi logici. Ma se parliamo dell'idoneità dei microcontrollori discussi per questi progetti, allora qui è completamente indifferente dopo quanti millisecondi si accende la retroilluminazione o la terra inizia a irrigare l'acqua.

Sistema di irrigazione automatico

Il prossimo progetto popolare è la stazione meteorologica domestica e si scopre che per tali scopi le capacità di base degli arduin sono sufficienti per leggere le informazioni dai sensori e visualizzarle su un display che sintetizza i caratteri.

Negli esempi di gestione Striscia LED RGB i LED regolari o intelligenti con controllo "pixel per pixel" (un esempio di tale nastro SMART e la sua marcatura che vedi nella figura sotto) hanno anche risorse sufficienti.

Nastro SMART

Ma dove hai bisogno di velocità e non sei adatto all'uso di linguaggi di programmazione semplificati come Scratch o JavaScript? È tutto molto semplice:

  • In circuiti di precisione;

  • In allarmi e sistemi di sicurezza;

  • In strumenti di misura ad alta precisione con la necessità di acquisire rapidamente i dati dall'ADC, anche per oscilloscopi normali;

  • Nei dispositivi che richiedono un lavoro autonomo a lungo termine in modalità di sospensione;

  • Nei casi in cui è necessario "inserire" quante più funzioni e codici possibili nel microcontrollore, ma questo non è diventato di recente un compito molto urgente in relazione alla riduzione del costo della maggior parte dei dispositivi sul mercato.

Nella maggior parte di questi compiti, l'ostacolo è la velocità e la memoria.Per risultati ottimali, in questo caso è più ragionevole utilizzare nemmeno C / C ++, ma Assembler (ASM). In effetti, se stai mirando a tali progetti, significa che hai una certa quantità di conoscenza, il che significa che non è necessario.


La conclusione?

I microcontrollori con linguaggi semplici sono necessari laddove non vi siano requisiti rigorosi come la velocità o l'accuratezza della misurazione, ma anche in alcune situazioni forniranno accuratezza per i dispositivi non specializzati destinati all'uso amatoriale.



Espruino: un potente microcontrollore e un semplice linguaggio javascript

La piattaforma Espruino è un insieme di software e hardware per la programmazione di microcontrollori in linguaggio javascript, include tre elementi:

1. Firmware per un microcontrollore con un interprete del linguaggio JS.

2. Ambiente di sviluppo per l'IDE Web di Espruino.

3. Una scheda con un microcontrollore con il firmware stesso per lavorare direttamente con Espruino.

Espruino

L'idea è stata sviluppata e implementata da Gordon Williams nel 2013, e ha raccolto fondi grazie alla piattaforma di crowdfunding (Kickstarter). In effetti, l'essenza dello sviluppo era sviluppare il firmware Espruino (motore) per caricarlo nei microcontrollori. Viene utilizzato principalmente su microcontrollori della famiglia STM32, con architettura ARM-cortx. Dispositivi più convenienti per il funzionamento, considereremo di seguito.

Microcontrollore Espruino

Per scrivere programmi per il microcontrollore in JavaScript, è necessario installare l'IDE Web di Espruino. Questo è un programma o un'estensione per il popolare browser Internet Google Chrome che si installa in un solo clic.

Dopo aver fatto clic sul pulsante "Installa" nel menu "servizi", verrà visualizzata un'applicazione e puoi accedere a questo menu digitando nella barra degli indirizzi: chrome: // apps /

Quando si fa clic sull'icona con una tazza di caffè, si apre l'ambiente di sviluppo, che è notevole non nel browser, ma in una finestra separata.

Questo ambiente è interessante sia per i bambini che per gli utenti principianti, poiché è possibile inserire il codice manualmente o utilizzare l'editor grafico, basato sul linguaggio di programmazione Scratch. Per fare ciò, fai clic sull'icona a cui punta la freccia.

IDE Web di Espruino

Dopodiché, il lato destro dello schermo, che con il codice, passerà all'altra sua rappresentazione:

Editor grafico

L'interfaccia è intuitiva, nel pannello centrale dall'alto verso il basso: aprire un nuovo file, salvare lo schizzo, caricarlo nel microcontrollore.


conclusione

Schede Espruino e simili sono un circuito stampato con gli allegati necessari e un microcontrollore, con un interprete javascript, che elabora il codice e traduce i suoi comandi nella lingua di uno e zeri direttamente in fase di esecuzione. Mentre nella forma classica, il programma per i microcontrollori viene caricato in quest'ultimo già sotto forma di codice macchina.

Questo approccio offre prestazioni in molte attività, come Arduino.


Revisione della linea ufficiale Espruino

Espruino originale

Specifiche di questo dispositivo:

  • 54x41 mm (mezza carta di credito);

  • STM32F103RCT6 CPU ARM Cortex M3 a 32 bit 72 MHz

  • Flash da 256 KB, 48 KB di RAM;

  • Porta micro USB

  • Gamma di tensioni di ingresso da 3,6 a 15 V;

  • Connettore batteria (JST PHR-2 2 Pin);

  • Slot per scheda SD incorporato;

  • Tre LED (rosso verde e blu);

  • Piattaforme per l'installazione del modulo Bluetooth HC-05;

  • La distanza tra le miniere - 0,1 "(2,54 mm);

  • 44 pin GPIO, di cui 26 PWM (PWM), 16 ADC (ADC), 3 USART, 2 SPI, 2 I2C e 2 DAC (DAC);

  • L'area sulla scheda può essere utilizzata per collegare un numero di dispositivi, come moduli Wi-Fi, servi, espandibile a 14 uscite con una corrente fino a 500 mA.

Scheda microcontrollore Espruino

L'aspetto del tabellone e la divisione condizionale dei suoi nodi in zone

A molti, il consiglio può sembrare poco attraente e incompleto, ma questa è stata solo la sua prima opzione, quindi sembrano più familiari e progressivi. Puck.JS è una scheda in miniatura nella custodia, ha a bordo Bluetooth e un trasmettitore a infrarossi.

Puck.JS

Secondo le informazioni del sito ufficiale, le sue specifiche tecniche e caratteristiche sono le seguenti:

  • Bluetooth a bassa energia;

  • Interprete javascript Espruino preinstallato;

  • Il cuore della scheda è SoC nRF52832 - ARM Cortex M4 a 64 MHz, 64 kB RAM, 512 kB Flash;

  • 8 porte GPIO da 0,1 "(inclusi PWM (PWM), SPI, I2C, UART, ingresso analogico);

  • 9 porte SMD GPIO (inclusi PWM, SPI, I2C, UART);

  • Rondella dell'alloggiamento in plastica ABS;

  • Cover in silicone con chiave;

  • Magnetometro MAG3110 - misuratore di campo magnetico a tre assi;

  • Trasmettitore IR

  • Termometro, sensore di luminosità e livello della batteria;

  • Tre LED (rosso, verde e blu);

  • Programmabile tramite tag JS NFC.

  • I pin possono percepire il tocco in base alla capacità (il principio di funzionamento dei touchscreen degli smartphone);

  • Peso 14 g;

  • Dimensioni della custodia in plastica: diametro 36 mm, spessore - 12,5 mm;

  • Dimensioni della scheda: diametro 29 mm, spessore 9 mm.

Dimostrazione di lavoro:

La prossima scheda è Espruino Wi-Fi, come suggerisce il nome, la sua caratteristica è un modulo wireless integrato per il Wi-Fi.

Wi-Fi Espruino

Le sue caratteristiche tecniche:

  • Dimensioni della scheda: 30x23 mm;

  • La scheda ha un connettore Micro USB;

  • 21 GPIO: 8 ingressi analogici, 20 PWM, 1 porta seriale, 3 SPI, 3 I2C;

  • La scheda ha 3 LED, 2 dei quali sono programmabili dall'utente e 1 mostra l'attività Wi-Fi;

  • Le porte sono compatibili con Arduino in termini di tensione e supportano un segnale a 5 Volt;

  • 1 pulsante;

  • Costruito su un microcontrollore STM32F411CEU6 CPU ARM Cortex M4 a 32 bit 100 MHz;

  • Memoria: flash da 512kb, RAM da 128kb;

  • Comunicazione Wi-Fi con ESP8266 (802.11 b / g / n);

  • RTC (orologio in tempo reale con un generatore esterno).

  • Sulla scheda è installato uno stabilizzatore da 3,3 V con una corrente fino a 250 mA, è supportata una tensione di alimentazione da 3,5 a 5 V.

  • Il consumo corrente in modalità di sospensione è fino a 0,05 mA, il che consente di lavorare 2,5 anni con una batteria da 2500 mAh (anche se si tratta più di una commercializzazione, ma è più probabile che la batteria stessa si scarichi più velocemente).

Wi-Fi Espruino

Dimostrazione del consiglio:


Espruino Pico - microcontrollore per javascript in formato chiavetta USB

Lo considereremo in una sezione separata, dal momento che è più comune in Russia e nell'estero, forse grazie alla compagnia Amperka. La scheda è comoda per la formazione e l'implementazione di progetti finiti, una scheda in miniatura che viene inserita direttamente nella porta USB del computer per la programmazione.

Espruino Pico

specifiche tecniche:

  • Dimensioni: 33x15 - tenendo conto della presa USB;

  • 22 porte GPIO, tra cui: 9 ingressi analogici, 21 PWM, 2 seriali (porte seriali), 3 SPI, 3 I2C;

  • I pin GPIO supportano livelli di segnale a 5 V, che consentono di combinare la scheda con schermi e dispositivi per Arduino;

  • La spina USB di tipo A fa parte della scheda.

  • Due LED e un pulsante programmabile

  • Costruito su un microcontrollore CPU Corte Corte M4 STM32F401CDU6 a 32 bit 84 MHz

  • Memoria: 384kb di flash, 96kb di RAM

  • Un regolatore di tensione di 3,3 V 250 mA è saldato sulla scheda e ne consente l'alimentazione da 3,5 a 16 V.

  • In modalità di sospensione, consuma corrente fino a 0,05 mA e il produttore dichiara qui 2,5 anni di funzionamento da 1 batteria a 2500 mAh;

  • Transistor ad effetto di campo integrato per il controllo di circuiti ad alta corrente.

Questa è la tavola più piccola della linea. Lungo i suoi bordi sono presenti porte I / O. In questo caso, lo strato di metallizzazione è presente sia sui fori stessi che lungo l'estremità del circuito stampato.

Espruino Pico

Il passo dei contatti è standard, questo ti permette di saldare linee PLS standard (questo è il nome che portano).

Linea di pls

Revisione dettagliata di questo consiglio:


Negozio online Amperka e la sua linea di schede con Javascript

Piaccia o no, ma il più grande divulgatore della programmazione non tradizionale di microcontrollori, in particolare in javascript, è il sito Amperka. Hanno un canale su YouTube in cui insegnano come utilizzare e programmare i loro prodotti e mostrano anche l'implementazione di progetti utilizzando la propria linea di schede da microcontrollori.

La linea del marchio del produttore nazionale è ISKRA JS, il cui nome legge il nome della lingua in discussione. Le sue caratteristiche tecniche:

  • Microcontrollore: STM32F405RG (ARM Cortex M4 a 32 bit);

  • Frequenza di clock: 168 MHz;

  • Memoria flash: 1024 kB;

  • SRAM: 192 kB;

  • Tensione operativa nominale: 3,3 V.;

  • Tensione di ingresso consigliata: 7–15 V o 3,6–12 V;

  • Corrente massima dal bus 5V: 1000 mA;

  • Corrente massima dal bus 3,3 V: 300 mA (inclusa l'alimentazione del microcontrollore);

  • Corrente massima da pin o pin: 25 mA;

  • Corrente totale massima da pin o pin: 240 mA;

  • Porte I / O per uso generico: 26;

  • Porte con supporto PWM: 22;

  • Porte ADC: 12 (12 bit);

  • Porte con DAC: 2 (12 bit);

  • Interfacce hardware disponibili: 4 × UART / Seriale, 3 × I²C / TWI, 2 × SPI;

  • Dimensioni: 69 × 53 mm.

ISKRA JS

Strutturalmente, la scheda è molto vicina all'Arduino Uno R3 - questo significa che è possibile utilizzare le schede di espansione per esso.Quali cose interessanti vediamo nelle specifiche tecniche? Confrontiamoli con tutti i tuoi arduino preferiti.

Confronto tra Iskra JS e Arduino UNO r3

Sono diversi in termini di memoria e capacità e ognuno troverà la sua applicazione. Sebbene l'arduino nella maggior parte dei casi sia preferibile, perché può essere acquistato per un paio di centinaia di rubli, ma una scintilla non lo è.

Amperka vende anche microcontrollori e microcomputer come Raspberry Pi, nonché kit di formazione per lavorare con loro. Esiste anche una linea di schede di espansione per microcontrollori, questi sono i cosiddetti moduli Troyka. Sono realizzati nello stesso colore bianco del resto dei prodotti di questa azienda.

Come qualsiasi altro schermo, i prodotti Amperka contengono circuiti stampati come unità funzionale principale: un sensore, un dispositivo di commutazione, un master o un attuatore e gli accessori necessari. Abbiamo già fatto una revisione approssimativa dei moduli tipici per Arduino - Gli scudi più popolari per Arduino, qui tutto è per analogia. Sul sito Web o nella comunità Amperka, è possibile trovare librerie da utilizzare con i moduli con Iskra JS o Arduino.

Tra i tre moduli ci sono:

  • joystick;

  • encoder;

  • Modulo con relè;

  • Schede di espansione delle porte (scudo Troyka);

  • Accelerometri e altri sensori di posizione;

  • Sensori di luce, prossimità, corrente, temperatura, hall, rumore, gas, alcool e altre cose;

  • Ricevitori per la lettura di tag NFC;

  • Attrezzature per la gestione del motore (ponti a H, driver) e altro ancora.

In vendita c'è un kit interessante per i principianti "IODO".

Una parola separata su un singolo elemento nella configurazione è # il costruttore. Queste sono parti per il montaggio di custodie e parti portanti delle tue strutture, sono collegate come un designer per bambini e ti consentono di creare un layout normalmente stabile con possibilità di trasporto sicuro, nonché una soluzione chiavi in ​​mano per l'uso quotidiano.

Struktor

A proposito, puoi mettere insieme il tuo kit di allenamento e il libretto di allenamento del kit è disponibile sul sito ufficiale in formato elettronico e disponibile gratuitamente.


conclusione

Per programmare i microcontrollori in javascript, devi solo installare la shell appropriata sul tuo esempio. Tuttavia, non tutte le copie hanno un firmware corrispondente, tuttavia per i dispositivi più diffusi è possibile trovarli sui forum tematici. Ad esempio, sul microcomputer BBC Micro: bit, il processo di collaborazione con l'ambiente è illustrato nel seguente video e l'installazione viene eseguita in pochi passaggi.

Javascript è necessario sui microcontrollori? Assolutamente si! Per la maggior parte delle attività amatoriali, i fai-da-te non hanno bisogno di accuratezza o velocità di risposta e per una serie di attività professionali le capacità di tali piattaforme sono sufficienti. Un tale approccio alla programmazione consente di iniziare a sviluppare dispositivi praticamente senza studio della struttura e dei comandi del microcontrollore. Ma nel metodo classico di programmazione, era necessario prendere in considerazione una serie di cose, come vari tipi di variabili, indirizzi di memoria e così via.

Vedi anche su electro-it.tomathouse.com:

  • Microcontrollori PIC per principianti
  • Tipi e disposizione dei microcontrollori AVR
  • Quale scheda Arduino scegliere
  • Cosa sono i display Nextion e come lavorare con essi?
  • Connessione e programmazione di Arduino per principianti

  •