Kategorie: Obvody mikrokontrolérů
Počet zobrazení: 6809
Komentáře k článku: 0
Programovatelné mikrokontroléry v JavaScriptu: který si vybrat, funkce a možnosti
V naší zemi, po asi 2010, záliby rádiových nadšenců dostali druhý vítr s příchodem schopnosti programovat mikrokontroléry v programovacích jazycích na vysoké úrovni, daleko od železa. První masový projekt byl Arduino Board Family. Tyto mikrokontroléry jsme opakovaně zkoumali v článcích, ale dnes budeme hovořit o mikrokontrolérech, které jsou naprogramovány v javascriptu. Ano! Stejný jazyk, který byl používán hlavně při psaní webových stránek.
Rozsah nebo jsou takové mikrokontroléry vůbec potřeba?
Pokud vezmeme v úvahu elektroniku v zařízeních, která budeme zvažovat níže, použijí se standardní mikrokontroléry. Rozdíl od produktů od výrobce spočívá pouze v tom, že mají předinstalovaný program zavaděče, i když tomu říkejte, co chcete, což vám umožní spustit programový kód stažený k vám a v některých případech komunikovat s počítačem přes USB, pokud není implementován v hardwaru.
K čemu jsou mikrokontroléry pro javascript a jiné netradiční jazyky? Amatéři a odborníci debatují o vývoji elektroniky na specializovaných fórech, kde některé pochvalné projekty jako „Arduino“, zatímco jiní je všemožně ponižují a zesměšňují pro jednoduchost a abstraktnost vývojáře od většiny problémů se železem.
Důležité: V této části článku říkáme: „Arduino“, protože se stal výchozím bodem pro většinu milovníků elektronických zařízení.
Arduiny lze programovat v C. Je to však nutné? Pojďme se podívat na to, proč ve většině případů není potřeba rychlost reakce mikrokontrolérů. Pracovníci Arduino často rádi sestavují regulátory pro automatické zavlažování a začlenění osvětlení pro „osvětlení“ rostlin. Takové kombinované zařízení bude výbornou pomocí pro ty, kteří rádi pěstují něco v bytech nebo sklenících.
Jaká rychlost řídicího zařízení je však zapotřebí? Před 15-20 lety to nikdo nepoužil mikrokontrolér - amatérský designér by úspěšně spravoval pár operačních zesilovačů nebo logických prvků. Pokud však hovoříme o vhodnosti diskutovaných mikrokontrolérů pro tyto projekty, pak je zde zcela lhostejné po tom, za kolik milisekund se zapne podsvícení nebo Země začne zavlažovat vodu.
Dalším populárním projektem je domácí meteorologická stanice a ukázalo se, že pro tyto účely stačí základní schopnosti arduinů číst informace ze senzorů a zobrazovat je na displeji syntetizující postavy.
V příkladech řízení RGB LED pásek pravidelné nebo inteligentní LED diody s ovládáním „pixel-by-pixel“ (příklad takové pásky SMART a její označení, které vidíte na obrázku níže), má také dostatek zdrojů.
Ale kde potřebujete rychlost a nejsou vhodné pro použití zjednodušených programovacích jazyků jako Scratch nebo javascript? Všechno je velmi jednoduché:
-
V přesných obvodech;
-
V poplachech a bezpečnostních systémech;
-
U vysoce přesných měřicích přístrojů s potřebou rychle odebírat data z ADC, včetně normálních osciloskopů;
-
V zařízeních s požadavkem na dlouhodobou samostatnou práci ve spánkovém režimu;
-
V případech, kdy potřebujete do mikrokontroléru „vstrčit“ co nejvíce funkcí a kódů, to se v poslední době nestalo velmi naléhavým úkolem v souvislosti se snížením nákladů většiny zařízení na trhu.
Ve většině těchto úkolů je kamenem úrazu rychlost a paměť.Pro dosažení optimálních výsledků je v tomto případě rozumnější použít dokonce ani C / C ++, ale Assembler (ASM). Nakonec, pokud se na takové projekty zaměřujete, máte určité znalosti, což znamená, že není třeba.
Závěr?
Mikrokontroléry s jednoduchými jazyky jsou potřebné tam, kde neexistují přísné požadavky, jako je rychlost nebo přesnost měření, ale i v některých situacích budou poskytovat přesnost pro nespecifická zařízení určená pro amatérské použití.
Espruino - výkonný mikrokontrolér a jednoduchý jazyk javascript
Platforma Espruino je sada softwaru a hardwaru pro programování mikrokontrolérů v jazyce javascript, obsahuje tři prvky:
1. Firmware pro mikrokontrolér s tlumočníkem jazyka JS.
2. Vývojové prostředí pro Espruino Web IDE.
3. Deska s mikrokontrolérem se samotným firmwarem pro přímou spolupráci s Espruino.
Tento nápad byl vyvinut a implementován Gordonem Williamsem v roce 2013 a získal na něj finanční prostředky pomocí platformy crowdfunding (Kickstarter). Podstatou vývoje bylo vyvinout firmware Espruino (engine) pro jeho zavedení do mikrokontrolérů. Používá se hlavně na mikrokontroléry řady STM32 s architekturou ARM-cortex. Praktičtější zařízení pro provoz budeme zvažovat níže.
Chcete-li psát programy pro mikrokontrolér v javascriptu, musíte nainstalovat Espruino Web IDE. Jedná se o program nebo rozšíření oblíbeného internetového prohlížeče Google Chrome, který se nainstaluje jediným kliknutím.
Po kliknutí na tlačítko „Instalovat“ v nabídce „služby“ se zobrazí aplikace a do této nabídky se můžete dostat zadáním do adresního řádku: chrome: // apps /
Když klepnete na ikonu s šálkem kávy, otevře se vývojové prostředí, které není patrné v prohlížeči, ale v samostatném okně.
Toto prostředí je zajímavé pro děti i začátečníky, protože kód můžete zadat ručně nebo použít grafický editor založený na programovacím jazyce Scratch. Chcete-li to provést, klikněte na ikonu, na kterou šipka ukazuje.
Poté se pravá strana obrazovky, která s kódem, změní na jinou reprezentaci:
Rozhraní je intuitivní, na centrálním panelu shora dolů: otevřete nový soubor, uložte náčrt, načtěte jej do mikrokontroléru.
Závěr
Espruino desky a podobně jsou desky s tištěnými obvody s nezbytnými přílohami a mikrokontrolér s interpretem javascript, který zpracovává kód a převádí jeho příkazy do jazyka těch a nul přímo za běhu. Zatímco v klasické podobě, program pro mikrokontroléry je do nich načten již ve formě strojového kódu.
Tento přístup poskytuje výkon v mnoha úkolech, jako je Arduino.
Recenze oficiální linky Espruino
Specifikace tohoto zařízení:
-
54x41 mm (polovina kreditní karty);
-
STM32F103RCT6 32bitový procesor 72MHz ARM Cortex M3
-
256 kB Flash, 48 kB RAM;
-
Micro USB port
-
Rozsah vstupního napětí od 3,6 do 15 V;
-
Konektor baterie (JST PHR-2 2 Pin);
-
Vestavěný slot pro SD kartu;
-
Tři LED (červená zelená a modrá);
-
Platformy pro instalaci modulu Bluetooth HC-05;
-
Vzdálenost mezi minami - 0,1 "(2,54 mm);
-
44 pinů GPIO, z toho 26 PWM (PWM), 16 ADC (ADC), 3 USART, 2 SPI, 2 I2C a 2 DAC (DAC);
-
Oblast na desce lze použít k připojení řady zařízení, jako jsou Wi-Fi moduly, serva, rozšiřitelná na 14 výstupů s proudem až 500 mA.
Vzhled desky a podmíněné rozdělení jejích uzlů na zóny
Pro mnohé se může zdát, že se jedná o neatraktivní a nekompletní, ale toto byla pouze jeho první možnost, pak vypadají povědoměji a progresivně. Puck.JS je miniaturní deska v pouzdře, má na palubě Bluetooth a infračervený vysílač.
Podle informací z oficiálních stránek jsou jeho technické specifikace a funkce následující:
-
Bluetooth Low Energy;
-
Předinstalovaný interpret espruino javascript;
-
Srdcem desky je nRF52832 SoC - 64MHz ARM Cortex M4, 64kB RAM, 512kB Flash;
-
8 x 0,1 "porty GPIO (včetně PWM (PWM), SPI, I2C, UART, analogový vstup);
-
9 x porty SMIO GPIO (včetně PWM, SPI, I2C, UART);
-
Podložka z plastu ABS;
-
Silikonový kryt s klíčem;
-
MAG3110 Magnetometer - tříosý měřič magnetického pole;
-
IR vysílač
-
Teploměr, světelný senzor a stav baterie;
-
Tři LED (červená, zelená a modrá);
-
Programovatelné pomocí značky JS NFC.
-
Špendlíky mohou vnímat dotek podle kapacity (princip fungování dotykových obrazovek smartphonů);
-
Hmotnost 14 g;
-
Rozměry plastového pouzdra: průměr 36 mm, tloušťka - 12,5 mm;
-
Rozměry desky: průměr 29 mm, tloušťka 9 mm.
Demonstrace práce:
Další deska je Espruino Wi-Fi, jak název napovídá, jeho funkcí je vestavěný bezdrátový modul pro Wi-Fi.
Jeho technické vlastnosti:
-
Rozměry desky: 30x23 mm;
-
Deska má konektor Micro USB;
-
21 GPIO: 8 analogových vstupů, 20 PWM, 1 sériový port, 3 SPI, 3 I2C;
-
Deska má 3 LED diody, 2 z nich jsou programovatelné uživatelem a 1 zobrazuje aktivitu Wi-Fi;
-
Porty jsou kompatibilní s Arduino, pokud jde o napětí a podporují 5 voltový signál;
-
1 tlačítko;
-
Postaveno na mikrokontroléru STM32F411CEU6 32bitový procesor 100MHz ARM Cortex M4;
-
Paměť: 512kb flash, 128kb RAM;
-
Wi-Fi komunikace s ESP8266 (802.11 b / g / n);
-
RTC (hodiny reálného času s externím generátorem).
-
Na desce je nainstalován stabilizátor 3,3 V s proudem až 250 mA, napájecí napětí 3,5 až 5 V.
-
Aktuální spotřeba v režimu spánku je až 0,05 mA, což vám umožní pracovat 2,5 roku na baterii 2500 mAh (i když se jedná o větší marketing, ale baterie samotná se s větší pravděpodobností vybije rychleji).
Ukázka desky:
Espruino Pico - mikrokontrolér pro javascript ve formátu USB stick
Budeme to zvažovat v samostatné sekci, protože je nejběžnější v Rusku a blízkém zahraničí, možná mnohokrát díky společnosti Amperka. Deska je vhodná pro školení a implementaci hotových projektů, miniaturní deska, která je vložena přímo do USB portu počítače pro programování.
Specifikace:
-
Rozměry: 33x15 - s ohledem na konektor USB;
-
22 portů GPIO, včetně: 9 analogových vstupů, 21 PWM, 2 sériových (sériové porty), 3 SPI, 3 I2C;
-
Kolíky GPIO podporují úrovně signálu 5 V, což vám umožňuje kombinovat desku se štíty a zařízeními pro arduino;
-
Zásuvka USB typu A je součástí desky.
-
Dvě LED diody a jedno programovatelné tlačítko
-
Postaveno na 32bitovém mikroprocesoru ARM Cortex M4 s procesorem STM32F401CDU6
-
Paměť: 384 kb flash, 96 kb RAM
-
Na desce je pájený regulátor napětí 3,3 V 250 mA, který umožňuje napájení od 3,5 do 16 V.
-
V režimu spánku spotřebovává proud až 0,05 mA a výrobce zde nárokuje 2,5 let provozu z 1 baterie při 2500 mAh;
-
Vestavěný tranzistor s efektem pole pro řízení silnoproudých obvodů.
Toto je nejmenší deska v řadě. Podél jeho okrajů jsou I / O porty. V tomto případě je metalizační vrstva přítomna jak na samotných děrách, tak i na konci desky s plošnými spoji.
Rozteč kontaktů je standardní, což vám umožňuje pájet standardní řádky PLS (toto je jméno, které nesou).
Detailní recenze této rady:
Internetový obchod Amperka a jeho řada desek s Javascriptem
Líbí se nebo ne, ale největším popularizátorem netradičního programování mikrokontrolérů, zejména v javascriptu, je stránka Amperka. Mají kanál YouTube, kde se učí, jak používat a programovat své produkty, a také ukazují implementaci projektů pomocí své vlastní řady desek z mikrokontrolérů.
Značkovou řadou tuzemského výrobce je ISKRA JS, jejíž název čte název projednávaného jazyka. Jeho technické vlastnosti:
-
Mikrokontrolér: STM32F405RG (32bitový ARM Cortex M4);
-
Frekvence hodin: 168 MHz;
-
Flash paměť: 1024 kB;
-
SRAM: 192 kB;
-
Jmenovité provozní napětí: 3,3 V;
-
Doporučené vstupní napětí: 7–15 V nebo 3,6–12 V;
-
Maximální proud ze sběrnice 5V: 1000 mA;
-
Maximální proud ze sběrnice 3,3 V: 300 mA (včetně napájení mikrokontroléru);
-
Maximální proud z kolíku nebo kolíku: 25 mA;
-
Maximální celkový proud z kolíků nebo kolíků: 240 mA;
-
Univerzální I / O porty: 26;
-
Porty s podporou PWM: 22;
-
Porty ADC: 12 (12 bitů);
-
Porty s DAC: 2 (12 bitů);
-
Dostupná hardwarová rozhraní: 4 × UART / sériová, 3 × I²C / TWI, 2 × SPI;
-
Rozměry: 69 × 53 mm.
Strukturálně je deska velmi blízko Arduino Uno R3 - to znamená, že pro ni můžete použít rozšiřující karty.Jaké zajímavé věci vidíme v technických specifikacích? Srovnejme je se všemi vašimi oblíbenými arduiny.
Jsou odlišné z hlediska paměti a schopností a každý najde svou aplikaci. Arduino je ve většině případů výhodnější, protože jej lze zakoupit za pár stovek rublů, ale jiskra není.
Amperka také prodává mikrokontroléry a mikropočítače jako Raspberry Pi, stejně jako výcvikové soupravy pro práci s nimi. K dispozici je také řada rozšiřujících karet pro mikrokontroléry, jedná se o tzv. Moduly Troyka. Jsou vyráběny ve stejné bílé barvě jako ostatní výrobky této společnosti.
Produkty společnosti Amperka obsahují jako hlavní funkční jednotku, stejně jako všechny ostatní štíty, desky s plošnými spoji - senzor, spínací zařízení, hlavní nebo akční člen a nezbytná příslušenství k němu. Již jsme provedli hrubou revizi typických modulů pro Arduino - Nejoblíbenější štíty pro Arduino, tady je vše analogicky. Na webu nebo v komunitě Amperka najdete knihovny pro použití s moduly s Iskra JS nebo Arduino.
Mezi tyto tři moduly patří:
-
Joystick
-
Encoder
-
Modul s relé;
-
Rozšiřující karty (Troyka-štít);
-
Akcelerometry a další snímače polohy;
-
Senzory světla, blízkosti, proudu, teploty, Hall, hluku, plynu, alkoholu a dalších věcí;
-
Přijímače pro čtení tagů NFC;
-
Zařízení pro řízení motoru (mosty H, řidiče) a další.
V prodeji je zajímavá sada pro začátečníky "IODO".
Samostatné slovo o jediné položce v konfiguraci je # konstruktor. Jedná se o díly pro sestavení skříní a nosných částí vašich konstrukcí, jsou propojeny jako dětský designér a umožňují vám vytvořit normálně stabilní rozložení se schopností bezpečného přenášení a řešení na klíč pro každodenní použití.
Mimochodem, můžete si sestavit svůj tréninkový kit a tréninková brožura ze sady je k dispozici na oficiálních webových stránkách v elektronické podobě a volně dostupná.
Závěr
Chcete-li programovat mikrokontroléry v javascriptu, stačí do vzorku nainstalovat příslušný shell. Ne každá kopie však má odpovídající firmware, nicméně pro oblíbená zařízení lze najít na tematických fórech. Například na BBC Micro: bit mikropočítači je proces práce s prostředím znázorněn v následujícím videu a instalace je provedena v několika krocích.
Je pro mikrokontroléry potřeba javascript? Naprosto ano! U většiny amatérských úkolů do-it-yourselfers nepotřebují přesnost ani rychlost odezvy a pro řadu profesionálních úkolů jsou schopnosti takových platforem dostačující. Takový přístup k programování umožňuje začít vyvíjet zařízení prakticky bez studia struktury a příkazů mikrokontroléru. Ale v klasické metodě programování bylo nutné vzít v úvahu řadu věcí, jako jsou různé typy proměnných, adresy v paměti atd.
Viz také na e.imadeself.com
: