Kategorijas: Mikrokontrolleru shēmas
Skatījumu skaits: 6809
Komentāri par rakstu: 0

Programmējami mikrokontrolleri JavaScript: kuru izvēlēties, funkcijas un iespējas

 

Pēc 2010. gada mūsu valstī radioamatieru hobijs ieguva otru vēju, parādoties iespējai mikrokontrollerus programmēt augsta līmeņa programmēšanas valodās, kas ir tālu no dzelzs. Pirmais masu projekts bija Arduino dēļu ģimene. Mēs esam atkārtoti pārbaudījuši šos mikrokontrollerus rakstos, bet šodien mēs runāsim par mikrokontrolleriem, kas ir ieprogrammēti javascript. Jā! Tā pati valoda, kuru galvenokārt izmantoja, rakstot Web lapas.

Mikrokontrolleris, programmējams javascript

Darbības joma vai vispār šādi mikrokontrolleri ir nepieciešami?

Ja mēs uzskatām no elektronikas viedokļa tajās ierīcēs, kuras mēs apsvērsim turpmāk, tiek izmantoti standarta mikrokontrolleri. Atšķirība no izstrādājumiem no ražotāja ir tikai tā, ka tiem ir iepriekš instalēta iekrāvēja programma, lai arī sauc to par vēlamo, kas ļauj izpildīt jums lejupielādētos programmas kodus un dažos gadījumos sazināties ar datoru, izmantojot USB, ja tas nav ieviests aparatūrā.

Kādi ir javascript mikrokontrolleri un citām netradicionālām valodām? Amatieru un profesionāļu starpā notiek diskusijas specializētajos forumos, kur daži slavē tādus projektus kā "Arduino", bet citi tos pazemo un izsmieklos visos veidos rada izstrādātāja vienkāršību un abstraktumu no vairuma dzelzs problēmu.

Svarīgi: Šajā raksta daļā mēs sakām: “Arduino”, jo lielākajai daļai fanu tas ir kļuvis par sākumpunktu elektronisko ierīču projektēšanā.

Arduīnus var ieprogrammēt C. Bet vai tas ir nepieciešams? Apskatīsim, kāpēc vairumā gadījumu mikrokontrolleru reakcijas ātrums nav vajadzīgs. Arduino darbiniekiem bieži patīk montēt kontrolierus automātiskai apūdeņošanai un apgaismojuma iekļaušanai augu "apgaismošanai". Šāda kombinēta ierīce būs lielisks palīgs tiem, kam patīk kaut ko audzēt dzīvokļos vai siltumnīcās.

Bet kāds vadības ierīces ātrums šeit ir nepieciešams? Pirms 15-20 gadiem neviens šeit to neizmantotu mikrokontrolieris - dizainers amatieris būtu veiksmīgi pārvaldījis pāris operatīvo pastiprinātāju vai loģisko elementu. Bet, ja mēs runājam par apspriesto mikrokontrolleru piemērotību šiem projektiem, tad šeit nav nozīmes, pēc cik milisekundēm ieslēdzas fona apgaismojums vai zeme sāk apūdeņot ūdeni.

Automātiska laistīšanas sistēma

Nākamais populārais projekts ir mājas laika stacija, un izrādās, ka šādiem nolūkiem arduīnu pamata iespējas ir pietiekami, lai lasītu informāciju no sensoriem un parādītu tos rakstzīmju sintezējošā displejā.

Pārvaldības piemēros RGB LED sloksne parastajām vai viedajām gaismas diodēm ar vadību "pa vienam pikselim" (šādas SMART lentes piemērs un tās marķējums, kā redzat attēlā zemāk) arī ir pietiekami daudz resursu.

SMART lente

Bet kur jums ir nepieciešams ātrums un vai tie nav piemēroti tādu vienkāršotu programmēšanas valodu lietošanai kā Scratch vai javascript? Viss ir ļoti vienkārši:

  • Precīzijas ķēdēs;

  • Trauksmes un drošības sistēmās;

  • Augstas precizitātes mērinstrumentos ar nepieciešamību ātri ņemt datus no ADC, ieskaitot parastos osciloskopus;

  • Ierīcēs ar prasību ilgstošam autonomam darbam miega režīmā;

  • Gadījumos, kad jums ir “jāiespiež” pēc iespējas vairāk funkciju un koda mikrokontrollerā, taču tas pēdējā laikā nav kļuvis par ļoti steidzamu uzdevumu saistībā ar vairuma tirgū esošo ierīču izmaksu samazināšanu.

Lielākajā daļā šo uzdevumu klupšanas akmens ir ātrums un atmiņa.Lai iegūtu optimālu rezultātu, šajā gadījumā saprātīgāk ir izmantot pat nevis C / C ++, bet gan montētāju (ASM). Patiešām, ja jūs tiecaties uz šādiem projektiem, tas nozīmē, ka jums ir noteikts zināšanu daudzums, kas nozīmē, ka nav vajadzības.


Secinājums?

Mikrokontrolleri ar vienkāršām valodām ir nepieciešami gadījumos, kad nav stingru prasību, piemēram, ātruma vai mērījumu precizitātes, taču pat dažās situācijās tie nodrošinās precizitāti amatieriem paredzētām nespecializētām ierīcēm.



Espruino - jaudīgs mikrokontrollers un vienkārša javascript valoda

Espruino platforma ir programmatūras un aparatūras komplekts mikrokontrolleru programmēšanai javascript valodā, tas ietver trīs elementus:

1. Mikrokontrollera programmaparatūra ar JS valodas tulku.

2. Espruino Web IDE izstrādes vide.

3. Dēlis ar mikrokontrolleri ar pašu programmaparatūru darbam tieši ar Espruino.

Espruino

Ideju izstrādāja un īstenoja Gordons Viljamss 2013. gadā, un viņš tam piesaistīja līdzekļus, izmantojot kopfinansēšanas platformu (Kickstarter). Faktiski attīstības būtība bija attīstīt Espruino programmaparatūru (motoru), lai to ielādētu mikrokontrolleros. To galvenokārt izmanto STM32 saimes mikrokontrolleros ar ARM-cortex arhitektūru. Ērtākas ierīces darbībai, mēs apsvērsim zemāk.

Espruino mikrokontrollers

Lai rakstītu programmas mikrokontrolleram javascript, jāinstalē Espruino Web IDE. Šī ir populārā Google Chrome interneta pārlūka programma vai paplašinājums, kas tiek instalēts tikai ar vienu klikšķi.

Pēc noklikšķināšanas uz pogas "Instalēt" izvēlnē "pakalpojumi" parādīsies lietojumprogramma, un jūs varat iekļūt šajā izvēlnē, ierakstot adreses joslā: chrome: // apps /

Noklikšķinot uz ikonas ar kafijas tasi, tiek atvērta izstrādes vide, kas ir ievērojama nevis pārlūkprogrammā, bet gan atsevišķā logā.

Šī vide ir interesanta gan bērniem, gan iesācējiem, jo ​​kodu var ievadīt manuāli vai izmantot grafisko redaktoru, pamatojoties uz Scratch programmēšanas valodu. Lai to izdarītu, noklikšķiniet uz ikonas, uz kuru norāda bultiņa.

Espruino tīmekļa IDE

Pēc tam ekrāna labā puse ar kodu mainīsies uz citu attēlojumu:

Grafiskais redaktors

Interfeiss ir intuitīvs, centrālajā panelī no augšas uz leju: atveriet jaunu failu, saglabājiet skici, ielādējiet to mikrokontrollerā.


Secinājums

Espruino plāksnes un tamlīdzīgas lietas ir iespiedshēmas plates ar nepieciešamajiem pielikumiem un mikrokontrolleru ar javascript tulku, kas apstrādā kodu un tulko komandas komandas to un nulles valodā tieši izpildlaikā. Kaut arī klasiskajā formā, programma mikrokontrolleriem tiek ielādēta pēdējās jau mašīnu koda veidā.

Šī pieeja dod sniegumu daudzos uzdevumos, piemēram, Arduino.


Pārskats par oficiālo Espruino līniju

Oriģināls Espruino

Šīs ierīces specifikācijas:

  • 54x41 mm (puse kredītkartes);

  • STM32F103RCT6 32 bitu 72MHz ARM Cortex M3 centrālais procesors

  • 256 KB Flash, 48 KB RAM;

  • Mikro USB ports

  • Ieejas sprieguma diapazons no 3,6 līdz 15 V;

  • Akumulatora savienotājs (JST PHR-2 2 pin);

  • Iebūvēts SD kartes slots;

  • Trīs gaismas diodes (sarkanā, zaļā un zilā);

  • Platformas Bluetooth moduļa HC-05 uzstādīšanai;

  • Attālums starp mīnām - 0,1 "(2,54 mm);

  • 44 GPIO tapas, no tām 26 PWM (PWM), 16 ADC (ADC), 3 USART, 2 SPI, 2 I2C un 2 DAC (DAC);

  • Dēļa platību var izmantot, lai savienotu vairākas ierīces, piemēram, Wi-Fi moduļus, servos, kuras var paplašināt līdz 14 izejām ar strāvu līdz 500 mA.

Espruino mikrokontrolleru dēlis

Dēļa izskats un tās mezglu nosacīts sadalījums zonās

Daudziem tāfele var šķist nepievilcīga un nepilnīga, taču šī bija tikai pirmā iespēja, pēc tam viņi izskatās pazīstamāki un progresīvāki. Puck.JS ir miniatūra tāfeles gadījumā, tajā ir iebūvēts Bluetooth un infrasarkanais raidītājs.

Puck.js

Saskaņā ar informāciju no oficiālās vietnes, tā tehniskās specifikācijas un funkcijas ir šādas:

  • Bluetooth zema enerģija;

  • Iepriekš instalēts Espruino javascript tulks;

  • Plātnes sirds ir nRF52832 SoC - 64MHz ARM Cortex M4, 64kB RAM, 512kB Flash;

  • 8 x 0,1 "GPIO porti (ieskaitot PWM (PWM), SPI, I2C, UART, analogo ieeju);

  • 9 x SMD GPIO porti (ieskaitot PWM, SPI, I2C, UART);

  • Korpusa paplāksne no ABS plastmasas;

  • Silikona pārsegs ar atslēgu;

  • MAG3110 Magnetometrs - trīs asu magnētiskā lauka mērītājs;

  • IR raidītājs

  • Termometrs, gaismas sensors un akumulatora līmenis;

  • Trīs gaismas diodes (sarkanā, zaļā un zilā);

  • Programmējams, izmantojot JS NFC tagu.

  • Tapas var uztvert pieskārienu pēc ietilpības (viedtālruņu skārienekrānu darbības princips);

  • Svars 14 g;

  • Plastmasas korpusa izmēri: diametrs 36mm, biezums - 12,5mm;

  • Plātnes izmēri: diametrs 29mm, biezums 9mm.

Darba demonstrēšana:

Nākamais dēlis ir Espruino Wi-Fi, kā norāda nosaukums, tā funkcija ir iebūvēts bezvadu modulis Wi-Fi.

Espruino Wi-Fi

Tās tehniskie parametri:

  • Dēļa izmēri: 30x23 mm;

  • Plātnei ir Micro USB savienotājs;

  • 21 GPIO: 8 analogās ieejas, 20 PWM, 1 seriālais ports, 3 SPI, 3 I2C;

  • Plātnei ir 3 gaismas diodes, 2 no tām ir lietotāja programmējamas, un 1 parāda Wi-Fi darbību;

  • Porti ir saderīgi ar Arduino sprieguma ziņā un atbalsta 5 voltu signālu;

  • 1 poga;

  • Veidots uz mikrokontrollera STM32F411CEU6 32 bitu 100MHz ARM Cortex M4 CPU;

  • Atmiņa: 512 kb zibspuldze, 128 kb RAM;

  • Wi-Fi komunikācija ar ESP8266 (802.11 b / g / n);

  • RTC (reālā laika pulkstenis ar ārēju ģeneratoru).

  • Uz tāfeles ir uzstādīts 3,3 V stabilizators ar strāvu līdz 250 mA, tiek atbalstīts barošanas spriegums no 3,5 līdz 5 V.

  • Pašreizējais patēriņš miega režīmā ir līdz 0,05 mA, kas ļauj 2,5 gadus strādāt ar 2500mAh akumulatoru (lai gan tas ir vairāk mārketinga, bet pats akumulators, visticamāk, izlādējas ātrāk).

Espruino Wi-Fi

Galda demonstrācija:


Espruino Pico - mikrokontrolleris javascript USB nūjas formātā

Mēs to apsvērsim atsevišķā sadaļā, jo tas ir visizplatītākais Krievijā un tuvākajā ārzemēs, iespējams, daudz pateicoties Amperka uzņēmumam. Dēlis ir ērts gatavo projektu apmācībai un ieviešanai, miniatūra tāfele, kas programmēšanai tiek ievietota tieši datora USB portā.

Espruino Pico

Specifikācijas:

  • Izmēri: 33x15 - ņemot vērā USB spraudni;

  • 22 GPIO porti, tai skaitā: 9 analogās ieejas, 21 PWM, 2 seriālie (seriālie porti), 3 SPI, 3 I2C;

  • GPIO piespraudes atbalsta 5 V signāla līmeņus, kas ļauj apvienot plati ar vairogiem un ierīcēm arduino;

  • A tipa USB spraudnis ir tāfeles daļa.

  • Divas gaismas diodes un viena programmējama poga

  • Veidots uz STM32F401CDU6 32 bitu 84MHz ARM Cortex M4 CPU mikrokontrollera

  • Atmiņa: 384 kb zibspuldze, 96 kb RAM

  • Plātnē ir pielodēts 3,3 V 250mA sprieguma regulators, kas ļauj to darbināt no 3,5 līdz 16 V.

  • Miega režīmā tas patērē strāvu līdz 0,05 mA, un ražotājs šeit apgalvo, ka 2,5 gadi darbojas no 1 akumulatora pie 2500mAh;

  • Iebūvēts lauka efekta tranzistors augstas strāvas ķēžu vadībai.

Šī ir mazākā dēļa rindā. Pa malām ir I / O porti. Šajā gadījumā metalizācijas slānis atrodas gan uz pašiem caurumiem, gan gar iespiedshēmas plates galu.

Espruino Pico

Kontakta piķis ir standarta, tas ļauj jums pielodēt standarta PLS līnijas (tas ir nosaukums, ko tās nes).

Pls līnija

Detalizēts šīs padomes pārskats:


Interneta veikals Amperka un tā dēļu līnija ar Javascript

Patīk vai nē, bet lielākais mikrokontrolleru netradicionālās programmēšanas popularizētājs, it īpaši javascript, ir vietne Amperka. Viņiem ir YouTube kanāls, kur viņi māca, kā lietot un programmēt savus produktus, kā arī parāda projektu īstenošanu, izmantojot pašu izveidoto mikrokontrolleru dēļu līniju.

Vietējā ražotāja firmas līnija ir ISKRA JS, kuras nosaukums skan apspriežamās valodas nosaukums. Tās tehniskie parametri:

  • Mikrokontrolieris: STM32F405RG (32 bitu ARM Cortex M4);

  • Pulksteņa frekvence: 168 MHz;

  • Zibatmiņa: 1024 kB;

  • SRAM: 192 kB;

  • Nominālais darba spriegums: 3.3V;

  • Ieteicamais ieejas spriegums: 7–15 V vai 3,6–12 V;

  • Maksimālā strāva no 5 V kopnes: 1000 mA;

  • Maksimālā strāva no 3,3 V kopnes: 300 mA (ieskaitot mikrokontrolleru barošanas avotu);

  • Maksimālā strāva no tapas vai tapa: 25 mA;

  • Maksimālā kopējā strāva no tapām vai tapām: 240 mA;

  • Universāla I / O porti: 26;

  • Ostas ar PWM atbalstu: 22;

  • ADC porti: 12 (12 bitu);

  • Porti ar DAC: 2 (12 bitu);

  • Pieejamās aparatūras saskarnes: 4 × UART / Serial, 3 × I²C / TWI, 2 × SPI;

  • Izmēri: 69 × 53 mm.

ISKRA JS

Strukturāli tāfele ir ļoti tuvu Arduino Uno R3 - tas nozīmē, ka tam varat izmantot paplašināšanas kartes.Kādas interesantas lietas mēs redzam tehniskajās specifikācijās? Salīdzināsim tos ar visiem jūsu iecienītākajiem arduino.

Iskra JS un Arduino UNO r3 salīdzinājums

Tie ir atšķirīgi atmiņas un iespēju ziņā, un katrs atradīs savu pielietojumu. Lai gan vairumā gadījumu vēlams ir arduino, jo to var iegādāties par pāris simtiem rubļu, un dzirksteles - nē.

Amperka pārdod arī mikrokontrollerus un mikrodatoriem, piemēram, Raspberry Pi, kā arī apmācības komplekti darbam ar viņiem. Mikrokontrolleriem ir arī paplašināšanas karšu līnija, tie ir tā sauktie Troyka moduļi. Tie ir izgatavoti tādā pašā baltā krāsā kā pārējie šī uzņēmuma produkti.

Tāpat kā jebkuros citos vairogos, Amperka izstrādājumos kā galvenā funkcionālā vienība ir iespiestas shēmas plates - sensors, komutācijas ierīce, galvenais vai izpildmehānisms un nepieciešamie stiprinājumi pie tā. Mēs jau esam veikuši aptuvenu Arduino raksturīgo moduļu pārskatu - Populārākie Arduino vairogi, šeit viss notiek pēc analoģijas. Tīmekļa vietnē vai Amperka kopienā varat atrast bibliotēkas, kuras var izmantot moduļiem ar Iskra JS vai Arduino.

Starp trim moduļiem ir:

  • Kursorsvira

  • Kodētājs

  • Modulis ar releju;

  • Ostu paplašināšanas kartes (Troyka vairogs);

  • Akselerometri un citi stāvokļa sensori;

  • Gaismas, tuvuma, strāvas, temperatūras, zāles, trokšņa, gāzes, alkohola un citu lietu sensori;

  • Uztvērēji NFC tagu lasīšanai;

  • Iekārtas motora vadībai (H tilti, vadītāji) un vairāk.

Pārdošanā ir interesants komplekts iesācējiem "IODO".

Atsevišķs vārds par vienu konfigurācijas vienību ir # konstruktors. Tās ir korpusa montāžas un jūsu konstrukciju nesošās daļas, tās ir savienotas kā bērna dizaineris un ļauj jums izveidot normāli stabilu izkārtojumu ar iespēju droši nēsāt, kā arī gatavu risinājumu ikdienas lietošanai.

Konstruktors

Starp citu, jūs varat salikt savu apmācības komplektu, un apmācības buklets no komplekta ir pieejams oficiālajā tīmekļa vietnē elektroniskā formā un brīvi pieejams.


Secinājums

Lai mikrokontrollerus ieprogrammētu javascript, jums paraugā vienkārši jāinstalē atbilstošais apvalks. Tomēr ne katram eksemplāram ir atbilstoša programmaparatūra, tomēr populārām ierīcēm var atrast tematiskos forumos. Piemēram, BBC Micro: bit mikrodatorā darba ar vidi process ir attēlots šajā video, un instalēšana tiek veikta tikai dažās darbībās.

Vai mikrokontrolleros ir nepieciešams javascript? Pilnīgi jā! Lielākajai daļai amatieru uzdevumu do-it-yourselfers nav nepieciešama precizitāte vai reakcijas ātrums, un daudziem profesionāliem uzdevumiem šādu platformu iespējas ir pietiekamas. Šāda pieeja programmēšanai ļauj sākt attīstīt ierīces, praktiski neveicot mikrokontrollera struktūras un komandu izpēti. Bet klasiskajā programmēšanas metodē bija jāņem vērā vairākas lietas, piemēram, dažāda veida mainīgie, atmiņas adreses utt.

Skatīt arī vietnē i.electricianexp.com:

  • PIC mikrokontrolleri iesācējiem
  • AVR mikrokontrolleru veidi un izvietojums
  • Kuru Arduino dēli izvēlēties
  • Kas ir Nextion displeji un kā ar tiem strādāt?
  • Arduino savienošana un programmēšana iesācējiem

  •