luokat: Mikrokontrolleripiirit
Katselukertoja: 6809
Kommentit artikkeliin: 0

Ohjelmoitavat mikrokontrollerit JavaScriptillä: kumpi valita, ominaisuudet ja ominaisuudet

 

Maassamme, noin vuoden 2010 jälkeen, radio-harrastajien harrastus sai toisen tuulen, kun kyky ohjelmoida mikro-ohjaimet korkean tason ohjelmointikielellä olivat kaukana raudasta. Ensimmäinen joukkohanke oli Arduino hallituksen perhe. Olemme tutkineet toistuvasti näitä mikrokontrollereita artikkeleissa, mutta tänään puhumme mikrokontrollereista, jotka on ohjelmoitu javascriptiin. Kyllä! Sama kieli, jota käytettiin pääasiassa WEB-sivuja kirjoitettaessa.

Mikrokontrolleri, ohjelmoitavissa javascriptinä

Soveltamisala vai tarvitaanko tällaisia ​​mikro-ohjaimia?

Jos tarkastelemme elektroniikan näkökulmasta niissä laitteissa, joita tarkastelemme jäljempänä, käytetään tavallisia mikro-ohjaimia. Ero valmistajan tuotteisiin nähden on vain se, että niissä on esiasennettu latausohjelma, vaikka kutsutaan sitä haluamaasi, jonka avulla voit suorittaa sinulle ladatun ohjelmakoodin ja kommunikoida joissakin tapauksissa tietokoneen kanssa USB: n kautta, jos sitä ei ole asennettu laitteistoon.

Mitä ovat javascriptin mikrokontrollerit ja muita kuin perinteisiä kieliä varten? Amatöörien ja ammattilaisten keskuudessa käydään keskusteluja elektroniikan kehittämisestä erikoistuneilla foorumeilla, joissa jotkut ylistävät "Arduinon" kaltaisia ​​projekteja, kun taas toiset nöyryytävät ja pilkkaavat niitä kaikin mahdollisin tavoin kehittäjän yksinkertaisuuden ja abstraktisuuden vuoksi useimmista rauta-asioista.

Tärkeää: Tässä artikkelin osassa sanomme: “Arduino”, koska siitä on tullut lähtökohta useimmille elektronisten laitteiden ystäville.

Arduiinit voidaan ohjelmoida C. Mutta onko tämä välttämätöntä? Katsotaanpa, miksi useimmissa tapauksissa mikrokontrollerien reaktionopeutta ei tarvita. Arduinon työntekijät haluavat usein koota säätimiä automaattista kastelua varten ja valaistuksen sisällyttämiseksi kasvien "valaistamiseen". Tällainen yhdistetty laite on erinomainen apu niille, jotka haluavat kasvattaa jotain asunnoissa tai kasvihuoneissa.

Mutta mitä säätölaitteen nopeutta täällä tarvitaan? 15-20 vuotta sitten kukaan ei käyttäisi sitä täällä mikro - amatööri-suunnittelija olisi onnistunut hallitsemaan pari operaatiovahvistimia tai logiikkaelementtejä. Mutta jos puhumme keskusteltujen mikrokontrollerien soveltuvuudesta näihin projekteihin, niin tässä on täysin välinpitämätöntä sen jälkeen, kuinka monta millisekuntia taustavalo syttyy tai maa alkaa kastella vettä.

Automaattinen kastelujärjestelmä

Seuraava suosittu projekti on kotisääasema, ja osoittautuu, että arduiinien perusominaisuudet ovat sellaisia ​​tarkoituksia varten riittäviä lukemaan tietoja antureista ja näyttämään ne merkkiä syntetisoivalla näytöllä.

Hallinnollisissa esimerkeissä RGB-LED-nauha tavallisilla tai älykkäillä LEDillä, joissa on "pixel by pixel" -ohjaus (esimerkki tällaisesta SMART-nauhasta ja sen merkinnöistä, jotka näet alla olevassa kuvassa), on myös tarpeeksi resursseja.

SMART-nauha

Mutta missä tarvitset nopeutta eivätkä sovellu yksinkertaistettujen ohjelmointikielten, kuten Scratch tai javascript, käyttämiseen? Kaikki on hyvin yksinkertaista:

  • Tarkkuuspiireissä;

  • Hälytys- ja turvajärjestelmissä;

  • Erittäin tarkkoissa mittauslaitteissa, joissa on tarpeen ottaa nopeasti tietoja ADC: stä, mukaan lukien normaalit oskilloskoopit;

  • Laitteissa, joissa vaaditaan pitkäaikaista itsenäistä työskentelyä lepotilassa;

  • Tapauksissa, joissa sinun on "työnnettävä" mahdollisimman monta toimintoa ja koodi mikrokontrolleriin, mutta tästä ei ole viime aikoina tullut kovin kiireellistä tehtävää, joka johtuu useimpien markkinoilla olevien laitteiden kustannusten alenemisesta.

Suurimmassa osassa näitä tehtäviä kompastuskivi on nopeus ja muisti.Optimaalisten tulosten saavuttamiseksi tässä tapauksessa on järkevämpää käyttää edes C / C ++: ta, vaan Assembleria (ASM). Todellakin, jos olet tähtäävä tällaisiin hankkeisiin, se tarkoittaa, että sinulla on tietty määrä tietoa, mikä tarkoittaa, että sitä ei tarvita.


Johtopäätös?

Mikrokontrollereita, joilla on yksinkertaiset kielet, tarvitaan silloin, kun nopeudelle tai mittaustarkkuudelle ei ole asetettu tiukkoja vaatimuksia, mutta jopa joissain tilanteissa ne tarjoavat tarkkuuden amatööreille tarkoitettuihin erikoistumattomiin laitteisiin.



Espruino - tehokas mikrokontrolleri ja yksinkertainen javascript-kieli

Espruino-alusta on ohjelmisto- ja laitteistopaketti mikro-ohjaimien ohjelmointiin javascript-kielellä, ja se sisältää kolme osaa:

1. Laiteohjelmisto mikro-ohjaimelle, jolla on JS-kielitulkki.

2. Kehitysympäristö Espruino Web IDE: lle.

3. Taulu, jossa mikrokontrolleri ja itse laiteohjelmisto työskentelemään suoraan Espruinon kanssa.

Espruino

Gordon Williams kehitti ja toteutti idean vuonna 2013, ja hän keräsi siihen varoja joukkorahoitusalustalla (Kickstarter). Itse asiassa kehityksen ydin oli kehittää Espruino-ohjelmisto (moottori) sen lataamiseksi mikro-ohjaimiin. Sitä käytetään pääasiassa STM32-perheen mikrokontrollereissa, ARM-cortex-arkkitehtuurilla. Kätevämpiä laitteita käytettäväksi, harkitsemme alla.

Espruino-mikrokontrolleri

Jos haluat kirjoittaa mikrokontrolleriohjelmia javascript-ohjelmalla, sinun on asennettava Espruino Web IDE. Tämä on suositun Google Chrome -selaimen ohjelma tai laajennus, joka asennetaan yhdellä napsautuksella.

Kun olet napsauttanut "asenna" -painiketta "palvelut" -valikossa, sovellus tulee näkyviin ja pääset tähän valikkoon kirjoittamalla osoiteriville: chrome: // apps /

Kun napsautat kuvaketta kahvikupilla, kehitysympäristö aukeaa, mikä ei ole merkittävä selaimessa, vaan erillisessä ikkunassa.

Tämä ympäristö on mielenkiintoinen sekä lapsille että aloittelijoille, koska voit kirjoittaa koodin manuaalisesti tai käyttää graafista editoria Scratch-ohjelmointikielen perusteella. Napsauta sitä kuvaketta, johon nuoli osoittaa.

Espruino Web IDE

Sen jälkeen näytön oikea puoli, joka koodilla, muuttuu toiseksi esitykseksi:

Graafinen toimittaja

Käyttöliittymä on intuitiivinen, keskuspaneelissa ylhäältä alas: avaa uusi tiedosto, tallenna luonnos ja lataa se mikro-ohjaimeen.


johtopäätös

Espruino-levyt ja vastaavat ovat painettuja piirilevyjä, joissa on tarvittavat liitteet, ja mikrokontrolleri, jossa on javascript-tulkki, joka käsittelee koodin ja kääntää komennot komentojen ja nollaten kielelle suoraan suorituksen aikana. Klassisessa muodossa mikrokontrollerien ohjelma ladataan viimeksi mainittuihin jo konekoodin muodossa.

Tämä lähestymistapa antaa suorituskyvyn monissa tehtävissä, kuten Arduino.


Espruino-virallisen linjan katsaus

Alkuperäinen Espruino

Tämän laitteen tekniset tiedot:

  • 54x41 mm (puoli luottokorttia);

  • STM32F103RCT6 32-bittinen 72MHz ARM Cortex M3 -suoritin

  • 256 kt Flash, 48 kt RAM;

  • Mikro-USB-portti

  • Tulojännite vaihtelee 3,6 - 15 V;

  • Akun liitin (JST PHR-2 2-nastainen);

  • Sisäänrakennettu SD-korttipaikka;

  • Kolme LEDiä (punainen vihreä ja sininen);

  • Alustat HC-05 Bluetooth-moduulin asentamiseen;

  • Kaivoksen välinen etäisyys - 0,1 "(2,54 mm);

  • 44 GPIO-nastaa, joista 26 PWM (PWM), 16 ADC (ADC), 3 USART, 2 SPI, 2 I2C ja 2 DAC (DAC);

  • Taulun aluetta voidaan käyttää useiden laitteiden, kuten Wi-Fi-moduulien, servojen, kytkemiseen, jotka voidaan laajentaa 14 ulostuloon jopa 500 mA virralla.

Espruino-mikrokontrollerilauta

Taulun ulkonäkö ja sen solmujen ehdollinen jakaminen vyöhykkeiksi

Monille taulu saattaa tuntua houkuttelemattomalta ja epätäydelliseltä, mutta tämä oli vasta sen ensimmäinen vaihtoehto, sitten ne näyttävät tutummilta ja edistyneemmiltä. Puck.JS on pienoiskoossa oleva kotelo, siinä on Bluetooth ja infrapuna-lähetin.

Puck.JS

Viralliselta sivustolta saatujen tietojen mukaan sen tekniset tiedot ja ominaisuudet ovat seuraavat:

  • Vähän energiaa kuluttava Bluetooth;

  • Esiasennettu Espruino javascript -tulkki;

  • Taulun sydän on nRF52832 SoC - 64MHz ARM Cortex M4, 64 kt RAM, 512 kt flash;

  • 8 x 0,1 "GPIO-portit (mukaan lukien PWM (PWM), SPI, I2C, UART, analogiatulo);

  • 9 x SMD GPIO -portit (mukaan lukien PWM, SPI, I2C, UART);

  • Kotelon aluslevy on valmistettu ABS-muovista;

  • Silikoni kansi avaimella;

  • MAG3110 Magnetometri - kolmiakselinen magneettikentän mittari;

  • IR-lähetin

  • Lämpömittari, valoanturi ja akun varaustaso;

  • Kolme LEDiä (punainen, vihreä ja sininen);

  • Ohjelmoitavissa JS NFC -tagin kautta.

  • Tapit voivat havaita kosketuskapasiteetin (älypuhelimien kosketusnäyttöjen toimintaperiaate);

  • Paino 14 g;

  • Muovikotelon koot: halkaisija 36mm, paksuus - 12,5mm;

  • Levyn mitat: halkaisija 29mm, paksuus 9mm.

Työn esittely:

Seuraava kortti on Espruino Wi-Fi, kuten nimestä voi päätellä, sen ominaisuus on sisäänrakennettu langaton moduuli Wi-Fi: lle.

Espruino Wi-Fi

Sen tekniset ominaisuudet:

  • Levyn mitat: 30x23 mm;

  • Taulussa on Micro USB-liitin;

  • 21 GPIO: 8 analogista tuloa, 20 PWM, 1 sarjaportti, 3 SPI, 3 I2C;

  • Taulussa on 3 LEDiä, joista kaksi on käyttäjän ohjelmoitavissa, ja 1 näyttää Wi-Fi-toiminnan;

  • Portit ovat jännitteen kannalta yhteensopivia Arduinon kanssa ja tukevat 5 voltin signaalia;

  • 1 painike;

  • Rakennettu mikrokontrollerille STM32F411CEU6 32-bittinen 100MHz ARM Cortex M4 CPU;

  • Muisti: 512 kb flash, 128 kb RAM;

  • Wi-Fi-tiedonsiirto ESP8266: n kanssa (802.11 b / g / n);

  • RTC (reaaliaikakello ulkoisella generaattorilla).

  • Tauluun on asennettu 3,3 V: n stabilisaattori, jonka virta on enintään 250 mA, syöttöjännite on 3,5 - 5 V.

  • Nykyinen kulutus lepotilassa on jopa 0,05 mA, mikä antaa sinun työskennellä 2,5 vuotta 2500mAh: n akulla (vaikka tämä on enemmän markkinointia, mutta itse akku tyhjenee todennäköisemmin nopeammin).

Espruino Wi-Fi

Hallituksen esittely:


Espruino Pico - javascriptin mikrokontrolleri USB-tikumuodossa

Tarkastelemme sitä erillisessä osassa, koska se on yleisintä Venäjällä ja lähialueilla, ehkä paljon Amperka-yrityksen ansiosta. Taulu on kätevä koulutus- ja toteutettujen projektien toteuttamiseen, miniatyyrilevy, joka asetetaan suoraan tietokoneen USB-porttiin ohjelmointia varten.

Espruino Pico

Tekniset tiedot:

  • Mitat: 33x15 - ottaen huomioon USB-pistoke;

  • 22 GPIO-porttia, mukaan lukien: 9 analogista tuloa, 21 PWM, 2 sarja (sarjaportit), 3 SPI, 3 I2C;

  • GPIO-nastat tukevat 5 V: n signaalitasoja, joiden avulla voit yhdistää kortin kilpeihin ja arduino-laitteisiin;

  • Tyypin A USB-liitäntä on osa korttia.

  • Kaksi LEDiä ja yksi ohjelmoitava painike

  • Rakennettu STM32F401CDU6 32-bittiselle 84MHz ARM Cortex M4 CPU-mikro-ohjaimelle

  • Muisti: 384 kb flash, 96 kb RAM

  • Taululle on juotettu 3,3 V: n 250 mA: n jännitesäädin, jonka ansiosta sen jännite voi olla 3,5-16 V.

  • Lepotilassa se kuluttaa virtaa jopa 0,05 mA, ja valmistaja väittää tässä olevan 2,5 vuoden toiminnan 1 akusta 2500mAh: lla;

  • Sisäänrakennettu kenttäteho-transistori korkeavirtapiirien ohjaamiseen.

Tämä on linjan pienin levy. Sen reunoja ovat I / O-portit. Tässä tapauksessa metallointikerros on läsnä sekä itse reikissä että painetun piirilevyn päässä.

Espruino Pico

Kosketusväli on vakio, tämän avulla voit juottaa siihen tavallisia PLS-linjoja (tämä on nimi, jota he kantavat).

Pls linja

Yksityiskohtainen katsaus hallitukseen:


Amperka-verkkokauppa ja sen taululinja Javascriptin avulla

Pidän siitä vai ei, mutta suurin suosikki mikrokontrollerien ei-perinteisestä ohjelmoinnista, etenkin javascriptissa, on Amperka-sivusto. Heillä on kanava YouTubessa, jossa he opettavat käyttämään ja ohjelmoimaan tuotteitaan, ja osoittavat myös projektien toteuttamisen käyttämällä omia mikrokontrollerien taululinjoja.

Kotimaisen valmistajan tuotemerkki on ISKRA JS, jonka nimi lukee keskusteltavan kielen nimen. Sen tekniset ominaisuudet:

  • Mikrokontrolleri: STM32F405RG (32-bittinen ARM Cortex M4);

  • Kellotaajuus: 168 MHz;

  • Flash-muisti: 1024 kB;

  • SRAM: 192 kB;

  • Nimellinen käyttöjännite: 3,3 V;

  • Suositeltava tulojännite: 7–15 V tai 3,6–12 V;

  • Suurin virta 5 V-väylältä: 1000 mA;

  • Suurin virta 3.3V-väylältä: 300 mA (mukaan lukien mikro-ohjaimen virtalähde);

  • Suurin virta tapista tai tapista: 25 mA;

  • Tappien tai tappien suurin kokonaisvirta: 240 mA;

  • Yleiskäyttöiset I / O-portit: 26;

  • Portit, joissa PWM-tuki: 22;

  • ADC-portit: 12 (12 bittiä);

  • Portit DAC: llä: 2 (12 bittiä);

  • Käytettävissä olevat laitteistorajapinnat: 4 × UART / sarja, 3 × I²C / TWI, 2 × SPI;

  • Mitat: 69 × 53 mm.

ISKRA JS

Rakenteellisesti levy on hyvin lähellä Arduino Uno R3: ta - tämä tarkoittaa, että voit käyttää siihen laajennuskortteja.Mitä mielenkiintoisia asioita näemme teknisissä eritelmissä? Vertaamme niitä kaikkiin suosikki arduino-tuotteisiisi.

Iskra JS: n ja Arduino UNO r3: n vertailu

Ne ovat erilaisia ​​muistin ja ominaisuuksien suhteen, ja jokainen löytää sovelluksen. Vaikka arduino on useimmissa tapauksissa suositeltavampi, koska sitä voi ostaa parisataa ruplaa, mutta kipinä ei ole.

Amperka myy myös mikrokontrollereita ja mikrotietokoneet, kuten Raspberry Pi, samoin kuin koulutussarjoja heidän kanssaan työskentelemiseksi. Mikrokontrollereille on myös rivi laajennuskortteja, nämä ovat ns Troyka-moduuleja. Ne on valmistettu samassa valkoisessa värissä kuin muutkin tämän yrityksen tuotteet.

Kuten kaikki muutkin suojukset, Amperkan tuotteet sisältävät painetut piirilevyt päätoimintoyksikkönä - anturin, kytkentälaitteen, isäntä- tai toimilaitteen ja tarvittavat lisälaitteet siihen. Olemme jo tehneet karkean arvion Arduinolle tyypillisistä moduuleista - Arduinon suosituimmat kilvet, tässä kaikki on analogisesti. Verkkosivustolta tai Amperka-yhteisöstä löydät kirjastoja käytettäväksi moduulien kanssa Iskra JS: n tai Arduinon kanssa.

Kolmen moduulin joukossa on:

  • joystick;

  • kooderi;

  • Releellä varustettu moduuli;

  • Portin laajennuskortit (Troyka-kilpi);

  • Kiihtyvyysmittarit ja muut sijainti-anturit;

  • Valon, läheisyyden, virran, lämpötilan, salin, melun, kaasun, alkoholin ja muiden asioiden anturit;

  • Vastaanottimet NFC-tunnisteiden lukemiseen;

  • Laitteet moottorin hallintaan (H-sillat, kuljettajat) ja enemmän.

Myynnissä on mielenkiintoinen pakkaus aloittelijoille "IODO".

Erillinen sana konfiguraation yhdestä kohdasta on # rakentaja. Nämä ovat koteloiden kokoonpanon osia ja rakenteidesi kantavia osia, ne on kytketty kuten lasten suunnittelija ja ne tekevät normaalisti vakaasta ulkoasusta, jolla on mahdollisuus kuljettaa turvallisesti, ja avaimet käteen -ratkaisu jokapäiväiseen käyttöön.

Struktor

Muuten, voit koota harjoittelupakkauksesi, ja sarjan harjoitteluvihko on saatavana virallisella verkkosivustolla sähköisessä muodossa ja vapaasti saatavana.


johtopäätös

Ohjelmoidaksesi mikrokontrollerit javascriptiin, sinun on vain asennettava sopiva kuori näytteeseen. Kaikissa kopioissa ei kuitenkaan ole vastaavaa laiteohjelmistoa, suosituille laitteille löytyy kuitenkin aihekohtaisista foorumeista. Esimerkiksi BBC Micro: bit -mikrotietokoneessa ympäristön kanssa työskentely tapahtuu seuraavassa videossa ja asennus suoritetaan vain muutamassa vaiheessa.

Tarvitaanko javascriptiä mikro-ohjaimissa? Ehdottomasti kyllä! Useimmissa amatööritehtävissä do-it-yourselfers ei tarvitse tarkkuutta tai vastausnopeutta, ja useiden ammatillisten tehtävien suorittamiseen tällaisten alustojen ominaisuudet ovat riittävät. Tällainen lähestymistapa ohjelmointiin mahdollistaa laitteiden kehittämisen aloittamisen käytännössä ilman, että tutkitaan mikrokontrollerin rakennetta ja komentoja. Mutta klassisessa ohjelmointimenetelmässä oli tarpeen ottaa huomioon useita asioita, kuten erityyppiset muuttujat, muistiosoitteet ja niin edelleen.

Katso myös osoitteesta i.electricianexp.com:

  • PIC-mikro-ohjaimet aloittelijoille
  • AVR-mikrokontrollerien tyypit ja järjestely
  • Mikä Arduino-levy valitaan
  • Mitä Nextion-näytöt ovat ja kuinka niiden kanssa työskennellä?
  • Arduinon kytkeminen ja ohjelmointi aloittelijoille

  •