Výuková laboratorní sestava seminář pro učitele

Podobné dokumenty
FILIP SCHWANK. Katedra měření, listopad 2017

Programování kitu F0- Lab v C++ pomocí on line IDE mbed. Klub ETC, ČVUT FEL, kat. měření. ETC , kat. měření, ČVUT, FEL, Praha

Použití UART a radia na platformě micro:bit

ČVUT FEL. mbed tutoriál

Arduino Martin Friedl

Programování mikropočítačů platforma Arduino

Přednáška - Čítače. 2013, kat. měření, ČVUT - FEL, Praha J. Fischer. A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1

Programování mikroprocesorového modulu pro výuku fyziky

9. Rozšiřující desky Evb_Display a Evb_keyboard

ETC Embedded Technology Club setkání 3, 3B zahájení třetího ročníku

Návod na obsluhu Pípáku2 verse V0.1 (PŘEDBĚŽNÝ NÁVOD).

Manuál přípravku FPGA University Board (FUB)

ETC Embedded Technology Club 6. setkání

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Popis programu EnicomD

eses výukový multi shield pro Arduino UNO

APLIKACE MIKROKONTROLÉRŮ PIC32MX

PŘÍLOHY. PRESTO USB programátor

České vysoké učení technické v Praze Fakulta elektrotechnická. Katedra měření. Dokumentace. Rotační enkodér

Úvod do mobilní robotiky AIL028

Ovládání MZK Terminalu je jednoduché a intuitivní. Terminal se ovládá pěti tlačítky.

Uživatelská příručka

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Laboratorní cvičení z předmětu Elektrická měření 2. ročník KMT

NÁVOD K INSTALACI A POUŽITÍ

NÁVOD K OBSLUZE konfigurační SW CS-484

DIGITÁLNÍ ODPALOVACÍ PULT

Integrovaná střední škola, Sokolnice 496

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE

Mikrokontroléry. Doplňující text pro POS K. D. 2001

GSM/GPRS modul pro Arduino

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Cvičení 2. Obsah a cíle cvičení. Obsah. A5MPL Programování mikropočítačů Digitální vstupy a výstupy - LED a tlačítka.

PROGRAMOVATELNÉ AUTOMATY FATEK

Operační systémy. Cvičení 3: Programování v C pod Unixem

Pole a Funkce. Úvod do programování 1 Tomáš Kühr

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Základy programování (IZP)

PŘIJÍMAČ DÁLKOVÉHO OVLÁDÁNÍ FLOXR

54. odborná konference ČKS Lísek u Bystřice,

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 6

Digitální sekvenční indikátor přeřazení (Shift Light)

Pro zprovoznění komunikace našeho Sigfox modemu se sítí je potřeba udělat následující kroky. Jako první si otevřeme webové stránky

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

NÁVOD K INSTALACI A POUŽITÍ

Praktický návod. Inteligentní elektroinstalace obytného domu Ego-n

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 7

MONTÁŽNÍ NÁVOD RSLAN. Komunikační převodník RS485-TCP/IP

Přípravek pro demonstraci řízení pohonu MAXON prostřednictvím

Montážní návod SWING 250

Návod na obsluhu Shift Keyeru verse V1.12 (PŘEDBĚŽNÝ NÁVOD BETA VERSE).

WiFi textový terminál s ESP8266

SEMESTRÁLNÍ PROJEKT Y38PRO

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Návod k obsluze výukové desky CPLD

setup() { I = 0; } loop() { I = I + 1; }

Návod na obsluhu Pub Keyeru verse V0.4 (PŘEDBĚŽNÝ NÁVOD BETA VERSE).

FVZ K13138-TACR-V004-G-TRIGGER_BOX

VUT EBEC2017 Projekt. Wiping Turn Indicator Audi TT

Vstupní požadavky, doporučení a metodické pokyny

Úloha č. 4. Připojení 7-segmentového zobrazovače LED s posuvným registrem, připojení tlačítek

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

1. Téma 03 - Rozhodování

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

KOMUNIKACE PC DAT 400/500. přes USB programem INOVATION

Nastavení V-GSM-SI pro měření hladiny pomocí VSDP

NAM technology. Uživatelský manuál. REGGAE alarm verze: /2011

Obsah. O autorovi 11 Předmluva 13 Zpětná vazba od čtenářů 14 Errata 14

Digitální indikátor přeřazení

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Programovací prostředek AmexCLV-V2.0

ETC Embedded Technology Club setkání

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

Tester chybovosti 6xE1 Software pro ukládání dat

NÁVOD K OBSLUZE. ústředna CS-484E-3

VYHODNOCOVACÍ JEDNOTKA A VELMI RYCHLÝ PŘEVODNÍK

WiFi LED informační panel

Pravidla pro získání zápočtu vytvořením individuální semestrální práce mimo cvičení

Adresovatelné RGB LED

Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů. Zdeněk Oborný

Časovače μpočítače AT89C51CC03

GPS lokátor v obojku

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

TW15 KONCOVÝ PRVEK MSKP. Popis výrobku Technická data Návod k obsluze. Technologie 2000 s.r.o., Jablonec nad Nisou

4IOT-SEN-01 Sensor pro IoT aplikace Technická dokumentace

Komunikační protokol pro Fotometr 2008 (verze s rozhraním RS232)

Kovová minikamera do auta, 1080p

ELEKTRONICKÝ ŽELEZNIČNÍ PŘEJEZD AŽD

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 8

QC300 3fáze 400V řídící jednotka / QC300R 3fáze 230V / QC301 1fáze

Frekvenční měniče a servomotory Frekvenční měnič D2

Micro:bit lekce 4. Cyklus s určeným počtem opakování cyklus Repeat. Cyklus s počtem opakování daným řídicí proměnnou cyklus For from to

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R

Komunikace MODBUS pro převodníky AIM600, AIM615. UINT16 Bezznaménkový celočíselný datový typ o velikosti 16bitů rozsah 0 až 65535

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

ZR24 ŘÍDICÍ KARTA ZÁKLADNÍ CHARAKTERISTIKA. Obsah. Popis. Bezpečnost. Nastavení. Další funkce

teploty po protokolu Modbus RTU

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Transkript:

Výuková laboratorní sestava seminář pro učitele Programování kitů v ARM MBED Bc. Petr Kůrka (kurkape6@fel.cvut.cz) Katedra měření Fakulta elektrotechnická České vysoké učení technické v Praze

Možnosti programování - BBC Bloky PXT (viz. předchozí prezentace) Python - MicroPython Prostředí pouze pro BBC micro:bit Programování online Skutečný programovací jazyk C/C++ - ARM mbed Podpora 150+ kitů (ST, Nordic ) s jádry ARM Cortex > Zařízení z průmyslu Programování online Knihovny pro přídavný HW Korektní C (Arduino) 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 2

Úvod co je MBED Programovací prostředí pro ARM Cortex kity Přístupné online Nutnost připojení k internetu Bez instalace softwaru Pro většinu kitů stejný program, minimální odlišnosti Možnost využití již připravených programů, knihoven Proč dělat něco, co už někdo udělal před námi? Jazyk C/C++ 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 3

Výčet podporovaných kitů https://os.mbed.com/platforms/ 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 4

Jednoduchá ukázka - BBC micro:bit #include "mbed.h" DigitalOut myout(p0); int main() { while(1) { myout = 1; wait(0.2); myout = 0; wait(1.0); } } // inicializace vystupu // nekonecná smycka // Pin do vysoke urovne // cekáme 200 ms // Vypnutí pinu // cekani 1 s 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 5

Podobnost programu STM32F303 #include "mbed.h" DigitalOut myout(p0); int main() { while(1) { myout = 1; wait(0.2); myout = 0; wait(1.0); } } #include "mbed.h" DigitalOut myout(pa_5); int main() { while(1) { myout = 1; wait(0.2); myout = 0; wait(1.0); } } 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 6

Odlišnosti u různých kitů 1. DigitalOut myout(p0); //BBC 2. DigitalOut myout(pa_5); //STM32F303 Pojmenování pinů -> PINOUT 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 7

Pinout BBC micro:bit 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 8

Pinout STM32F303 Nucleo O poznání více pinů Duplicitní vývody 1,2 male headery (CN7, CN10) 3,4 Arduino headery (female) (CN5, CN6, CN8, CN9) 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 9

Pinout STM32F303 Nucleo 1 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 10

Pinout STM32F303 Nucleo 2 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 11

Pinout STM32F303 Nucleo 3,4 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 12

Funkce kitů - Digital OUT, IN Výstup Nastavení pinu do stavu (1 nebo 0) Fyzicky nastavení napětí na pinu 0V nebo 3,3V (BBC) Některé procesory 0V nebo 5V (ST) Vstup Čtení stavu na pinu (0 nebo 1) V programu: DigitalOut myoutput(pa_5); DigitalIn myinput(pa_5); 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 13

Funkce kitů - PWM Výstupní funkce Generování digitálního signálu Nastavujeme střídu, frekvenci Použití: Proměnná intenzita svítící LED Akustický signál Řízení rychlosti motoru V programu: PwmOut oznaceni(pc_3); Funkci podporují jen některé piny Střída = t1/(t1+t2) Frekvence = 1/(t1+t2) 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 14

Funkce kitů Analog OUT, IN Výstup Nastavení libovolného napětí na pinu 0 V až 3,3 V (5 V) desetinným číslem 0 až 1 0 odpovídá 0 V 1 odpovídá max. napětí (5 V nebo 3 V) Vstup Čtení stavu na pinu (0 až 1) Příklady: Voltmetr, generátor sinusového signálu V programu: AnalogOut myoutput(pa_5); AnalogIn myinput(pa_5); Podporují jen některé piny 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 15

Funkce kitů Sériová komunikace Možnost přímé komunikace a obsluhy z počítače Použití aplikace pro terminál (Putty, Termite ) Standard: UART Dva piny: přijímací (RX), vysílací (TX) Pouze některé piny 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 16

Funkce prostředí Procedurální programování (C/C++) Rozvedeme v pozdější části prezentace Funkce Vyhodnocující časové okamžiky Wait (čekání) Program čeká po daný čas Timer (stopky) Program měří čas do události Ticker (budík) Program provede akci v daný čas Detailnější popis na os.mbed.com 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 17

Registrace nového uživatele - návod http://www.developer.mbed.org/ 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 18

Signup = registrace Pozděli už jen Login 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 19

Zadání osobních údajů Souhlas s podmínkami 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 20

Vstup do programovacího prostředí (Compileru) 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 21

Výběr kitu, který chceme programovat 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 22

Přidat nové zařízení 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 23

Volba ze seznamu podporovaných zařízení 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 24

Podrobnosti o konkrétním zařízení 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 25

Přidat zařízení do Compileru 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 26

V compileru: volba správného zařízení 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 27

Práce s compilerem Volba kitu Hlavní okno kód programu Projekty Výpisy událostí 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 28

Práce s compilerem Hotový program: 1. Kompilovat 2. Soubor se přeloží do.bin (.hex) a stáhne se 3. Přes USB kopírovat do kitu jako na flash disk 4. Program se sám nahraje 5. Program běží 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 29

Základy programování - C v mbed Vykonávání programu Od začátku funkce main(){} Deklarace proměnných před main globální, v blocích lokální Proměnné Celá čísla Inicializace: int x; Zápis: x = 15; Desetinná float nebo double 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 30

Základy programování - C v mbed Smyčky while(podmínka){kód;} kód se vykonává pokud je splněna podmínka for(vstupní_příkaz;podmínka;příkaz_na_konci_ka ždé_smyčky){kód;} Používána pro cyklus o daném počtu opakování Podmínky if(podmínka1){kód při splnění1;}else if(podmínka2){kód při splnění2;}else{kód při nesplnění;} Čekací funkce wait_ms(čas v ms) udání času celým číslem Možno i režim sekundy, mikrosekundy 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 31

Digitální výstupy, vstupy Výstupy Třída DigitalOut Inicializace: DigitalOut oznaceni(nazev_pinu, vychozi_stav); Ovládání: oznaceni = 1; nebo oznaceni = 0; Čtení výstupu: int promenna; promenna = oznaceni; 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 32

Digitální výstupy, vstupy Vstupy Třída DigitalIn Inicializace: DigitalIn oznaceni(nazev_pinu, (mód)); mód volitelný PullUp, PullDown, PullNone, OpenDrain Čtení: int promenna; Promenna = oznaceni; Tlačítka stisknutá v 0, mód Pullup vhodný 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 33

Příklad 1. ovládání Digitálního výstupu (pinu) STM32F303 Nucleo Inicializace výstupu: DigitalOut myout(pa_5); Na Pinu PA_5 je shodou okolností LED dioda stav pinu tedy vidíme díky diodě přímo na kitu V nekonečné smyčce: myout = 1; // aktivuje pin wait(0.2); // čekání, pin aktivní myout = 0; // deaktivace pinu wait(1.0); // čekání 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 34

Příklad 2. blikání BBC micro:bit Inicializace 2 výstupů Matice 5x5 LED je řízena aktivací řádku a sloupce + Rozsvícení = Řádek (+) Sloupec (-) - 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 35

Příklad 2. blikání BBC micro:bit DigitalOut slupec0(p0_4, 1); DigitalOut radek0(p0_13, 1); int main() { while(1) { slupec0 = 0; LED wait(0.2); slupec0 = 1; wait(0.5); } } //Rozsviceni //200 ms //zhasnuti LED //500ms 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 36

Příklad 3. Digitální vstup STM32F303 Nucleo Inicializace: DigitalIn mybutton(pc_13); PC_13 odpovídá user tlačítku Stisknuté tlačítko odpovídá: mybutton == 0 Program: while(1) { } if (mybutton == 0) { myled =!myled; wait(0.2); } 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 37

Analogové výstupy Analogový výstup Inicializace: AnalogOut oznaceni (nazev_pinu); Ovládání: oznaceni = 0,15; Desetinné číslo 0 1 Ne všechny kity disponují DA převodníkem -> AnalogOut se simuluje PWM signálem 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 38

Analogové vstupy Analogový vstup AD převod Inicializace analogového vstupu: AnalogIn oznaceni(nazev_pinu); Čtení analogového vstupu: oznaceni.read(); načte desetinnou hodnotu 0-1 (float) oznaceni.read_u16(); načte celé číslo 0 65535 Přepočet na napětí dle rozsahu BBC: Ux = 3,3 * oznaceni STM32F303: Ux = 5 * oznaceni Př. 4 ukázka jednoduchého voltmetru 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 39

PWM výstup Forma digitálního výstupu Místo DigitalOut je PwmOut Nastavení periody a střídy Inicializace: PwmOut oznaceni(pin); Nastavení periody: oznaceni.period_us(period); Perioda v μs Nastavení střídy: pwm.write(float_strida); Desetinné číslo 0-1 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 40

Sériová linka - UART (Ukázkový program 0_UART_demo.cpp) Inicializace sériové linky: Serial pc(usbtx,usbrx,9600); - nastav sériovou linku k PC 9600baud (BBC: 115200) Zápis dat: printf( fromat,promenne) zápis zprávy Čtení dat scanf( format,&promenne) načtení zprávy o definovaném formátu Formát udáván formátovým řetězcem %f desetinné číslo %d celé číslo %s obecný řetězec znaků 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 41

Závěr Děkuji za pozornost Prostor pro dotazy popřípadě na mailu: kurkape6@fel.cvut.cz 28. 6. 2018 Výuková laboratorní sestava - seminář pro učitele 42