Web nejen o robotice

Blokové programování pro běžné mikrokontroléry: Přehled nástrojů

Reklama:

Úvod

Blokové programování se stalo populární metodou pro výuku i rychlý vývoj aplikací na mikrokontrolérech (MCU). Umožňuje intuitivní skládání programů z grafických bloků bez nutnosti psát kód, což je ideální pro začátečníky i pedagogy. V tomto článku najdete přehled nejběžnějších nástrojů pro blokové programování MCU, které podporují jazyky jako C/C++, MicroPython, JavaScript nebo Lua, včetně informací o podporovaných platformách a mikrokontrolérech.

Microbloky v MicroBlocks.fun

Přehled nástrojů pro blokové programování mikrokontrolérů

Nástroj Webová adresa Podporované jazyky Podporované MCU/skupiny
Microsoft MakeCode makecode.microbit.org Bloky, JavaScript, MicroPython BBC micro:bit, Adafruit Circuit Playground Express, Calliope mini, některé Arduino desky1 2 3
MicroBlocks microblocks.fun Bloky (vlastní jazyk podobný Scratch), částečně JavaScript BBC micro:bit, Calliope mini, Adafruit Circuit Playground Express, Raspberry Pi Pico, ESP32, ESP8266 a další1 4 5
Blockly for PICAXE picaxe.com/blockly Bloky, PICAXE BASIC, JavaScript PICAXE mikrokontroléry (řada PIC)6 7
12Blocks instructables.com/Program-a-microcontroller-With-12Blocks/ Bloky, Spin Parallax Propeller8
Vizuální programování v Lua/LÖVE (webová aplikace, více viz VUT Brno) Bloky, Lua PC, Android (výukové prostředí, nikoliv přímo MCU)9

Microsoft MakeCode

  • Popis: Oficiální blokové prostředí pro BBC micro:bit, podporuje také přepínání do JavaScriptu a MicroPythonu. Nabízí simulátor, rozšíření pro různé periferie a jednoduché uživatelské rozhraní1 2 3.
  • Podporované MCU: BBC micro:bit, Adafruit Circuit Playground Express, Calliope mini, některé Arduino desky.
  • Jazyky: Bloky (vizuální), JavaScript, MicroPython.

MicroBlocks

  • Popis: Otevřený blokový jazyk inspirovaný Scratchem, určený pro přímé programování a ladění na různých MCU. Podporuje živé programování a paralelní skripty1 4 5.
  • Podporované MCU: BBC micro:bit, Calliope mini, Adafruit Circuit Playground Express, Raspberry Pi Pico, ESP32, ESP8266 a další.
  • Jazyky: Bloky (vlastní jazyk podobný Scratch, částečně JavaScript).

Blockly for PICAXE

  • Popis: Bezplatný blokový editor pro mikrokontroléry PICAXE. Umožňuje převod blokových programů do jazyka PICAXE BASIC nebo JavaScriptu a jejich nahrání do čipu, včetně simulace6 7.
  • Podporované MCU: PICAXE (řada PIC).
  • Jazyky: Bloky, PICAXE BASIC, JavaScript.

12Blocks

  • Popis: Alternativní blokové IDE pro Parallax Propeller MCU. Umožňuje přepínání mezi bloky a jazykem Spin, nabízí vestavěný debugger a podporu pro různé periferie8.
  • Podporované MCU: Parallax Propeller.
  • Jazyky: Bloky, Spin.

Vizuální programování v Lua/LÖVE

  • Popis: Výuková webová aplikace pro blokové i textové programování v Lua/LÖVE, zaměřená na tvorbu her a výuku programování. Výsledné aplikace lze spouštět na Androidu, nikoliv přímo na MCU9.
  • Podporované platformy: PC, Android (ne MCU).
  • Jazyky: Bloky, Lua.

Závěr

Blokové programování je dnes dostupné pro širokou škálu běžných mikrokontrolérů, včetně těch, které lze programovat v jazycích C/C++, MicroPython, JavaScript nebo Lua. Největší podporu a rozšíření mají nástroje jako Microsoft MakeCode a MicroBlocks, které pokrývají nejen BBC micro:bit, ale i další populární platformy. Blockly for PICAXE a 12Blocks jsou vhodné pro specifické MCU, zatímco vizuální programování v Lua/LÖVE je zajímavou možností pro výuku a tvorbu her. Výběr vhodného nástroje závisí na konkrétním typu mikrokontroléru a preferovaném programovacím jazyce1 2 4.


  1. https://www.gymvr.cz/informatika/05 Blokove vizualni programovani/Jan_Prsala_dp_Microbit.pdf 

  2. https://imysleni.cz/images/vzdelavaci_materialy/microbit_makecode/Microbit_s_Makecode_metodika_pro_ucitele.pdf 

  3. https://bastlirna.hwkitchen.cz/uvod-do-programovaciho-prostredi-makecode-microbit/ 

  4. https://microblocks.fun/what-is-microblocks 

  5. https://www.cnx-software.com/2023/01/30/microblocks-visual-programming-interface-for-32-bit-microcontrollers/ 

  6. https://picaxe.com/software/picaxe/blockly-for-picaxe/ 

  7. https://chromewebstore.google.com/detail/picaxe-blockly/hhdlapnjifkkcpghcapopejopnbpapnb 

  8. https://www.instructables.com/Program-a-microcontroller-With-12Blocks/ 

  9. https://dspace.vut.cz/items/0d479175-87a3-4a43-8c03-e4f6ba97d7df 

  10. https://www.tme.eu/cz/news/library-articles/page/58200/jak-naprogramovat-mikrokontroler-nejoblibenejsi-programovaci-jazyky-pro-mikrokontrolery/ 

  11. https://www.voxcafe.cz/mindblog/clanky/embedded-systemy/zaklady-mcu.html 

  12. https://www.voxcafe.cz/mindblog/clanky/arduino/kompletni-pruvodce-mikrokontrolerem-atmega328p.html 

  13. https://www.fi.muni.cz/pv264/files/pv264_s08b_lua.pdf 

  14. https://robodoupe.cz/2020/programovanie-microbitu-v-jazyku-python-1-cast/ 

  15. https://www.dps-az.cz/getFile/id:84165/Programovanie-MicroBitu-Python.pdf 

  16. https://wiki.microblocks.fun/boards/supported 

  17. https://learn.birdbraintechnologies.com/slpage/hummingbird-bit-with-microblocks/ 

  18. https://www.reddit.com/r/ProgrammingLanguages/comments/1cufmy1/languages_for_microcontrollers/ 

  19. https://www.hackster.io/tguneysu/oled-display-driver-written-100-in-microblocks-969cae 

  20. https://opensource.com/article/20/11/microblocks 

  21. https://learn.birdbraintechnologies.com/slpage/finch-2-0-with-microblocks/ 

  22. https://is.muni.cz/th/jfoks/dp_cechm_Archive.pdf 

  23. https://www.vut.cz/www_base/zav_prace_soubor_verejne.php?file_id=40661 

  24. https://apps.microsoft.com/detail/9nmqdq2xzkwk 

  25. https://makecode.microbit.org/?lang=cs 

  26. https://www.microsoft.com/sk-sk/p/microsoft-makecode-for-micro-bit/9nmqdq2xzkwk 

  27. https://apps.microsoft.com/detail/9nwh29b68gth 

  28. https://iil.is/openlab/66 

  29. https://github.com/microBlock-IDE/MicroUploader