Kategorijos: Mikrovaldiklio grandinės
Peržiūrų skaičius: 6809
Straipsnio komentarai: 0

Programuojami mikrovaldikliai „JavaScript“: kurį pasirinkti, savybes ir galimybes

 

Po 2010 m. Mūsų šalyje radijo mėgėjų pomėgis įgavo antrą vėją atsiradus galimybei programuoti mikrovaldiklius aukšto lygio programavimo kalbomis, nutolusiose nuo geležies. Pirmasis masinis projektas buvo „Arduino“ lentos šeima. Mes ne kartą ištyrėme šiuos mikrovaldiklius straipsniuose, tačiau šiandien mes kalbėsime apie mikrovaldiklius, kurie yra užprogramuoti „javascript“. Taip! Ta pati kalba, kuria daugiausia kalbėta rašant internetinius puslapius.

Mikrokontroleris, programuojamas javascript'e

Taikymo sritis ar tokių mikrovaldiklių išvis reikia?

Jei mes žiūrėsime į tų prietaisų elektronikos aspektą, kuriuos apsvarstysime toliau, naudojami standartiniai mikrovaldikliai. Skirtumas nuo gamintojo gaminių yra tik tas, kad jie turi iš anksto įdiegtą įkėlimo programą, nors vadinkite ją tuo, ko norite, o tai leidžia vykdyti jums atsiųstą programos kodą ir kai kuriais atvejais bendrauti su kompiuteriu per USB, jei jis nėra įdiegtas aparatinėje įrangoje.

Kam skirti „javascript“ ir kitų netradicinių kalbų mikrovaldikliai? Tarp mėgėjų ir profesionalų, besivystančių elektronikos, yra diskusijų specializuotuose forumuose, kur vieni giria tokius projektus kaip „Arduino“, o kiti juos žemina ir išjuokia dėl kūrėjo paprastumo ir abstraktumo iš daugelio geležies problemų.

Svarbu: Šioje straipsnio dalyje mes sakome: „Arduino“, nes jis tapo atspirties tašku daugumai gerbėjų, kuriančių elektroninius prietaisus.

Arduinus galima užprogramuoti C. Bet ar tai būtina? Pažvelkime, kodėl daugeliu atvejų nereikalingas mikrovaldiklių reakcijos greitis. Arduino darbuotojai dažnai mėgsta surinkti valdiklius automatiniam drėkinimui ir apšvietimo įtraukimui, norint „apšviesti“ augalus. Toks kombinuotas prietaisas bus puiki pagalba tiems, kurie mėgsta ką nors auginti butuose ar šiltnamiuose.

Bet koks čia reikalingas valdymo įtaiso greitis? Prieš 15–20 metų niekas čia to nenaudos mikrovaldiklis - dizaineris mėgėjas būtų sėkmingai valdęs operatyvinių stiprintuvų ar loginių elementų porą. Bet jei mes kalbame apie aptariamų mikrovaldiklių tinkamumą šiems projektams, tada čia yra visiškai abejingas po to, kiek milisekundžių įjungiamas foninis apšvietimas arba žemė pradeda drėkinti vandenį.

Automatinė laistymo sistema

Kitas populiarus projektas yra namų orų stotis, ir paaiškėja, kad tokiems tikslams pakanka bazinių arduinų galimybių perskaityti informaciją iš jutiklių ir parodyti juos simbolių sintezuojančiame ekrane.

Valdymo pavyzdžiuose RGB LED juostelė įprasti ar išmanieji šviesos diodai su „taškų po taškų“ valdymu (tokios SMART juostos ir jos žymėjimo pavyzdys, kurį matote paveikslėlyje žemiau) taip pat turi pakankamai išteklių.

SMART juosta

Bet kur jums reikia greičio ir netinka naudoti supaprastintas programavimo kalbas, tokias kaip „Scratch“ ar „javascript“? Viskas labai paprasta:

  • Tiksliose grandinėse;

  • Signalizacijos ir apsaugos sistemose;

  • Didelio tikslumo matavimo prietaisuose su poreikiu greitai paimti duomenis iš ADC, įskaitant įprastus osciloskopus;

  • Įrenginiuose, kuriuose reikalaujama ilgalaikio savarankiško darbo miego režime;

  • Tais atvejais, kai reikia „įvesti“ kuo daugiau funkcijų ir užkoduoti mikrovaldiklį, tačiau tai pastaruoju metu netapo labai skubia užduotimi, susijusia su daugumos rinkoje esančių prietaisų kainų sumažėjimu.

Daugelio šių užduočių metu kliūtis yra greitis ir atmintis.Norint gauti optimalius rezultatus, šiuo atveju labiau pagrįsta naudoti net ne „C / C ++“, o „Assembler“ (ASM). Iš tiesų, jei jūs siekiate tokių projektų, tai reiškia, kad turite tam tikrą kiekį žinių, vadinasi, nereikia.


Išvada?

Mikrokontroleriai su paprastomis kalbomis yra reikalingi ten, kur nėra griežtų reikalavimų, tokių kaip greitis ar matavimo tikslumas, tačiau net ir kai kuriose situacijose jie suteiks tikslumą nespecializuotiems prietaisams, skirtiems naudoti mėgėjams.



„Espruino“ - galingas mikrovaldiklis ir paprasta „JavaScript“ kalba

„Espruino“ platforma yra programinės ir aparatinės įrangos rinkinys, skirtas programuoti mikrovaldiklius javascript kalba. Jį sudaro trys elementai:

1. Mikrovaldiklio programinė įranga su JS kalbos vertėja.

2. „Espruino Web IDE“ kūrimo aplinka.

3. Plokštė su mikrovaldikliu su pačia firmine programine įranga, skirta tiesiogiai dirbti su Espruino.

Espruino

Idėją sukūrė ir įgyvendino Gordonas Williamsas 2013 m., Ir jis surinko lėšų tam, naudodamas visuomenės finansavimo platformą („Kickstarter“). Tiesą sakant, plėtros esmė buvo sukurti „Espruino“ programinę-aparatinę įrangą (variklį), skirtą ją įkelti į mikrovaldiklius. Jis daugiausia naudojamas STM32 šeimos mikrovaldikliuose su ARM-žievės architektūra. Patogesnius įrenginius darbui, mes apsvarstysime žemiau.

Espruino mikrovaldiklis

Norėdami parašyti mikrovaldiklio programas „javascript“, turite įdiegti „Espruino Web IDE“. Tai populiarios „Google Chrome“ interneto naršyklės programa arba plėtinys, įdiegiamas tik vienu paspaudimu.

Spustelėjus mygtuką „Įdiegti“ meniu „paslaugos“, pasirodys programa, kurią galite patekti į šį meniu įvesdami adreso juostą: chrome: // apps /

Kai paspaudžiate piktogramą su kavos puodeliu, atsidaro kūrimo aplinka, kuri pastebima ne naršyklėje, bet atskirame lange.

Ši aplinka yra įdomi tiek vaikams, tiek pradedantiesiems vartotojams, nes kodą galite įvesti rankiniu būdu arba naudoti grafinį redaktorių, pagrįstą „Scratch“ programavimo kalba. Norėdami tai padaryti, spustelėkite piktogramą, į kurią rodyklė nurodo.

„Espruino“ internetinis IDE

Po to ekrano dešinė, su kodu, pasikeis į kitą:

Grafinis redaktorius

Sąsaja yra intuityvi, centriniame skydelyje iš viršaus į apačią: atidarykite naują failą, išsaugokite eskizą, įkelkite jį į mikrovaldiklį.


Išvada

„Espruino“ plokštės ir panašios yra spausdintinės plokštės su reikiamais priedais ir mikrovaldiklis su „javascript“ interpretatoriumi, kuris apdoroja kodą ir verčia jo komandas į kalbų kalbas ir nulius tiesiai vykdymo metu. Nors klasikinė forma, programa mikrovaldikliams įkeliama į pastarąsias jau mašinos kodo pavidalu.

Šis požiūris suteikia rezultatų daugelyje užduočių, pavyzdžiui, „Arduino“.


Oficialios „Espruino“ linijos peržiūra

Originalus espruinas

Šio įrenginio specifikacijos:

  • 54x41 mm (pusė kreditinės kortelės);

  • STM32F103RCT6 32 bitų 72MHz „ARM Cortex M3“ centrinis procesorius

  • 256KB „Flash“, 48KB RAM;

  • Mikro USB prievadas

  • Įėjimo įtampa svyruoja nuo 3,6 iki 15 V;

  • Baterijos jungtis (JST PHR-2 2 kontaktai);

  • Įmontuotas SD kortelės lizdas;

  • Trys šviesos diodai (raudona žalia ir mėlyna);

  • HC-05 „Bluetooth“ modulio diegimo platformos;

  • Atstumas tarp minų - 0,1 "(2,54 mm);

  • 44 GPIO kaiščiai, iš kurių 26 PWM (PWM), 16 ADC (ADC), 3 USART, 2 SPI, 2 I2C ir 2 DAC (DAC);

  • Plotas lentoje gali būti naudojamas daugybei prietaisų, tokių kaip „Wi-Fi“ moduliai, „servos“, prijungti iki 14 išėjimų, kurių srovė yra iki 500 mA.

Espruino mikrovaldiklio plokštė

Lentos išvaizda ir sąlyginis jos mazgų padalijimas į zonas

Daugeliui lenta gali atrodyti nepatraukli ir neišsami, tačiau tai buvo tik pirmasis pasirinkimas, tada jie atrodo labiau pažįstami ir progresyvesni. „Puck.JS“ yra miniatiūrinė plokštė, joje yra „Bluetooth“ ir infraraudonųjų spindulių siųstuvas.

Puck.js

Remiantis oficialios svetainės informacija, jos techninės specifikacijos ir savybės yra šios:

  • „Bluetooth“ mažai energijos;

  • Iš anksto įdiegtas „Espruino“ javascript vertėjas;

  • Plokštės šerdis yra nRF52832 SoC - 64MHz ARM Cortex M4, 64kB RAM, 512kB „Flash“;

  • 8 x 0,1 “GPIO prievadai (įskaitant PWM (PWM), SPI, I2C, UART, analoginę įvestį);

  • 9 x SMD GPIO prievadai (įskaitant PWM, SPI, I2C, UART);

  • Korpuso poveržlė pagaminta iš ABS plastiko;

  • Silikono dangtelis su raktu;

  • MAG3110 magnetometras - trijų ašių magnetinio lauko matuoklis;

  • IR siųstuvas

  • Termometras, šviesos jutiklis ir akumuliatoriaus lygis;

  • Trys šviesos diodai (raudona, žalia ir mėlyna);

  • Programuojama per JS NFC žymą.

  • Kaiščiai gali suvokti prisilietimus pagal talpą (išmaniųjų telefonų jutiklinių ekranų veikimo principas);

  • Svoris 14 g;

  • Plastikinio dėklo dydžiai: skersmuo 36mm, storis - 12,5mm;

  • Lentos matmenys: skersmuo 29mm, storis 9mm.

Darbo demonstravimas:

Kita plokštė yra „Espruino Wi-Fi“, kaip rodo pats pavadinimas, jos ypatybė yra įmontuotas belaidis „Wi-Fi“ modulis.

Espruino belaidis internetas

Jo techninės charakteristikos:

  • Lentos matmenys: 30x23 mm;

  • Plokštėje yra „Micro USB“ jungtis;

  • 21 GPIO: 8 analoginiai įėjimai, 20 PWM, 1 nuoseklusis prievadas, 3 SPI, 3 I2C;

  • Plokštėje yra 3 šviesos diodai, 2 iš jų yra programuojami vartotojo, o 1 rodo „Wi-Fi“ veiklą;

  • Uostai yra suderinami su Arduino įtampa ir palaiko 5 voltų signalą;

  • 1 mygtukas;

  • Pastatytas ant mikrovaldiklio STM32F411CEU6 32 bitų 100MHz ARM Cortex M4 procesoriaus;

  • Atmintis: 512 kb blykstė, 128 kb RAM;

  • „Wi-Fi“ ryšys su ESP8266 (802.11 b / g / n);

  • RTC (realaus laiko laikrodis su išoriniu generatoriumi).

  • Ant plokštės įmontuotas 3,3 V stabilizatorius, kurio srovė yra iki 250 mA, palaikoma maitinimo įtampa nuo 3,5 iki 5 V.

  • Dabartinis miego režimo suvartojimas yra iki 0,05 mA, o tai leidžia 2,5 metų dirbti su 2500mAh baterija (nors tai labiau rinkodara, tačiau pati baterija greičiau išsikrauna).

Espruino belaidis internetas

Lentos demonstracija:


Espruino Pico - „javascript“ mikrovaldiklis USB atmintinės formatu

Mes apsvarstysime tai atskirame skyriuje, nes jis dažniausiai paplitęs Rusijoje ir artimiausiuose užsieniuose, galbūt daug dėka „Amperka“ kompanijos. Plokštė yra patogi mokymui ir įgyvendinamiems projektams įgyvendinti, miniatiūrinė plokštė, kuri programavimui įdedama tiesiai į kompiuterio USB prievadą.

Espruino Pico

Specifikacijos:

  • Matmenys: 33x15 - atsižvelgiant į USB jungtį;

  • 22 GPIO prievadai, iš jų: 9 analoginiai įėjimai, 21 PWM, 2 nuoseklieji (nuoseklieji prievadai), 3 SPI, 3 I2C;

  • GPIO kaiščiai palaiko 5 V signalo lygius, o tai leidžia sujungti plokštę su skydais ir prietaisais, skirtais arduino;

  • A tipo USB jungtis yra plokštės dalis.

  • Du šviesos diodai ir vienas programuojamas mygtukas

  • Pastatytas ant STM32F401CDU6 32 bitų 84MHz ARM Cortex M4 CPU mikrovaldiklio

  • Atmintis: 384 kb blykstė, 96 kb RAM

  • 3,3 V 250 mA įtampos reguliatorius yra išlydytas plokštėje ir leidžia jį maitinti nuo 3,5 iki 16 V.

  • Miego režime jis sunaudoja iki 0,05 mA srovę, o gamintojas teigia, kad 2,5 akumuliatoriaus veikimo laikas yra 2500mAh;

  • Integruotas lauko efekto tranzistorius, skirtas valdyti didelės srovės grandines.

Tai mažiausia lenta eilutėje. Išilgai jo kraštų yra I / O prievadai. Tokiu atveju metalizacijos sluoksnis yra ir ant pačių skylių, ir prie spausdintinės plokštės galo.

Espruino Pico

Kontaktinis žingsnis yra standartinis, tai leidžia jums lituoti prie jo standartines PLS linijas (tai vardas, kurį jie nešioja).

Pls linija

Išsami šios lentos apžvalga:


„Amperka“ internetinė parduotuvė ir jos lentų linija su „Javascript“

Patinka tai ar ne, tačiau didžiausias netradicinio mikrovaldiklių programavimo populiarintojas, ypač „javascript“, yra „Amperka“ svetainė. Jie turi „YouTube“ kanalą, kuriame moko naudotis ir programuoti savo gaminius, taip pat demonstruoja projektų įgyvendinimą, naudodamiesi savo pačių valdiklių lentų linija.

Vidaus gamintojo firminė linija yra ISKRA JS, kurios pavadinime rašomas aptariamos kalbos pavadinimas. Jo techninės charakteristikos:

  • Mikrovaldiklis: STM32F405RG (32 bitų „ARM Cortex M4“);

  • Laikrodžio dažnis: 168 MHz;

  • „Flash“ atmintis: 1024 kB;

  • SRAM: 192 kB;

  • Nustatyta darbinė įtampa: 3,3 V;

  • Rekomenduojama įėjimo įtampa: 7–15 V arba 3,6–12 V;

  • Didžiausia 5 V magistralės srovė: 1000 mA;

  • Maksimali 3,3 V magistralės srovė: 300 mA (įskaitant mikrovaldiklio maitinimą);

  • Didžiausia srovė iš kaiščio ar kaiščio: 25 mA;

  • Didžiausia bendra srovė iš kaiščių ar kaiščių: 240 mA;

  • Bendrosios paskirties I / O prievadai: 26;

  • Uostai su PWM palaikymu: 22;

  • ADC prievadai: 12 (12 bitų);

  • Uostai su DAC: 2 (12 bitų);

  • Galimos aparatinės įrangos sąsajos: 4 × UART / nuoseklioji, 3 × I²C / TWI, 2 × SPI;

  • Matmenys: 69 × 53 mm.

ISKRA JS

Struktūriškai plokštė yra labai arti „Arduino Uno R3“ - tai reiškia, kad jai galite naudoti išplėtimo korteles.Kokius įdomius dalykus matome techninėse specifikacijose? Palyginkime juos su visais savo mėgstamais arduino.

„Iskra JS“ ir „Arduino UNO r3“ palyginimas

Jie skiriasi atmintimi ir galimybėmis, ir kiekvienas ras savo pritaikymą. Nors daugeliu atvejų pirmenybė teikiama arduino, nes jį galima nusipirkti už porą šimtų rublių, o kibirkšties - ne.

„Amperka“ taip pat parduoda mikrovaldiklius ir mikrokompiuteriai, tokie kaip Raspberry Pi, taip pat mokymo rinkinius darbui su jais. Taip pat yra eilutė išplėtimo kortelių, skirtų mikrovaldikliams, tai yra vadinamieji „Troyka“ moduliai. Jie gaminami tokios pat baltos spalvos kaip ir kiti šios įmonės produktai.

Kaip ir visi kiti skydai, „Amperka“ gaminiai yra ant spausdintinių plokščių kaip pagrindinis funkcinis blokas - jutiklis, perjungimo įtaisas, pagrindinis ar pavara ir būtini priedai prie jo. Mes jau apžvelgėme tipinius „Arduino“ modulius - Populiariausi „Arduino“ skydai, čia viskas pagal analogiją. Svetainėje ar „Amperka“ bendruomenėje galite rasti bibliotekų, skirtų naudoti moduliams su „Iskra JS“ ar „Arduino“.

Tarp trijų modulių yra:

  • Vairasvirtė

  • Encoderis

  • Modulis su relė;

  • Uosto išplėtimo kortelės („Troyka-skydas“);

  • Akselerometrai ir kiti padėties jutikliai;

  • Šviesos, artumo, srovės, temperatūros, salės, triukšmo, dujų, alkoholio ir kt. Jutikliai;

  • NFC etikečių skaitymo imtuvai;

  • Variklio valdymo įranga (H tiltai, vairuotojai) ir kita.

Parduodamas yra įdomus rinkinys pradedantiesiems „IODO“.

Atskiras žodis apie vieną elementą konfigūracijoje yra # konstruktorius. Tai dalys, skirtos dėklų surinkimui ir jūsų konstrukcijų laikančiosios dalys, jos yra sujungtos kaip vaiko dizaineris ir leidžia jums padaryti paprastai stabilų išplanavimą su galimybe saugiai nešiotis, taip pat yra raktų sprendimas kasdieniam naudojimui.

Konstruktorius

Beje, galite susidėti savo treniruočių rinkinį, o treniruočių brošiūras iš rinkinio galite rasti oficialioje svetainėje elektronine forma ir laisvai prieinamomis priemonėmis.


Išvada

Norėdami programuoti mikrovaldiklius „javascript“, jums tereikia įdiegti atitinkamą apvalkalą pavyzdyje. Tačiau ne kiekvienas egzempliorius turi atitinkamą programinę-aparatinę įrangą, vis dėlto populiarius įrenginius galite rasti teminiuose forumuose. Pvz., „BBC Micro: bit“ mikrokompiuteryje darbo su aplinka procesas pavaizduotas šiame vaizdo įraše, o diegimas atliekamas tik keliais žingsniais.

Ar reikalingas „javascript“ mikrovaldikliuose? Visiškai taip! Daugelio mėgėjų užduočių atlikimui „pasidaryk pats“ nereikia tikslumo ar greito reagavimo, o daugeliui profesionalių užduočių pakanka tokių platformų galimybių. Toks požiūris į programavimą leidžia pradėti kurti įrenginius praktiškai neištyrus mikrovaldiklio struktūros ir komandų. Tačiau klasikiniame programavimo metode reikėjo atsižvelgti į daugybę dalykų, tokių kaip įvairių tipų kintamieji, atminties adresai ir pan.

Taip pat žiūrėkite tinklalapyje bgv.electricianexp.com:

  • PIC mikrovaldikliai pradedantiesiems
  • AVR mikrovaldiklių tipai ir išdėstymas
  • Kurią Arduino plokštę pasirinkti
  • Kas yra „Nextion“ ekranai ir kaip su jais dirbti?
  • „Arduino“ prijungimas ir programavimas pradedantiesiems

  •