V minulé lekci A6 jsme se naučili ovládat tlačítka. Na skutečných lampách je tlačítko obvykle jen jedno. Prvním stiskem zapneme, druhým stiskem vypneme. Takže si v této lekci ukážeme program, který nám bude naši lampu (blok LED diod) zapínat a vypínat jen jedním tlačítkem a to např. tlačítkem “A”.
Pokud použijeme jen jedno tlačítko „A“, tak při jeho stisku se musí počítač rozhodnout, jestli má displej zhasnout nebo rožnout. Stav jestli je rožnuto nebo zhasnuto můžeme zjistit více způsoby. Já jsem si zvolil způsob, že si vytvořím proměnnou se jménem „stav“, která bude obsahovat logickou hodnotu true nebo false podle toho, jestli mám zhasnuto nebo rozsvíceno.
Můj dotaz na hodnotu v proměnné „stav“ bude tedy „je rozsvíceno ?“.
- pokud je stav true je třeba zhasnout a nastavit novou hodnotu do proměnné „stav“ a to false
- pokud je stav false je třeba rozsvítit a nastavit novou hodnotu do proměnné „stav“ a to true
A malinko k logickým hodnotám. Co je opakem pravdy? U programátorů to není lež ale nepravda. Takže opakem true je false a opakem false je true. Pro udělání opaku máme slůvko not.
Takže not true je false a not false je true. Radši si přečtěte ještě jednou poslední dva odstavce a pomalu, než budeme pokračovat dále.
Tak a jdeme psát program. Na začátku si rozsvítíme naši lampičku naplno blokem „set brightness“ kde nastavíme hodnotu 255 (to je maximum).
Vytvoříme si proměnnou „stav“ do které vložíme hodnotu false (na začátku je lampička zhasnutá). Hodnotu false i true najdeme v menu Logic. Vše ostatní už bylo řečeno v lekci A6, takže hurá na to:
Všimněte si, že není třeba porovnávat obsah proměnné „stav“ s hodnotou true, v proměnné stav už je přímo tato hodnota.
Úkoly pro tuto lekci :
- zkuste rozšířit program, že tlačítkem „B“ budeme ovládat jas displeje. Prvním stiskem snížíme jas na polovinu („set_brightness“ bude 127), druhým stiskem to vrátíme opět na plný jas.
Nápověda : Použijte další proměnnou, například se jménem „jas“ ve které bude zase hodnota true nebo false. Nezapomeňte tuto hodnotu nastavit již v bloku kleští „on_start“. Pak už můžete téměř opisovat z principu základního programu.