Mga kategorya: Mga circuit ng Microcontroller
Bilang ng mga tanawin: 6809
Mga puna sa artikulo: 0
Mga Programmable microcontroller sa JavaScript: kung alin ang pipiliin, mga tampok at kakayahan
Matapos ang 2010, sa ating bansa, ang amateur radio hobby ay nakakuha ng pangalawang hangin na may pagdating ng kakayahang magprograma ng mga microcontroller sa mga wikang high-level na programming, na napalayo sa bakal. Ang unang proyekto ng masa ay Arduino Board Family. Paulit-ulit nating sinuri ang mga microcontroller na ito sa mga artikulo, ngunit ngayon ay pag-uusapan natin ang tungkol sa mga microcontroller na na-program sa javascript. Oo! Ang parehong parehong wika na ginagamit pangunahin sa pagsulat ng WEB-mga pahina.

Saklaw o kailangan ba ng mga naturang microcontroller?
Kung isasaalang-alang natin mula sa punto ng view ng mga electronics sa mga aparato na isasaalang-alang namin sa ibaba, ginagamit ang mga karaniwang mga microcontroller. Ang pagkakaiba sa mga produkto mula sa tagagawa ay mayroon lamang silang isang preinstall na programa ng loader, bagaman tawagan ito kung ano ang gusto mo, na nagbibigay-daan sa iyo upang maisagawa ang code ng programa na na-download sa iyo, at sa ilang mga kaso makipag-usap sa computer sa pamamagitan ng USB, kung hindi ito ipinatupad sa hardware.
Ano ang mga microcontroller para sa javascript para sa at iba pang di-tradisyonal na wika? Mayroong mga debate sa mga amateurs at mga propesyonal sa pagbuo ng mga electronics sa mga dalubhasang forum, kung saan ang ilang mga papuri na proyekto tulad ng "Arduino", habang ang iba ay nakakahiya at kinutya ang mga ito sa bawat posibleng paraan para sa pagiging simple at abstractness ng developer mula sa karamihan ng mga isyu na may bakal.
Mahalaga: Sa bahaging ito ng artikulong sinasabi namin: "Arduino", dahil ito ay naging panimulang punto para sa karamihan sa mga mahilig sa mga elektronikong aparato.
Ang mga Arduin ay maaaring ma-program sa C. Ngunit kinakailangan ito? Tingnan natin kung bakit sa karamihan ng mga kaso ang bilis ng reaksyon ng mga microcontroller ay hindi kinakailangan. Ang mga manggagawa sa Arduino ay madalas na nais na mag-ipon ng mga controller para sa awtomatikong patubig at pagsasama ng pag-iilaw upang "maipaliwanag" ang mga halaman. Ang nasabing isang pinagsamang aparato ay magiging isang mahusay na tulong para sa mga nais na lumago ng isang bagay sa mga apartment o greenhouse.
Ngunit anong bilis ng aparato ng kontrol ang kinakailangan dito? 15-20 taon na ang nakalilipas walang gumagamit dito microcontroller - matagumpay na pinamamahalaan ng isang tagahanga ng tagahanga ang isang pares ng mga amplifier ng pagpapatakbo o mga elemento ng logic. Ngunit kung pinag-uusapan natin ang pagiging angkop ng mga napag-usapan na mga microcontroller para sa mga proyektong ito, kung gayon narito ito ay ganap na walang malasakit kung gaano karaming mga millisecond ang backlight na lumiko o ang lupa ay nagsisimulang mag-irrigate ng tubig.

Ang susunod na tanyag na proyekto ay ang istasyon ng panahon ng tahanan, at lumiliko na para sa mga naturang layunin ang mga pangunahing kakayahan ng mga arduin ay sapat na upang mabasa ang impormasyon mula sa mga sensor at ipakita ang mga ito sa isang display na synthesizing ng character.
Sa mga halimbawa ng pamamahala RGB LED strip regular o matalinong LED na may kontrol na "pixel-by-pixel" (isang halimbawa ng tulad ng isang SMART tape at ang pagmamarka na nakikita mo sa figure sa ibaba) ay mayroon ding sapat na mga mapagkukunan.

Ngunit saan mo kailangan ang bilis at hindi angkop para sa paggamit ng pinasimple na mga wika ng programming tulad ng Scratch o javascript? Ang lahat ay napaka-simple:
-
Sa mga circuit ng katumpakan;
-
Sa mga alarma at sistema ng seguridad;
-
Sa mga instrumento sa pagsukat ng mataas na katumpakan na may pangangailangan na mabilis na kumuha ng data mula sa ADC, kabilang ang para sa normal na mga oscilloscope;
-
Sa mga aparato na may isang kinakailangan para sa pangmatagalang autonomous na trabaho sa mode ng pagtulog;
-
Sa mga kaso kung saan kailangan mong "mag-ahit" ng maraming mga pag-andar at code hangga't maaari sa microcontroller, ngunit hindi ito naging isang kagyat na gawain kamakailan na may kaugnayan sa pagbawas sa gastos ng karamihan sa mga aparato sa merkado.
Sa karamihan ng mga gawaing ito, ang pagbagsak ay ang bilis at memorya.Para sa pinakamainam na mga resulta, sa kasong ito mas makatwirang gamitin kahit hindi C / C ++, ngunit ang Assembler (ASM). Sa katunayan, kung naglalayon ka sa mga naturang proyekto, nangangahulugan ito na mayroon kang isang tiyak na dami ng kaalaman, na nangangahulugang hindi na kailangan.
Ang konklusyon?
Ang mga Microcontroller na may simpleng mga wika ay kinakailangan kung saan walang mahigpit na kinakailangan tulad ng bilis o pagsukat ng kawastuhan, ngunit kahit na sa ilang mga sitwasyon ay magbibigay sila ng kawastuhan para sa mga hindi dalubhasang aparato na inilaan para sa paggamit ng amateur.
Espruino - isang malakas na microcontroller at isang simpleng wika ng javascript
Ang Espruino platform ay isang hanay ng software at hardware para sa mga programming microcontroller sa wika ng javascript, kasama nito ang tatlong elemento:
1. Ang firmware para sa isang microcontroller na may tagasalin sa wika ng JS.
2. Pag-unlad na kapaligiran para sa Espruino Web IDE.
3. Isang board na may isang microcontroller na may firmware mismo para sa pagtatrabaho nang direkta sa Espruino.

Ang ideya ay binuo at ipinatupad ni Gordon Williams noong 2013, at siya ay nagtataas ng pondo para dito gamit ang platform ng crowdfunding (Kickstarter). Sa katunayan, ang kakanyahan ng pag-unlad ay upang paunlarin ang Espruino firmware (engine) para sa pag-load nito sa mga microcontroller. Ito ay pangunahing ginagamit sa mga microcontroller ng pamilyang STM32, na may arkitektura ng ARM-cortex. Mas maginhawang aparato para sa operasyon, isasaalang-alang namin sa ibaba.

Upang magsulat ng mga programa para sa microcontroller sa javascript, kailangan mong i-install ang Espruino Web IDE. Ito ay isang programa o extension para sa tanyag na browser ng Internet ng Google Chrome na naka-install sa isang pag-click lamang.
Matapos ang pag-click sa pindutan ng "I-install" sa menu na "mga serbisyo", lilitaw ang isang application, at makakapasok ka sa menu na ito sa pamamagitan ng pag-type sa address bar: chrome: // apps /
Kapag nag-click ka sa icon na may isang tasa ng kape, ang kapaligiran ng pag-unlad ay bubukas, na kapansin-pansin hindi sa browser, ngunit sa isang hiwalay na window.
Ang kapaligiran na ito ay kawili-wili para sa parehong mga bata at mga gumagamit ng nagsisimula, dahil maaari mong ipasok nang manu-mano ang code o gumamit ng isang graphic na editor batay sa wika ng programming ng Scratch. Upang gawin ito, mag-click sa icon na tinutukoy ng arrow.

Pagkatapos nito, ang kanang bahagi ng screen, na may code, ay magbabago sa iba pang representasyon:

Ang interface ay madaling maunawaan, sa gitnang panel mula sa itaas hanggang sa ibaba: magbukas ng isang bagong file, i-save ang sketch, i-load ito sa microcontroller.
Konklusyon
Ang mga espruino boards at mga katulad nito ay isang naka-print na circuit board na may mga kinakailangang kalakip at isang microcontroller, na may tagasalin ng javascript, na pinoproseso ang code at isinalin ang mga utos nito sa wika ng mga iyon at mga zero na direkta sa runtime. Habang nasa klasikong form, ang programa para sa mga microcontroller ay nai-load sa huli na sa anyo ng machine code.
Ang pamamaraang ito ay nagbibigay ng pagganap sa maraming mga gawain, tulad ng Arduino.
Suriin ang opisyal na linya ng Espruino

Mga pagtutukoy ng aparato na ito:
-
54x41 mm (kalahati ng credit card);
-
STM32F103RCT6 32-bit 72MHz ARM Cortex M3 CPU
-
256KB Flash, 48KB ng RAM;
-
Micro USB port
-
Saklaw ng boltahe ng input mula sa 3.6 hanggang 15V;
-
Konektor ng baterya (JST PHR-2 2 Pin);
-
Itinayo ang puwang ng SD card;
-
Tatlong LEDs (pulang berde at asul);
-
Mga platform para sa pag-install ng HC-05 Bluetooth module;
-
Ang distansya sa pagitan ng mga mina - 0.1 "(2.54 mm);
-
44 GPIO pin, kung saan 26 PWM (PWM), 16 ADC (ADC), 3 USARTs, 2 SPI, 2 I2C at 2 DACs (DAC);
-
Ang lugar sa board ay maaaring magamit upang kumonekta ng isang bilang ng mga aparato, tulad ng mga Wi-Fi modules, servos, maaaring mapalawak sa 14 na mga output na may kasalukuyang hanggang sa 500 mA.

Ang hitsura ng board at ang conditional division ng mga node nito sa mga zone
Sa marami, ang lupon ay maaaring mukhang hindi kaakit-akit at hindi kumpleto, ngunit ito lamang ang unang pagpipilian nito, kung gayon mukhang mas pamilyar at progresibo ang mga ito. Ang Puck.JS ay isang miniature board sa kaso, nakasakay ito sa Bluetooth na Bluetooth at isang infrared transmitter.

Ayon sa impormasyon mula sa opisyal na site, ang mga teknikal na pagtutukoy at tampok nito ay ang mga sumusunod:
-
Bluetooth Mababang Enerhiya;
-
Pre-install na Espruino javascript tagasalin;
-
Ang puso ng lupon ay nRF52832 SoC - 64MHz ARM Cortex M4, 64kB RAM, 512kB Flash;
-
8 x 0.1 "Mga daungan ng GPIO (kabilang ang PWM (PWM), SPI, I2C, UART, analog input);
-
9 x SMD GPIO port (kabilang ang PWM, SPI, I2C, UART);
-
Ang washer ng pabahay na gawa sa plastik na ABS;
-
Silicone na takip na may susi;
-
MAG3110 Magnetometer - three-axis magnetic field meter;
-
IR transmiter
-
Thermometer, light sensor at antas ng baterya;
-
Tatlong LEDs (pula, berde at asul);
-
Programmable sa pamamagitan ng JS NFC tag.
-
Ang mga pin ay makakakita ng ugnayan sa pamamagitan ng kapasidad (ang prinsipyo ng operasyon ng mga touch screen ng mga smartphone);
-
Timbang 14 g;
-
Mga sukat ng kaso ng plastik: diameter 36mm, kapal - 12.5mm;
-
Mga sukat ng board: diameter 29mm, kapal 9mm.
Pagpapakita ng trabaho:
Ang susunod na board ay ang Espruino Wi-Fi, tulad ng ipinahihiwatig ng pangalan, ang tampok nito ay isang built-in na wireless module para sa Wi-Fi.

Ang mga teknikal na katangian nito:
-
Mga sukat ng Lupon: 30x23 mm;
-
Ang lupon ay may isang konektor ng Micro USB;
-
21 GPIO: 8 mga analog na input, 20 PWM, 1 Serial port, 3 SPI, 3 I2C;
-
Ang lupon ay may 3 LEDs, 2 sa mga ito ay madaling ma-program, at 1 ang nagpapakita ng aktibidad ng Wi-Fi;
-
Ang mga port ay katugma sa Arduino sa mga tuntunin ng boltahe at sumusuporta sa isang 5 Volt signal;
-
1 pindutan;
-
Itinayo sa isang microcontroller STM32F411CEU6 32-bit 100MHz ARM Cortex M4 CPU;
-
Memorya: 512kb flash, 128kb RAM;
-
Ang komunikasyon sa Wi-Fi sa ESP8266 (802.11 b / g / n);
-
RTC (real time orasan na may isang panlabas na generator).
-
Ang isang 3.3V stabilizer na may kasalukuyang hanggang sa 250 mA ay naka-install sa board, ang isang suplay ng boltahe ng 3.5 hanggang 5 V ay suportado.
-
Ang kasalukuyang pagkonsumo sa mode ng pagtulog ay hanggang sa 0.05 mA, na nagbibigay-daan sa iyo upang gumana ng 2.5 taon sa isang 2500mAh baterya (kahit na ito ay higit pa sa isang marketing, ngunit ang baterya mismo ay mas malamang na mag-discharge ng mas mabilis).

Pagpapakita ng lupon:
Espruino Pico - microcontroller para sa javascript sa format ng USB stick
Isasaalang-alang namin ito sa isang hiwalay na seksyon, dahil ito ay pinaka-karaniwan sa Russia at sa malapit sa ibang bansa, marahil maraming salamat sa kumpanya ng Amperka. Ang lupon ay maginhawa para sa pagsasanay at pagpapatupad ng mga natapos na proyekto, isang maliit na board na ipinasok nang direkta sa USB port ng iyong computer para sa pag-programming.

Mga pagtutukoy:
-
Mga sukat: 33x15 - isinasaalang-alang ang USB plug;
-
22 GPIO port, kabilang ang: 9 mga analog na input, 21 PWM, 2 Serial (serial port), 3 SPI, 3 I2C;
-
Sinusuportahan ng mga pin ng GPIO ang 5 mga antas ng signal, na nagbibigay-daan sa iyo upang pagsamahin ang board na may mga kalasag at aparato para sa arduino;
-
Ang USB Type A plug ay bahagi ng board.
-
Dalawang LEDs at isang maiprogramang pindutan
-
Itinayo sa isang STM32F401CDU6 32-bit 84MHz ARM Cortex M4 CPU microcontroller
-
Memorya: 384kb flash, 96kb RAM
-
Ang isang boltahe regulator ng 3.3 V 250mA ay ibinebenta sa board at pinapayagan itong mapalakas mula sa 3.5 hanggang 16 V.
-
Sa mode ng pagtulog, kumonsumo ng kasalukuyang hanggang sa 0.05 mA, at ang tagagawa ay inaangkin ang 2.5 taon ng pagpapatakbo mula sa 1 baterya sa 2500mAh;
-
Ang built-in na field na transistor na epekto para sa pagkontrol ng mga high-kasalukuyang circuit.
Ito ang pinakamaliit na board sa linya. Kasama ang mga gilid nito ay ang I / O port. Sa kasong ito, ang layer ng metallization ay naroroon pareho sa mga butas sa kanilang sarili at sa pagtatapos ng nakalimbag na circuit board.

Ang contact pitch ay pamantayan, pinapayagan ka nitong magbenta ng mga karaniwang linya ng PLS (ito ang pangalan na dala nila).

Detalyadong pagsusuri ng board na ito:
Amperka online na tindahan at ang linya ng mga board na may Javascript
Tulad nito o hindi, ngunit ang pinakamalaking popularizer ng hindi tradisyonal na programming ng mga microcontroller, lalo na sa javascript ay ang Amperka site. Mayroon silang isang channel sa YouTube kung saan nagtuturo sila kung paano gamitin at iprograma ang kanilang mga produkto, at ipinapakita din ang pagpapatupad ng mga proyekto gamit ang kanilang sariling linya ng mga board mula sa mga microcontroller.
Ang branded line ng domestic tagagawa ay ISKRA JS, ang pangalan ng kung saan binabasa ang pangalan ng wika na tinalakay. Ang mga teknikal na katangian nito:
-
Microcontroller: STM32F405RG (32-bit ARM Cortex M4);
-
Dala ng orasan: 168 MHz;
-
Memorya ng flash: 1024 kB;
-
SRAM: 192 kB;
-
Rated na Operasyong Boltahe: 3.3V;
-
Inirerekumenda ang input boltahe: 7–15 V o 3.6–12 V;
-
Pinakamataas na kasalukuyang mula sa 5V bus: 1000 mA;
-
Pinakamataas na kasalukuyang mula sa 3.3V bus: 300 mA (kabilang ang kapangyarihan ng microcontroller);
-
Pinakamataas na kasalukuyang mula sa pin o pin: 25 mA;
-
Pinakamataas na kabuuang kasalukuyang mula sa mga pin o pin: 240 mA;
-
Pangkalahatang Layunin I / O Mga Ports: 26;
-
Mga port na may suporta sa PWM: 22;
-
Mga port sa ADC: 12 (12 bit);
-
Mga port na may DAC: 2 (12 bit);
-
Magagamit na mga interface ng hardware: 4 × UART / Serial, 3 × I²C / TWI, 2 × SPI;
-
Mga sukat: 69 × 53 mm.

Sa istruktura, ang lupon ay malapit sa Arduino Uno R3 - nangangahulugan ito na maaari mong gamitin ang mga expansion card para dito.Anong mga kagiliw-giliw na bagay ang nakikita natin sa mga teknikal na pagtutukoy? Ikumpara natin ang mga ito sa lahat ng iyong mga paboritong arduino.

Ang mga ito ay naiiba sa mga tuntunin ng memorya at kakayahan, at bawat isa ay makahanap ng application nito. Kahit na ang arduino sa karamihan ng mga kaso ay mas kanais-nais, dahil mabibili ito sa isang daang daang rubles, ngunit ang isang spark ay hindi.
Nagbebenta rin si Amperka ng mga microcontroller at mga mikropono tulad ng Raspberry Pi, pati na rin ang mga kit ng pagsasanay para sa pagtatrabaho sa kanila. Mayroon ding isang linya ng mga card ng pagpapalawak para sa mga microcontroller, ito ang mga tinatawag na Troyka modules. Ginagawa ang mga ito sa parehong puting kulay tulad ng natitirang mga produkto ng kumpanyang ito.
Tulad ng anumang iba pang mga kalasag, ang mga produkto mula sa Amperka ay naglalaman ng mga nakalimbag na circuit board bilang pangunahing functional unit - isang sensor, isang lumilipat na aparato, isang master o actuator at ang kinakailangang mga kalakip dito. Nagsagawa na kami ng isang magaspang na pagsusuri ng mga karaniwang modules para sa Arduino - Ang pinakasikat na mga kalasag para sa Arduino, narito ang lahat sa pamamagitan ng pagkakatulad. Sa website o sa pamayanan ng Amperka, maaari kang makahanap ng mga aklatan para magamit sa mga module kasama ang Iskra JS o Arduino.
Kabilang sa tatlong mga module ay:
-
Joystick
-
Encoder
-
Module na may relay;
-
Port card ng pagpapalawak (Troyka-kalasag);
-
Accelerometer, at iba pang mga posisyon ng sensor;
-
Ang mga sensor ng ilaw, kalapitan, kasalukuyang, temperatura, Hall, ingay, gas, alkohol at iba pang mga bagay;
-
Mga tagatanggap para sa pagbabasa ng mga NFC tag;
-
Kagamitan para sa pamamahala ng engine (H-tulay, driver) at marami pa.
Sa pagbebenta mayroong isang kawili-wiling kit para sa mga nagsisimula "IODO".
Ang isang hiwalay na salita tungkol sa isang solong item sa pagsasaayos ay # ang tagapagtayo. Ito ay mga bahagi para sa pag-iipon ng mga kaso at pagdadala ng mga bahagi ng iyong mga istraktura, konektado sila tulad ng taga-disenyo ng isang bata at pinapayagan kang gumawa ng isang normal na layout na may kakayahang magdala ng ligtas, at isang solusyon ng turnkey para sa araw-araw na paggamit.

Sa pamamagitan ng paraan, maaari mong pagsamahin ang iyong pagsasanay kit, at ang buklet ng pagsasanay mula sa kit ay magagamit sa opisyal na website sa electronic form at malayang magagamit.
Konklusyon
Upang programa ng mga microcontroller sa javascript, kailangan mo lamang i-install ang naaangkop na shell sa iyong sample. Gayunpaman, hindi lahat ng kopya ay may kaukulang firmware, gayunpaman para sa mga tanyag na aparato ay matatagpuan sa pampakay na mga forum. Halimbawa, sa BBC Micro: bit microcomputer, ang proseso ng pakikipagtulungan sa kapaligiran ay inilalarawan sa sumusunod na video, at ang pag-install ay isinasagawa sa ilang mga hakbang lamang.
Kailangan ba ng javascript sa mga microcontroller? Ganap na oo! Para sa karamihan ng mga gawain sa amateur, ang mga do-it-yourselfers ay hindi nangangailangan ng katumpakan o bilis ng tugon, at para sa isang bilang ng mga propesyonal na gawain, ang mga kakayahan ng naturang mga platform ay sapat. Ang ganitong diskarte sa pag-programming ay posible upang simulan ang pagbuo ng mga aparato na halos walang pag-aaral ng istraktura at mga utos ng microcontroller. Ngunit sa klasikal na pamamaraan ng programming, kinakailangan na isaalang-alang ang isang bilang ng mga bagay, tulad ng iba't ibang uri ng variable, mga memorya ng memorya, at iba pa.
Tingnan din sa electro-tl.tomathouse.com
: