V první lekci kurzu se naučíme, jakým způsobem tvoříme a pracujeme s proměnnými, a zkusíme si praktickou ukázku.
V úvodní lekci jsme takřka probrali nutný základ, který musíme znát, ale ještě nám chybí důležitá věc a to jsou proměnné. Ihned po nich si zkusíme naprogramovat na osmi LED diodách efekt běžícího hada.
Proměnné
Proměnné jsou důležitým prvkem, který budete při programování používat často. Proměnné se dělí do dvou skupin, a to na univerzální a speciální.
Univerzální
U procesorů PICAXE máme k dispozici 14 8bitových proměnných, které mohou být zdvojované v 16bitová slova. Vše nám objasní následující tabulka.
Word | Nižší - vyšší byte |
w0 | b0 - b1 |
w1 | b2 - b3 |
w2 | b4 - b5 |
w3 | b6 - b7 |
w4 | b8 - b9 |
w5 | b10 - b11 |
w6 | b12 - b13 |
Všechny univerzální proměnné jsou neznaménkové, a tudíž můžete ukládat čísla 0-255. Při spuštění programu jsou všechny incializované hodnotou nula. K jednotlivým bitům proměnných b0
a b1
můžeme přistupovat pomocí bit0-bit15
.
Speciální
Pod pojmem speciální si můžeme představit určitý typ proměnných, který je vyhrazený pro konkrétní úlohu a v žádné jiné souvislosti jej nelze použít. Řadí se mezi ně proměnné pins, infra, keyvalue
.
Pro nás je zatím důležitá pouze proměnná pins
, která slouží k přiřazení hodnoty výstupních pinů (nalevo od rovnítka) nebo přečtení aktuálního stavu vstupů (napravo od rovnítka).
Praktické cvičení
Ke cvičení jsem vybral možná poněkud ohraný, ale přesto pěkný příklad, a to efekt "běžícího hada". Budeme k němu potřebovat:
- 8× LED
- 8× 330R
A samozřejmě i nějaký ten mikroprocesor. Zapojení je víc než názorné:
V praxi by však bylo vhodnější místo jednotlivých rezistorů zapojit rezistorovou síť, abychom ušetřili místo na DPS.
Náš program bude fungovat následovně: v cyklu budeme přepínat hodnoty na výstupech, kde máme připojené diody. Dioda bude svítit, když bude výstup uzemněn. Takže na začátku programu musíme všechny výstupy nastavit na hodnotu 1 a poté postupně posunovat 0 na každém výstupu.
pins = %11111111 ;zhasne všechny diody
main:
pause 1000
low 0 pause 200 high 0 ;postupně přepíná s 200ms pauzou
low 1 pause 200 high 1
low 2 pause 200 high 2
low 3 pause 200 high 3
low 4 pause 200 high 4
low 5 pause 200 high 5
low 6 pause 200 high 6
low 7 pause 200 high 7
goto main
Funkčnost si můžete nejprve ověřit v simulaci a poté nahrát do procesoru. Pokud máte vše dobře zapojené a naprogramované, tak by měly diody postupně přeblikávat.
Určitě si řeknete, že efekt je poněkud neohrabaný, běhá pořád jedním směrem, občas je viditelné zhasnutí všech diod. Efekt lze zlepšit například tím, že necháme svítit více diod zároveň nebo vylepšíme přepínání tak, aby se neobjevovalo zhasnutí všech diod.
Poznámka: Zkuste upravit hada tak, aby se vracel zpátky a nekončil pořád na jedné straně.