kategorije: Sklopovi mikrokontrolera
Broj pregledavanja: 6809
Komentari na članak: 0

Programirajući mikrokontroleri u JavaScript: koji odabrati, značajke i mogućnosti

 

Nakon 2010. godine, u našoj zemlji, amaterski radio hobi dobio je drugi vjetar s pojavom mogućnosti programiranja mikrokontrolera na programskim jezicima visoke razine, daleko udaljenim od željeza. Prvi masovni projekt bio je Obitelj Arduino odbora, Mi smo više puta pregledali te mikrokontrolere u člancima, ali danas ćemo govoriti o mikrokontrolerima koji su programirani u JavaScript. Da! Isti jezik koji se koristio uglavnom pri pisanju WEB-stranica.

Mikrokontroler koji se može programirati u JavaScriptu

Opseg ili su takvi mikrokontroleri uopće potrebni?

Ako gledamo s gledišta elektronike na one uređaje koje ćemo razmotriti u nastavku, koriste se standardni mikrokontroleri. Razlika od proizvoda proizvođača je samo u tome što imaju unaprijed instalirani program za utovarivač, iako ga nazovite onim što želite, što vam omogućava da izvršite programski kod koji ste preuzeli, a u nekim slučajevima i komunicirate s računalom putem USB-a, ako nije implementiran u hardveru.

Za što se koriste mikrokontroleri za JavaScript i ostale netradicionalne jezike? Postoje amateri i amateri i profesionalci u razvoju elektronike na specijaliziranim forumima, gdje neki hvale projekte poput "Arduino", dok ih drugi na svaki mogući način ponižavaju i ismijavaju radi jednostavnosti i apstraktnosti programera iz većine problema sa željezom.

Važno: U ovom dijelu članka kažemo: "Arduino", jer je postao polazna točka za većinu ljubitelja elektroničkih uređaja.

Arduini se mogu programirati u C. Ali je li to potrebno? Pogledajmo zašto u većini slučajeva brzina reakcije mikrokontrolera nije potrebna. Radnici Arduina često vole sastavljati kontrolere za automatsko navodnjavanje i uključivanje rasvjete za "osvjetljenje" biljaka. Takav kombinirani uređaj bit će izvrsna pomoć onima koji vole uzgajati nešto u stanovima ili staklenicima.

Ali koja brzina uređaja za upravljanje je potrebna ovdje? Prije 15-20 godina ovdje ga nitko ne bi koristio mikrokontrolera - amaterski bi dizajner uspješno upravljao s par operativnih pojačala ili logičkih elemenata. Ali ako govorimo o prikladnosti razmatranih mikrokontrolera za ove projekte, onda je ovdje potpuno ravnodušno nakon koliko milisekundi se pozadinsko svjetlo uključuje ili zemlja počinje navodnjavati vodu.

Automatski sustav zalijevanja

Sljedeći je popularni projekt kućna meteorološka stanica, a ispada da su za takve svrhe osnovne mogućnosti arduina dovoljne za čitanje informacija s senzora i njihovo prikazivanje na zaslonu za sintetiziranje znakova.

U primjerima upravljanja RGB LED traka obične ili pametne LED diode s upravljanjem "piksel po pikselu" (primjer takve SMART trake i njezino označavanje vidite na slici dolje) također ima dovoljno resursa.

SMART traka

Ali gdje vam je potrebna brzina i nisu pogodni za upotrebu pojednostavljenih programskih jezika poput Scratch ili javascripta? Sve je vrlo jednostavno:

  • U preciznim krugovima;

  • U alarmnim i sigurnosnim sustavima;

  • U visoko preciznim mjernim instrumentima koji trebaju brzo uzimati podatke s ADC-a, uključujući i za normalne osciloskope;

  • U uređajima koji imaju zahtjev za dugotrajnim autonomnim radom u stanju mirovanja;

  • U slučajevima kada trebate "gurnuti" što više funkcija i koda u mikrokontroler, ali to u posljednje vrijeme nije postalo vrlo hitan zadatak u vezi sa smanjenjem troškova većine uređaja na tržištu.

U većini ovih zadataka kamen spoticanja su brzina i memorija.Za optimalne rezultate, u ovom je slučaju razumnije koristiti ni C / C ++, već Assembler (ASM). Doista, ako ciljate takve projekte, to znači da imate određenu količinu znanja, što znači da nema potrebe.


Zaključak?

Mikrokontroleri jednostavnih jezika potrebni su tamo gdje ne postoje strogi zahtjevi, poput brzine ili točnosti mjerenja, ali čak će u nekim situacijama pružiti točnost za nespecijalizirane uređaje namijenjene amaterskoj uporabi.



Espruino - moćan mikrokontroler i jednostavan JavaScript jezik

Platforma Espruino predstavlja skup softvera i hardvera za programiranje mikrokontrolera na jeziku Java, uključuje tri elementa:

1. firmver za mikrokontroler s tumačem JS jezika.

2. Razvojno okruženje za Espruino Web IDE.

3. Ploča s mikrokontrolerom sa samim upravljačkim softverom za rad izravno s Espruinom.

Espruino

Ideju je razvio i implementirao Gordon Williams 2013. godine, a za nju je prikupio sredstva koristeći crowdfunding platformu (Kickstarter). Zapravo, suština razvoja bila je razviti Espruino firmware (motor) za njegovo učitavanje u mikrokontrolere. Koristi se uglavnom na mikrokontrolerima obitelji STM32, s ARM-cortex arhitekturom. Pogodniji uređaji za rad, razmotrit ćemo u nastavku.

Espruino mikrokontroler

Za pisanje programa za mikrokontroler na javascriptu morate instalirati Espruino Web IDE. Ovo je program ili proširenje za popularni internetski preglednik Google Chrome koji se instalira u samo jednom kliku.

Nakon klika na gumb "Instaliraj" u izborniku "usluge" pojavit će se aplikacija, a vi možete ući u ovaj izbornik upisivanjem u adresnu traku: chrome: // apps /

Kada kliknete na ikonu uz šalicu kave, otvara se razvojno okruženje koje je vidljivo ne u pregledniku, već u zasebnom prozoru.

Ovo je okruženje zanimljivo i djeci i početnicima jer kôd možete unijeti ručno ili koristiti grafički uređivač, temeljen na programskom jeziku Scratch. Da biste to učinili, kliknite na ikonu na koju strelica ukazuje.

Espruino web IDE

Nakon toga, desna strana ekrana, koja se s kodom, mijenja u svoj drugi prikaz:

Grafički urednik

Sučelje je intuitivno, na središnjoj ploči od vrha do dna: otvorite novu datoteku, spremite skicu, stavite je u mikrokontroler.


zaključak

Espruino ploče i slično su ploča s tiskanim pločama s potrebnim prilozima i mikrokontrolerom, s Java-interpretatorom koji obrađuje kod i prevodi njegove naredbe u jezik onih i nula izravno u vrijeme izvođenja. Dok se nalazi u klasičnom obliku, program za mikrokontrolere je učitan u potonji već u obliku strojne šifre.

Ovaj pristup daje izvedbu u mnogim zadacima, poput Arduina.


Pregled službene linije Espruino

Izvorni Espruino

Specifikacije ovog uređaja:

  • 54x41 mm (pola kreditne kartice);

  • STM32F103RCT6 32-bitni 72MHz ARM Cortex M3 CPU

  • 256KB Flash, 48KB RAM-a;

  • Micro USB priključak

  • Raspon ulaznog napona od 3,6 do 15 V;

  • Priključak za bateriju (JST PHR-2 2 Pin);

  • Ugrađeni utor za SD karticu;

  • Tri LED (crveno zelena i plava);

  • Platforme za ugradnju HC-05 Bluetooth modula;

  • Udaljenost između rudnika - 2,5 "(2,54 mm);

  • 44 GPIO pinova, od čega 26 PWM (PWM), 16 ADC (ADC), 3 USART-a, 2 SPI, 2 I2C i 2 DAC (DAC);

  • Područje na ploči može se koristiti za povezivanje više uređaja, kao što su Wi-Fi moduli, servo uređaji, proširivi na 14 izlaza sa strujom do 500 mA.

Espruino ploča mikrokontrolera

Izgled ploče i uvjetna podjela njezinih čvorova na zone

Mnogima se ploča možda čini neprivlačna i nepotpuna, ali ovo je bila samo njezina prva mogućnost, a onda izgledaju poznatije i naprednije. Puck.JS je minijaturna ploča u futroli, na ploči ima Bluetooth i infracrveni odašiljač.

Puck.JS

Prema podacima s službenog web mjesta, njegove tehničke specifikacije i značajke su sljedeće:

  • Bluetooth niska energija;

  • Unaprijed instalirani Espruino JavaScript interpreter;

  • Srce ploče je nRF52832 SoC - 64MHz ARM Cortex M4, 64kB RAM-a, Flash od 512kB;

  • 8 x 0,1 "GPIO portovi (uključujući PWM (PWM), SPI, I2C, UART, analogni ulaz);

  • 9 x SMD GPIO portovi (uključujući PWM, SPI, I2C, UART);

  • Perilica kućišta izrađena je od ABS plastike;

  • Silikonski poklopac s ključem;

  • MAG3110 Magnetometar - troosni mjerač magnetskog polja;

  • IR odašiljač

  • Termometar, senzor svjetla i razina akumulatora;

  • Tri LED-a (crvena, zelena i plava);

  • Programira se putem JS NFC oznake.

  • Pinovi mogu osjetiti dodir po kapacitetu (načelo rada dodirnih zaslona pametnih telefona);

  • Težina 14 g;

  • Veličine plastičnog kućišta: promjer 36 mm, debljina - 12,5 mm;

  • Dimenzije ploče: promjer 29 mm, debljina 9 mm.

Demonstracija rada:

Sljedeća ploča je Espruino Wi-Fi, kao što i ime govori, njegova je značajka ugrađeni bežični modul za Wi-Fi.

Espruino Wi-Fi

Njegove tehničke karakteristike:

  • Dimenzije ploče: 30x23 mm;

  • Ploča ima Micro USB priključak;

  • 21 GPIO: 8 analognih ulaza, 20 PWM, 1 serijski ulaz, 3 SPI, 3 I2C;

  • Ploča ima 3 LED-ove, od kojih su 2 programirane od strane korisnika, a 1 prikazuje Wi-Fi aktivnost;

  • Portovi su kompatibilni s Arduinom u pogledu napona i podržavaju signal od 5 Volta;

  • 1 gumb;

  • Ugrađen na mikrokontroleru STM32F411CEU6 32-bitni 100MHz ARM Cortex M4 CPU;

  • Memorija: 512kb bljeskalica, 128kb RAM-a;

  • Wi-Fi komunikacija s ESP8266 (802,11 b / g / n);

  • RTC (sat u stvarnom vremenu s vanjskim generatorom).

  • Na ploči je instaliran 3,3V stabilizator struje do 250 mA, podržava se napon od 3,5 do 5 V.

  • Trenutačna potrošnja u načinu mirovanja iznosi do 0,05 mA, što vam omogućuje 2,5 godine rada na bateriji od 2500mAh (mada je to više marketinški, ali sama se baterija brže isprazni).

Espruino Wi-Fi

Demonstracija odbora:


Espruino Pico - mikrokontroler za JavaScript u formatu USB stick

Razmotrit ćemo je u zasebnom odjeljku, jer je najčešći u Rusiji i bliskom inozemstvu, možda mnogi zahvaljujući tvrtki Amperka. Ploča je prikladna za obuku i provedbu gotovih projekata, minijaturna ploča koja se umetne izravno u USB priključak vašeg računala radi programiranja.

Espruino Pico

specifikacije:

  • Dimenzije: 33x15 - uzimajući u obzir USB utikač;

  • 22 GPIO priključka, uključujući: 9 analognih ulaza, 21 PWM, 2 serijska (serijski portovi), 3 SPI, 3 I2C;

  • GPIO pinovi podržavaju razine signala od 5 V, što vam omogućuje kombiniranje ploče sa štitnicima i uređajima za arduino;

  • USB priključak tipa A dio je ploče.

  • Dva LED-a i jedan programibilni gumb

  • Ugrađen na STM32F401CDU6 32-bitnom 84MHz ARM Cortex M4 CPU mikrokontroleru

  • Memorija: bljeskalica 384kb, 96kb RAM-a

  • Regulator napona od 3,3 V 250mA lemljen je na ploči i omogućuje mu napajanje od 3,5 do 16 V.

  • U načinu mirovanja troši struju do 0,05 mA, a proizvođač ovdje tvrdi 2,5 godine rada od jedne baterije na 2500mAh;

  • Ugrađeni tranzistor s efektom polja za upravljanje visokonaponskim krugovima.

Ovo je najmanja ploča u redu. Uz njegove rubove nalaze se I / O portovi. U ovom je slučaju metalizacijski sloj prisutan, kako na samim rupama, tako i na kraju tiskane pločice.

Espruino Pico

Nagib kontakta je standardni, omogućava vam lemljenje standardnih PLS linija (to je naziv koji nose).

Pls linija

Detaljan pregled ovog odbora:


Internetska trgovina Amperka i njena linija ploča s Javascript-om

Sviđalo vam se to ili ne, ali najveći popularizator netradicionalnog programiranja mikrokontrolera, posebice u Javascriptu, je stranica Amperka. Na YouTubeu imaju kanal na kojem podučavaju kako koristiti i programirati svoje proizvode, a također pokazuju i provedbu projekata koristeći vlastitu liniju ploča s mikrokontrolera.

Marka domaćeg proizvođača je ISKRA JS, čiji naziv glasi naziv jezika o kojem se raspravlja. Njegove tehničke karakteristike:

  • Mikrokontroler: STM32F405RG (32-bitni ARM Cortex M4);

  • Frekvencija takta: 168 MHz;

  • Flash memorija: 1024 kB;

  • SRAM: 192 kB;

  • Nazivni radni napon: 3.3V;

  • Preporučeni ulazni napon: 7–15 V ili 3,6–12 V;

  • Maksimalna struja iz 5V sabirnice: 1000 mA;

  • Maksimalna struja sa 3,3 V sabirnice: 300 mA (uključujući napajanje mikrokontrolera);

  • Maksimalna struja iz pinova ili pin: 25 mA;

  • Maksimalna ukupna struja iz pinova ili pinova: 240 mA;

  • Ulazi I / O opće namjene: 26;

  • Priključci s PWM podrškom: 22;

  • ADC portovi: 12 (12 bit);

  • Priključci s DAC-om: 2 (12 bit);

  • Dostupna hardverska sučelja: 4 × UART / Serijski, 3 × I²C / TWI, 2 × SPI;

  • Dimenzije: 69 × 53 mm.

ISKRA JS

Konstrukcijski je ploča vrlo blizu Arduino Uno R3 - to znači da možete koristiti kartice za proširenje za to.Koje zanimljivosti vidimo u tehničkim specifikacijama? Usporedimo ih sa svim omiljenim arduinom.

Usporedba Iskre JS i Arduino UNO r3

Različite su u pogledu memorije i mogućnosti, a svaka će naći svoju primjenu. Iako je arduino u većini slučajeva poželjniji, jer se može kupiti za par stotina rubalja, ali iskre nije.

Amperka također prodaje mikrokontrolere i mikroračunala poput Raspberry Pi, kao i kompleti za obuku za rad s njima. Postoji i linija kartica za proširenje mikrokontrolera, to su takozvani Troyka moduli. Izrađene su u istoj bijeloj boji kao i ostali proizvodi ove tvrtke.

Kao i bilo koji drugi štit, i proizvodi tvrtke Amperka sadrže ploče s tiskanim krugovima kao glavnu funkcionalnu jedinicu - senzor, preklopni uređaj, upravljač ili pokretač i potrebne priključke na njemu. Već smo napravili grubi pregled tipičnih modula za Arduino - Najpopularniji štitnici za Arduino, ovdje je sve po analogiji. Na web stranici ili u zajednici Amperka možete pronaći knjižnice za upotrebu s modulima s Iskra JS ili Arduino.

Među tri modula postoje:

  • joystick;

  • koder;

  • Modul sa relejem;

  • Kartice za proširenje luka (Troyka-štit);

  • Akcelerometri i ostali senzori položaja;

  • Senzori svjetlosti, blizine, struje, temperature, Hall, buka, plin, alkohol i druge stvari;

  • Prijemnici za čitanje NFC oznaka;

  • Oprema za upravljanje motorom (H-mostovi, vozači) i još mnogo toga.

U prodaji se nalazi zanimljiv komplet za početnike "IODO".

Posebna riječ o jednom stavku u konfiguraciji je # konstruktor. To su dijelovi za sastavljanje kućišta i nosači dijelova vaših konstrukcija, povezani su poput dječjeg dizajnera i omogućavaju vam da napravite normalno stabilan raspored s mogućnošću sigurnog nošenja, kao i rješenje "na ključ" za svakodnevnu upotrebu.

Struktor

Usput, možete sastaviti komplet za trening, a knjižica za obuku iz kompleta dostupna je na službenoj web stranici u elektroničkom obliku i besplatno dostupna.


zaključak

Za programiranje mikrokontrolera u javascriptu, trebate samo instalirati odgovarajuću ljusku na uzorak. Međutim, nema svaka kopija odgovarajućeg upravljačkog softvera, iako se popularni uređaji mogu pronaći na tematskim forumima. Na primjer, na mikroračunalu BBC Micro: bit, postupak rada s okolinom prikazan je u sljedećem videu, a instalacija se izvodi u samo nekoliko koraka.

Je li potreban javascript na mikrokontrolerima? Apsolutno da! Za većinu amaterskih zadataka, osobni radnici ne trebaju točnost ili brzinu odgovora, a za brojne profesionalne zadatke dovoljne su mogućnosti takvih platformi. Takav pristup programiranju omogućuje započinjanje razvoja uređaja s gotovo nikakvim proučavanjem strukture i naredbi mikrokontrolera. Ali u klasičnoj metodi programiranja trebalo je uzeti u obzir niz stvari, poput raznih vrsta varijabli, adrese memorije i tako dalje.

Pogledajte također na elektrohomepro.com:

  • PIC mikrokontroleri za početnike
  • Vrste i raspored AVR mikrokontrolera
  • Koju Arduino ploču odabrati
  • Što su Nextion zasloni i kako raditi s njima?
  • Povezivanje i programiranje Arduino-a za početnike

  •