Jelikož sada Arduino MAXI Starter kit je doslova „nabušena“ mnoha součástkami, jejichž ovládání není vždy jednoduché, vytvořili jsme pro prostředí mBlock rozšíření nazvané „MAXI Starter kit“, které by ovládání těchto součástek mělo výrazným způsobem zjednodušit. Rozšíření totiž přidá do prostředí mBlock na svislý sloupec příkazů další skupiny příkazových bloků, které jsou tříděné do tematických kategorií – např. příkazy pro LCD displej, servo, krokový motor apod.
Rozšíření MAXI Starter kit je nutné jen pro některé z dále uvedených lekcí. Tam, kde bude třeba použít některé jeho funkce, upozorníme na to u zápisu programu následující ikonou. Pokud nyní nechceme nějaké rozšíření řešit a chceme se okamžitě pustit do programování, musíme si vybrat lekce bez tohoto označení.
S těmi, kteří se nenechali vylekat tím, že nás ještě čeká nějaké nastavení a chtějí se pustit i do lekcí s rozšířením MAXI Starter kit, si společně ukážeme, jak toto rozšíření do prostředí mBlock přidat.
Na svislé liště příkazů je dole i ikona nazvaná „rozšíření“ . Když na tuto ikonku klikneme, otevře se průvodce „Správce rozšíření“, který slouží k získání a přidání dalších rozšíření do aktuálního projektu. Jsou to vlastně knihovny, které nám přidají do sloupce příkazů další příkazové bloky. Najdeme tu všechno možné od knihoven pro ovládání displejů, tepelných čidel, ale i pro celé shieldy nebo roboty. To vše je k dispozici nejen od vývojáře prostředí mBlock, ale i od ostatních bastlířů, třeba jako jsme my.
My však nyní potřebujeme najít naše rozšíření MAXI Starter kit. Nejrychlejší volba je pomocí vyhledávacího pole. Stačí nahoře do vyhledávacího pole napsat „MAXI“ a je-li v tu chvíli počítač připojen k internetu, zobrazí se seznam všech dostupných rozšíření obsahující v názvu výraz MAXI. Dlouhou dobu tímto výrazem začínalo jen to naše, takže se zobrazovalo jen naše požadované MAXI Starter kit. Pokud se v jeho horním rohu zobrazuje zelená ikona, znamená to, že toto rozšíření je zatím k dispozici na internetu a je třeba jej kliknutím nejdříve stáhnout do počítače. Pak již jeho přidání bude probíhat offline.
Po prvním kliknutí na volbu +Přidat
se rozšíření stáhne do počítače. Jakmile se jednou do počítače stáhne, již se může vkládat a používat i bez připojení k internetu.
Po stažení, přidání rozšíření do projektu a zavření Správce rozšíření se na liště příkazů objeví nové skupiny příkazů. Všechny tyto skupiny příkazových bloků jsou pojmenovány dle svého použití a jsou uvozeny různobarevnou ikonou loga společnosti LASKAKIT .
Celé rozšíření je rozděleno do třinácti tematických celků, které respektují jednotlivá zaměření na danou problematiku nebo funkční blok. Kategorie rozšíření se svými příkazovými bloky se v prostředí mBlock zobrazují na střední svislé příkazové liště. Na následujících řádcích si představíme jednotlivé kategorie a jejich příkazové bloky. Podrobněji se s nimi pochopitelně seznámíme v jednotlivých praktických lekcích v druhé polovině tohoto návodu.
Nastavení digitálního pinu do režimu PULLUP a jeho následné čtení.
Nastavení pinu A (analogový) do režimu PULLUP a jeho následné čtení.
Nastavení pinu A (analogový) do digitálního režimu a nastavení vysoké/nízké úrovně (HIGH/LOW)
digitální nízká úroveň (LOW)
digitální vysoká úroveň (HIGH)
Na sériovém monitoru bude uveden seznam všech I²C zařízení připojených k modulu Arduino.
Nastavení dimenze LCD displeje (sloupce/řádky) zadané I²C adresy.
Zapnutí/vypnutí podsvícení LCD displeje zadané I²C adresy.
Smazání obsahu LCD displeje zadané adresy I²C.
Nastavení kurzoru na zadaný sloupec, pozice řádku na LCD displeji zadané I²C adresy.
Zobrazení zadaného textu na aktuální pozici kurzoru na LCD zadané I²C adresy.
Nastavení směru zobrazeného textu (zprava doleva nebo zleva doprava) LCD displeje zadané I²C adresy.
Nastavení blikání LCD displeje zadané adresy I²C.
Nastavení možnosti rolování textu (vlevo, vpravo, žádné) na LCD displeji zadané I²C adresy.
Nastavení zobrazení kurzoru (zobrazit/skrýt) na LCD displeji zadané I²C adresy.
Nastavení obsahu textové proměnné (pro odlišení jsou proměnné číslovány).
Získání obsahu dané (zadané číslem) textové proměnné.
Získání počtu znaků obsahu dané textové proměnné.
Nahrazení výrazu „TEXT1“ výrazem „TEXT2“ v zadané textové proměnné.
Získání podřetězce ze zadané textové proměnné. Podřetězec je určen pořadovým číslem prvního znaku a jeho počtem znaků (celkovou délkou).
Získání pozice (číslo pořadí znaku) hledaného výrazu „TEXT“ v zadané textové proměnné. Začátek hledání lze zvolit pořadovým číslem znaku obsahu textové proměnné. Výsledkem je vždy pořadové číslo od absolutního začátku obsahu zadané textové proměnné!
Převod reálného čísla na textovou proměnnou s možností volby zobrazených desetinných míst.
Deklarace pole číselných/textových proměnných (pro odlišení jsou pole číslovány). V této deklaraci musí být specifikován počet proměnných. Je zadán počet proměnných pole, nikoli nejvyšší index pole!
První položka pole má index 0 (pole s indexy 0 a 1 již má dva prvky!).
Vloží zadanou číselnou hodnotu do zvolené proměnné v daném poli.
Vloží zadanou textovou hodnotu do zvolené proměnné v daném poli.
Získání obsahu dané položky vybraného pole.
Nastavení ovládacích pinů (Latch, Data, Clock) posuvného registru.
Volba směru odesílání bajtu do posuvného registru (MSBFIRST – první nejvýznamnější bit, LSBFIRST – první nejméně významný bit).
Nastavení ovládacích pinů modulu reálných hodin DS1302RTC.
Nastavení času a data na modulu DS1302 RTC. Formát dat je: HH:MM:SS/DD-MM-20YY
.
Nastavení času a data na modulu Arduino. Formát dat je: HH:MM:SS/DD-MM-20YY
.
Získání jednoho z vybraných údajů (hod, min, …, rok, den v týdnu). Hodnoty jsou čteny z modulu Arduino.
Synchronizace časových údajů z modulu DS1302RTC do modulu Arduino. Lze použít například po spuštění modulu Arduino pro načtení aktuálních hodnot z modulu reálných hodin (RTC), který je zálohován baterií.
Nastavení typu DHT čidla a volba jeho datového pinu.
Načtení aktuální hodnoty teploty z DHT modulu.
Načtení aktuální hodnoty relativní vlhkosti z DHT modulu.
Inicializace 4-vodičového krokového motoru – nastavení identifikačního čísla motoru, počtu kroků na otáčku a nastavení ovládacích pinů.
Inicializace 2-vodičového krokového motoru – nastavení identifikačního čísla motoru, počtu kroků na otáčku a nastavení ovládacích pinů.
Inicializace 5-vodičového krokového motoru – nastavení identifikačního čísla motoru, počtu kroků na otáčku a nastavení ovládacích pinů.
Nastavení rychlosti otáčení (ot/min) daného krokového motoru (POZOR! Nastavuje se rychlost otáčení kotvy krokového motoru – některé krokové motory jsou osazeny převodovkou, která dle zadaného poměru snižuje rychlost otáčení výstupního hřídele).
Vykonání zadaného počtu kroků daného krokového motor. Kladný počet kroků udává jeden směr otáčení, zadáním záporného počtu kroků se vykoná daný počet kroků v opačném směru otáčení.
Inicializace serva – nastavení identifikačního čísla serva, volba ovládacího pinu.
Nastavení úhlu natočení pro servo daného čísla.
Načtení aktuální polohy natočení daného serva.
Inicializace infračerveného přijímače – nastavení datového pinu.
Programový blok, který se provede v okamžiku, kdy IR přijímač přijme nějaká data.
Čtení dat přijatých IR přijímačem.
Inicializace infračerveného přijímače – nastavení datového pinu.
Programový blok, který se provede v okamžiku, kdy IR přijímač přijme nějaká data.
Čtení dat přijatých IR přijímačem.
Čtení dat přijatých IR přijímačem.
Nastavení ovládacích pinů klávesnice 4×4 (sloupce × řádky).
Nastavení ovládacích pinů klávesnice 3×4 (sloupce × řádky).
Nastavení ovládacích pinů klávesnice 3×3 (sloupce × řádky).
Předefinování znaku klávesnice na pozici sloupce/řádku.
Začátek používání nastavené a definované klávesnice.
Skenování stavu klávesnice. Po tomto příkazu je možné načíst, zda byla stisknuta klávesa, popřípadě která klávesa byla stisknuta.
Logický výraz, který říká, zda byla stisknuta nějaká klávesa.
Načtení symbolu klávesy, která byla stisknuta.