kategória: Mikrovezérlő áramkörök
Megtekintések száma: 6809
Megjegyzések a cikkhez: 0

JavaScript programozható mikrovezérlők: melyiket válasszon, funkciók és lehetőségek

 

2010 után hazánkban az amatőr rádiós hobbi másodszor is megkapta azt a lehetőséget, hogy a mikrovezérlőket magas szintű programozási nyelveken lehet programozni, messze a vasalótól. Az első tömegprojekt volt Arduino Board Family. Ezeket a mikrovezérlőket már többször megvizsgáltuk cikkeiben, de ma a javascriptbe beprogramozott mikrokontrollerekről fogunk beszélni. Igen! Ugyanaz a nyelv, amelyet főleg a WEB-oldalak írásakor használtak.

Mikrokontroller programozható javascript-ben

Hatály, vagy szükség van-e ilyen mikrokontrollerekre?

Ha figyelembe vesszük az elektronika szempontjából azokban az eszközökben, amelyeket az alábbiakban figyelembe veszünk, akkor a szokásos mikrovezérlőket használjuk. A gyártótól való eltérés csak az, hogy rendelkeznek egy előre telepített betöltő programmal, bár hívják, amit akarnak, amely lehetővé teszi az Ön számára letöltött programkód végrehajtását, és egyes esetekben USB-n keresztül kommunikálhat a számítógéppel, ha nem hardveresen valósítja meg.

Mire vonatkoznak a javascript mikrovezérlői és más nem hagyományos nyelvek? Az amatőrök és a szakemberek között vita folyik az elektronika fejlesztésével kapcsolatban a speciális fórumokon, ahol néhány dicsérettel bír az olyan projektek miatt, mint az "Arduino", mások pedig minden lehetséges módon megalázják és nevetségessé teszik a fejlesztő egyszerűsége és elvont képességei miatt a legtöbb vas kérdéssel.

Fontos: A cikk ebben a részében azt mondjuk: „Arduino”, mivel ez a legtöbb rajongó számára kiindulópontja lett az elektronikus eszközök tervezéséhez.

Arduin programozható a C-ben. De erre van szükség? Nézzük meg, hogy a legtöbb esetben miért nincs szükség a mikrokontrollerek reakciósebességére. Az arduino munkások gyakran szeretnék vezérlőket összeállítani az automatikus öntözéshez és a növények „megvilágításához” világítás beépítéséhez. Egy ilyen kombinált eszköz kiváló segítséget nyújt azok számára, akik szeretnek valamit terjeszteni apartmanokban vagy üvegházakban.

De mekkora sebességre van szükség a vezérlőberendezéshez? 15-20 évvel ezelőtt senki sem fogja használni itt mikrokontroller - egy amatőr tervező sikeresen menedzselt volna pár operációs erősítőt vagy logikai elemet. De ha beszélünk a tárgyalt mikrokontrollerek alkalmasságáról ezekre a projektekre, akkor itt teljesen közömbös, hogy hány milliszekundum alatt bekapcsol a háttérvilágítás, vagy a föld elkezdi öntözni a vizet.

Automatikus öntözőrendszer

A következő népszerű projekt az otthoni meteorológiai állomás, és kiderül, hogy ilyen célokra az arduinok alapvető képességei elegendőek az érzékelőkből származó információk olvasásához és egy karakter-szintetizáló képernyőn való megjelenítéséhez.

Menedzsment példákban RGB LED szalag a normál vagy intelligens LED-eknek "pixel-by-pixel" vezérléssel (egy ilyen SMART szalag és annak jelölése az alábbi ábrán látható) szintén elég erőforrásokkal rendelkezik.

SMART szalag

De hol van szüksége sebességre, és nem alkalmasak az egyszerűsített programozási nyelvek, például a Scratch vagy a javascript használatához? Minden nagyon egyszerű:

  • Precíziós áramkörökben;

  • Riasztásokban és biztonsági rendszerekben;

  • Nagy pontosságú mérőműszerekben, amelyekkel gyorsan ki kell gyűjteni az adatokat az ADC-től, beleértve a normál oszcilloszkópokat is;

  • Eszközökben, amelyek alvó üzemmódban szükségesek a hosszú távú önálló munkavégzésre;

  • Azokban az esetekben, amikor a lehető legtöbb funkciót és kódot kell beillesztenie a mikrovezérlőbe, de ez a közelmúltban nem vált nagyon sürgős feladatnak a piacon lévő legtöbb eszköz költségcsökkentésének kapcsán.

Ezen feladatok többségében az akadály a sebesség és a memória.Az optimális eredmény érdekében ebben az esetben ésszerűbb még a C / C ++ -ot sem használni, hanem az összeszerelőt (ASM). Valójában, ha ilyen projektekre törekszik, ez azt jelenti, hogy van bizonyos mennyiségű ismerete, azaz nincs szükség.


A következtetés?

Az egyszerű nyelvű mikrovezérlőkre van szükség, ahol nincsenek olyan szigorú követelmények, mint például a sebesség vagy a mérési pontosság, de még bizonyos helyzetekben is pontosságot biztosítanak az amatőr használatra szánt nem specializált eszközök számára.



Espruino - erőteljes mikrovezérlő és egyszerű javascript nyelv

Az Espruino platform szoftver- és hardverkészlet a mikrovezérlők javascript nyelvű programozására, három elemből áll:

1. Firmware egy mikrokontrollerhez JS nyelvi tolmács segítségével.

2. Az Espruino Web IDE fejlesztési környezete.

3. Mikrokontrollerrel ellátott tábla, amely magában foglalja a firmware-t az Espruino-val való közvetlen munkához.

Espruino

Az ötletet Gordon Williams fejlesztette ki és valósította meg 2013-ban, és pénzeszközöket gyűjtött ehhez a tömegfinanszírozási platform (Kickstarter) segítségével. Valójában a fejlesztés lényege az Espruino firmware (motor) fejlesztése volt annak mikrokontrollerekbe történő betöltésére. Elsősorban az STM32 család mikrokontrollerein használják, ARM-cortex architektúrával. Kényelmesebb eszközök működtetésére, az alábbiakban foglalkozunk.

Espruino mikrovezérlő

A mikrokontroller programjainak javascript-be történő írásához telepítenie kell az Espruino Web IDE-t. Ez egy népszerű Google Chrome böngésző programja vagy kiterjesztése, amely egyetlen kattintással telepíthető.

Miután rákattintott a „Telepítés” gombra a „szolgáltatások” menüben, megjelenik egy alkalmazás, és beléphet ebbe a menübe a címsorba történő beírásával: chrome: // apps /

Ha egy csésze kávéval kattint az ikonra, megnyílik a fejlesztési környezet, amely nem a böngészőben, hanem egy külön ablakban figyelhető meg.

Ez a környezet érdekes mind a gyermekek, mind a kezdõ felhasználók számára, mivel a kód manuálisan adható meg, vagy a Scratch programozási nyelv alapján a grafikus szerkesztõt is felhasználhatja. Ehhez kattintson arra a ikonra, amelyre a nyíl mutat.

Espruino Web IDE

Ezután a képernyő jobb oldala, amely a kóddal együtt, a másik ábrára változik:

Grafikus szerkesztő

Az interfész intuitív, a központi panelen fentről lefelé: nyisson meg egy új fájlt, mentse el a vázlatot, és töltse be a mikrovezérlőbe.


következtetés

Az Espruino táblák és hasonlók egy nyomtatott áramköri kártya, a szükséges mellékletekkel, és egy mikrovezérlő, egy javascript interpreterrel, amely feldolgozza a kódot, és a parancsokat lefordítja az egyikek és a nulla nyelvére közvetlenül futásidejűleg. Miközben a klasszikus forma, a mikrovezérlők programját már gépi kód formájában töltik be az utóbbiba.

Ez a megközelítés számos feladatban nyújt teljesítményt, például Arduino esetében.


A hivatalos Espruino vonal áttekintése

Eredeti Espruino

A készülék műszaki adatai:

  • 54x41 mm (hitelkártya fele);

  • STM32F103RCT6 32 bites, 72 MHz-es ARM Cortex M3 CPU

  • 256KB Flash, 48KB RAM;

  • Mikro USB port

  • Bemeneti feszültség 3,6-15 V;

  • Akkumulátor csatlakozó (JST PHR-2 2 tűs);

  • Beépített SD-kártya nyílás;

  • Három LED (piros zöld és kék);

  • Platformok a HC-05 Bluetooth modul telepítéséhez;

  • A bányák közötti távolság - 2.54 mm (0.1 ");

  • 44 GPIO tű, ebből 26 PWM (PWM), 16 ADC (ADC), 3 USART, 2 SPI, 2 I2C és 2 DAC (DAC);

  • A táblán levő terület számos eszköz, például Wi-Fi modulok, szervók csatlakoztatására használható, 14 kimenetre bővíthető, legfeljebb 500 mA árammal.

Espruino mikrovezérlő kártya

A tábla megjelenése és csomópontjainak feltételes zónákra osztása

Sokak számára az alaplap vonzónak és hiányosnak tűnhet, de ez volt csak az első lehetőség, akkor ismerősebben és progresszívebben néznek ki. A Puck.JS miniatűr tábla, a fedélzeten Bluetooth és infravörös adóval rendelkezik.

Puck.JS

A hivatalos weboldalon található információk szerint műszaki specifikációi és jellemzői a következők:

  • Alacsony energiaigényű Bluetooth;

  • Előzetesen telepített Espruino javascript tolmács;

  • A tábla szíve: nRF52832 SoC - 64MHz ARM Cortex M4, 64kB RAM, 512kB Flash;

  • 8 x 0,1 "GPIO portok (beleértve a PWM (PWM), SPI, I2C, UART, analóg bemenetet);

  • 9 x SMD GPIO portok (ideértve a PWM, SPI, I2C, UART);

  • ABS műanyagból készült házmosó;

  • Szilikon burkolat kulccsal;

  • MAG3110 Magnetométer - háromtengelyes mágneses mezőmérő;

  • IR adó

  • Hőmérő, fényérzékelő és akkumulátor töltöttségi szintje;

  • Három LED (piros, zöld és kék);

  • Programozható JS NFC címkével.

  • A csapok kapacitással érzékelik az érintést (az okostelefonok érintőképernyőinek működésének alapelve);

  • Tömeg 14 g;

  • A műanyag tok mérete: 36 mm átmérő, vastagság - 12,5 mm;

  • Lemez méretei: átmérő 29mm, vastagsága 9mm.

A munka bemutatása:

A következő tábla az Espruino Wi-Fi, ahogy a neve is sugallja, funkciója egy beépített vezeték nélküli modul a Wi-Fi-hez.

Espruino Wi-Fi

Műszaki jellemzői:

  • Lemez méretei: 30x23 mm;

  • A kártya rendelkezik egy Micro USB csatlakozóval;

  • 21 GPIO: 8 analóg bemenet, 20 PWM, 1 soros port, 3 SPI, 3 I2C;

  • A táblán 3 LED van, ezek közül 2 felhasználó által programozható, és 1 a Wi-Fi tevékenységet jelzi;

  • A portok feszültségük szempontjából kompatibilisek az Arduino-val, és támogatják az 5 voltos jelet;

  • 1 gomb;

  • STM32F411CEU6 mikrovezérlőre épített, 32 bites 100MHz ARM Cortex M4 CPU;

  • Memória: 512 kb flash, 128 kb RAM;

  • Wi-Fi kommunikáció az ESP8266-tal (802.11 b / g / n);

  • RTC (valós idejű óra külső generátorral).

  • A táblára egy 3,3 V-os, 250 mA-es áramerősségű stabilizátort szereltek fel, 3,5 - 5 V tápfeszültséget támogattak.

  • A jelenlegi fogyasztás alvó üzemmódban akár 0,05 mA, ami lehetővé teszi, hogy 2,5 évig dolgozzon egy 2500mAh-os akkumulátorral (bár ez inkább marketing, de maga az akkumulátor nagyobb valószínűséggel gyorsabban merül fel).

Espruino Wi-Fi

Fórum demonstráció:


Espruino Pico - mikrokontroller javascript-hez, USB-státusz formátumban

Külön részben fogjuk megvizsgálni, mivel ez Oroszországban és a közeli külföldön leggyakoribb, talán sok köszönet az Amperka cégnek. Az alaplap kényelmes a befejezett projektek kiképzésére és végrehajtására, egy miniatűr tábla, amelyet közvetlenül a számítógép USB-portjába illeszt be a programozáshoz.

Espruino Pico

Műszaki adatok:

  • Méretek: 33x15 - figyelembe véve az USB csatlakozót;

  • 22 GPIO port, beleértve: 9 analóg bemenet, 21 PWM, 2 soros (soros port), 3 SPI, 3 I2C;

  • A GPIO csapok támogatják az 5 V-os jelszintet, amely lehetővé teszi a tábla kombinálását pajzsokkal és arduino eszközökkel;

  • Az A típusú USB-csatlakozó a tábla része.

  • Két LED és egy programozható gomb

  • STM32F401CDU6 32 bites, 84 MHz-es ARM Cortex M4 CPU mikrovezérlőre építve

  • Memória: 384 kb flash, 96 kb RAM

  • A táblára 3,3 V 250 mA feszültségszabályozó van beforrasztva, és lehetővé teszi 3,5-16 V feszültségű tápellátást.

  • Alvó üzemmódban 0,05 mA-ig terjedő áramot fogyaszt, és a gyártó itt azt állítja, hogy 2,5 év működik egy akkumulátorral, 2500 mAh-nál;

  • Beépített terepi tranzisztor a nagyáramú áramkörök vezérléséhez.

Ez a sor legkisebb táblája. Élei mentén I / O portok vannak. Ebben az esetben a fémréteg mind magukon a lyukakon, mind a nyomtatott áramköri lemez végén van jelen.

Espruino Pico

Az érintkező hangmagassága szabványos, ez lehetővé teszi a szabványos PLS vonalak forrasztását hozzá (ez a név, amelyet hordoznak).

Pls sor

Az igazgatóság részletes áttekintése:


Az Amperka online áruház és annak táblázata a Javascript segítségével

Tetszik vagy sem, de a mikrokontrollerek nem hagyományos programozásának legnagyobb népszerűsítője, különösen a javascript-ben az Amperka webhely. Van egy YouTube-csatornájuk, ahol megtanítják a termékek használatát és programozását, valamint bemutatják a projektek megvalósítását a saját mikrovezérlők tábláinak felhasználásával.

A hazai gyártó márkaneve az ISKRA JS, amelynek neve a beszélt nyelv nevének olvasható. Műszaki jellemzői:

  • Mikrokontroller: STM32F405RG (32 bites ARM Cortex M4);

  • Órafrekvencia: 168 MHz;

  • Flash memória: 1024 kB;

  • SRAM: 192 kB;

  • Névleges üzemi feszültség: 3.3V;

  • Ajánlott bemeneti feszültség: 7–15 V vagy 3,6–12 V;

  • Az 5 V-os busz maximális árama: 1000 mA;

  • A 3.3 V-os busz maximális árama: 300 mA (a mikrovezérlő tápegységével együtt);

  • Csapból vagy tűből származó legnagyobb áram: 25 mA;

  • A csapokból vagy csapokból származó maximális teljes áram: 240 mA;

  • Általános célú I / O portok: 26;

  • Portok PWM támogatással: 22;

  • ADC portok: 12 (12 bit);

  • Portok DAC-nal: 2 (12 bit);

  • Rendelkezésre álló hardver interfészek: 4 × UART / soros, 3 × I²C / TWI, 2 × SPI;

  • Méretek: 69 × 53 mm.

ISKRA JS

Strukturálisan az alaplap nagyon közel áll az Arduino Uno R3-hoz - ez azt jelenti, hogy ehhez a bővítőkártyát is használhatja.Milyen érdekes dolgokat látunk a műszaki specifikációkban? Hasonlítsuk össze őket az összes kedvenc arduinóval.

Az Iskra JS és az Arduino UNO r3 összehasonlítása

Ezek különböznek memória és képességek szempontjából, és mindegyik meg fogja találni alkalmazását. Bár az arduino a legtöbb esetben előnyösebb, mert párszáz rubelért megvásárolható, de a szikra nem.

Az Amperka mikrokontrollereket és mikroszámítógépek, mint a Raspberry Pi, valamint a velük való együttműködéshez szükséges képzési készletek. Van egy sor bővítőkártya is a mikrovezérlőkhöz, ezek az úgynevezett Troyka modulok. Ugyanazon fehér színben készülnek, mint a cég többi terméke.

Mint minden egyéb pajzs, az Amperka termékei fő funkcionális egységként nyomtatott áramköri táblákat is tartalmaznak - érzékelőt, kapcsolókészüléket, egy mestert vagy működtetőt és a hozzá szükséges kiegészítőket. Az Arduino tipikus moduljainak durva áttekintését már elvégeztük - Arduino legnépszerűbb pajzsai, itt minden analógia útján történik. A weboldalon vagy az Amperka közösségben könyvtárakat találhat az Iskra JS vagy az Arduino modulokkal való modulokhoz.

A három modul között vannak:

  • joystick;

  • jeladó;

  • Modul relével;

  • Portkártyák (Troyka-pajzs);

  • Gyorsulásmérők és más helyzetérzékelők;

  • Fényérzékelők, közelség, áram, hőmérséklet, terem, zaj, gáz, alkohol és egyéb dolgok;

  • Vevők NFC címkék olvasásához;

  • Berendezések motorvezérléshez (H-hidak, meghajtók) és így tovább.

Eladó egy érdekes készlet kezdőknek, "IODO".

A konfiguráció egyes elemeiről külön szó van # a kivitelező. Ezek alkatrészek a házak összeszereléséhez és a szerkezetek csapágy alkatrészei, össze vannak kapcsolva, mint egy gyermek tervezője, és lehetővé teszik egy normál esetben stabil elrendezés elkészítését a biztonságos hordozhatóság lehetőségével, valamint kulcsrakész megoldást kínálnak mindennapi használatra.

Struktor

Egyébként összeállíthatja az edzőkészletét, és a készletből származó edzőfüzet elektronikus formában és a szabadon elérhető a hivatalos weboldalon.


következtetés

A mikrokontrollerek javascript-be történő programozásához csak telepítenie kell a megfelelő shell-t a mintába. Ugyanakkor nem minden példány rendelkezik megfelelő firmware-rel, annak ellenére, hogy a népszerű eszközök megtalálhatók a tematikus fórumokon. Például a BBC Micro: bit mikroszámítógépen a környezettel való munka folyamatát a következő videó mutatja be, és a telepítést csak néhány lépésben hajtják végre.

Szüksége van-e javascript-re a mikrovezérlőkön? Teljesen igen! A legtöbb amatőr feladathoz a csináld magadnak nincs szükségük pontosságra vagy a válasz sebességére, és számos szakmai feladathoz elegendő az ilyen platformok képessége. A programozás ilyen megközelítése lehetővé teszi az eszközök fejlesztését a mikrovezérlő felépítésének és parancsának tanulmányozása nélkül. A programozás klasszikus módszerében azonban számos dolgot kellett figyelembe venni, például különféle típusú változókat, memóriacímeket és így tovább.

Lásd még az bgv.electricianexp.com oldalon:

  • PIC mikrovezérlők kezdőknek
  • Az AVR mikrovezérlők típusai és elrendezése
  • Melyik Arduino táblát választja
  • Mik a Nextion kijelzők és hogyan kell velük együtt dolgozni?
  • Az Arduino csatlakoztatása és programozása kezdőknek

  •