Zde je připraveno zadání úkolu jak jsem o něm hovořil na úvodní schůzce Robozoru. Předpokladem je mít přístup k počítači s internetem.
Úkolem je napsat zdrojový kód k robotu Lego, který lze zvládnout i dětmi, které nikdy neprogramovaly. Důležité je, zda tomu chtějí nějakou energii věnovat. Zdrojový kód bude napsán v textovém souboru, který bude mít v názvu jméno a příjmení dítěte (například: josef_szylar.txt).
Zdrojový kód bude ovládat robota se 2 motory, připojenými na výstupy (levý motor na A a pravý motor na C) lego kostky a jedním světelným senzorem připojeným na vstup číslo 2.
Zdrojový kód bude vykonávat následující úkoly, které jsem rozdělil podle složitosti:
1. Robot pojede rovně a zastaví se po 5ti vteřinách
2. Robot pojede rovně po bílé ploše po trase na které budou napříč 3 černé čáry cca po 5ti centimetrech za sebou, pípne při každém přejetí čáry a zastaví po 5ti vteřinách
3. Robot pojede rovně po bílé ploše po trase na které budou napříč 3 černé čáry cca po 5ti centimetrech za sebou, pípne při každém přejetí čáry a zastaví po přejetí 3tí čáry
Děti si mohou vybrat jakou úlohu naprogramují, nebo mohou provést všechny tři.
Programovací jazyk je „NQC“ (Not Quite C), který je velmi podobný syntaxi jazyka C s příkazy pro robota Lego ze stavebnice Lego MindStorms RCX2.
Níže je uveden tutoriál v češtině, podle kterého je možné program napsat. Tutoriál neobsahuje přímo tento zdrojový kód, děti ho tedy nemohou jen opsat. Obsahuje však podobné ukázky pro jednotlivé kroky.
Hodnotí se funkčnost kódu, čitelnost kódu (zarovnání apod. viz tutoriál) a zejména komentáře!!!! Komentáře jsou vedle funkčnosti stěžejní, kdy je třeba komentovat u každého řádku programu co vlastně programátor zamýšlí uvedeným řádkem kódu realizovat. Opět viz tutorial.
Zdatnější si mohou nainstalovat program pro psaní kódu a otestovat správnost syntaxe (správnost příkazů, parametrů, překlepy…) tím, že ho zkompilují. Toto už je poněkud složitější a vyžaduje to alespoň částečnou znalost „počítačové“ angličtiny a trochu zkušeností s programováním. K tomu je možné využít editor zdrojového kódu jazyka NQC. My používáme například Bricx Command Center 3.3 (stránky: http://bricxcc.sourceforge.net/). Níže je uvedena možnost jejího stažení i z našich stránek. K funkčnosti programu je však potřeba stáhnout i program kompiler NQC (http://bricxcc.sourceforge.net/nqc/), která nemá uživatelské rozhraní a který uvedený editor používá pro vlastní překlad zdrojového kódu. Po spuštění programu Bricx Command Center 3.3 můžete ignorovat úvodní obrazovku s připojením Lego věže tlačítkem Cancel.
Upozorňuji, že pro napsaní kódu NENÍ TENTO SOFTWARE NUTNÝ!!!! Kód je možno napsat v libovolném textovém editoru (například „Poznámkový blok“ z Windows.
Textové soubory odešlete nejpozději do středy 25.9. do 16:00 na email: info(at)robozor.cz, kde místo (at) dejte logicky zavináč. Pokud budou nějaké problémy, mohou se obrátit opět na můj email. Výsledek dám zde na stránky nejpozději ve středu do 21.00. Také ho pošlu jednotlivým dětem na emaily ze kterých mi soubor přijde. Podle počtu lze přijmout maximálně 2 nové členy. Pro ty, na které se letos nedostane a kteří budou mít chuť to zkusit další rok, doporučuji najít nějaký kroužek základů programování nebo elektrotechniky. Například v DDM je kroužek programování, pokud vím, v úterý od 17:00 nebo radiotechniku. Jednička (základy) je v pondělí (ale až za 14 dni) v 16:30 a dvojka (pokročilejší) v úterý od 16:00.
Zdroje informací:
ZDE je tutoriál s podrobným popisem a návodem ve formátu PDF
ZDE je příklad jednoho složitějšího algoritmu, ze kterého lze vykoukat způsob a styl psaní kódu
ZDE jsou stránky o programu Bricx Command Center 3.3 (editoru zdrojových kódů pro Lego), který používáme
ZDE je možno stáhnout ze stránek Robozoru ověřenou funkční verzi tohoto editoru Bricx Command Center 3.3
ZDE jsou stránky o kompileru, který editor používá pro překlad zdrojového kódu a kde je i možnost jeho stažení
Další informace o naší široké činnosti, která je nejen robotická, ale s dětmi se zajímáme i o astronomii a radioastronomii, můžete najít na stránkách