Základy programovania: Rozdiel medzi revíziami
Prejsť na navigáciu
Prejsť na vyhľadávanie
Bez shrnutí editace |
Bez shrnutí editace |
||
| Riadok 55: | Riadok 55: | ||
| <code>loop()</code> || Dookola stále znova || Hlavná logika programu | | <code>loop()</code> || Dookola stále znova || Hlavná logika programu | ||
|} | |} | ||
=== Podmienky === | |||
{| class="wikitable" | |||
|- | |||
! Štruktúra !! Použitie !! Príklad | |||
|- | |||
| <code>if</code> || Vykoná kód ak je podmienka splnená || <code>if (x > 10) { ... }</code> | |||
|- | |||
| <code>if / else</code> || Vykoná jeden z dvoch blokov || <code>if (x > 10) { ... } else { ... }</code> | |||
|- | |||
| <code>if / else if / else</code> || Vykoná jeden z viacerých blokov || <code>if (x > 30) { ... } else if (x > 10) { ... } else { ... }</code> | |||
|} | |||
<syntaxhighlight lang="C"> | |||
float vzdialenost = getDistance(); | |||
if (vzdialenost > 30) { | |||
// ďaleko | |||
} else if (vzdialenost > 10) { | |||
// stredne | |||
} else { | |||
// blízko | |||
} | |||
</syntaxhighlight> | |||
=== Cykly === | |||
{| class="wikitable" | |||
|- | |||
! Štruktúra !! Použitie !! Príklad | |||
|- | |||
| <code>for</code> || Opakuj N-krát || <code>for (int i = 0; i < 10; i++)</code> | |||
|- | |||
| <code>while</code> || Opakuj kým je podmienka splnená || <code>while (millis() - start < 1000)</code> | |||
|} | |||
<syntaxhighlight lang="C"> | |||
// for – prejdi pole frekvencií | |||
for (int i = 0; i < pocetFrekvencii; i++) { | |||
playNote(frekvencie[i]); | |||
} | |||
// while – hraj tón po dobu 1 sekundy | |||
long start = millis(); | |||
while (millis() - start < 1000) { | |||
playNote(1000); | |||
} | |||
</syntaxhighlight> | |||
=== Funkcie === | === Funkcie === | ||
| Riadok 107: | Riadok 157: | ||
// Volanie – hodnoty sa priradia v rovnakom poradí | // Volanie – hodnoty sa priradia v rovnakom poradí | ||
setColor(HIGH, LOW, HIGH); // r=HIGH, g=LOW, b=HIGH → fialová | setColor(HIGH, LOW, HIGH); // r=HIGH, g=LOW, b=HIGH → fialová | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Verzia z 00:15, 1. máj 2026
Základy programovania
Počas tutoriálu budeme používať niekoľko základných typov premenných a konceptov. Tu je rýchly prehľad:
Premenné
Premenná je "škatuľka" v pamäti mikrokontroléra, do ktorej si uložíme nejakú hodnotu. Každá premenná má typ – ten určuje aké hodnoty môže uchovávať.
| Typ | Čo uchováva | Rozsah | Príklad |
|---|---|---|---|
int |
Celé číslo | -32 768 až 32 767 | int frekvencia = 1000;
|
long |
Veľké celé číslo | -2 147 483 648 až 2 147 483 647 | long trvanie = 50000;
|
float |
Desatinné číslo | ±3.4 × 10³⁸ | float vzdialenost = 23.5;
|
bool |
Pravda / nepravda | true alebo false |
bool aktivny = false;
|
String |
Text | ľubovoľný text | String text = "Ahoj";
|
Operátory
| Operátor | Význam | Príklad |
|---|---|---|
+ - * / |
Základná aritmetika | int x = 10 + 5;
|
== |
Rovná sa (porovnanie) | if (x == 15)
|
!= |
Nerovná sa | if (x != 0)
|
> < |
Väčší / menší ako | if (x > 10)
|
++ |
Zvýš o 1 | i++ → rovnaké ako i = i + 1
|
-- |
Zníž o 1 | i-- → rovnaké ako i = i - 1
|
! |
Negácia (otočí bool) | !true = false
|
Štruktúra programu
Každý Arduino program má dve povinné funkcie:
| Funkcia | Kedy sa spustí | Na čo slúži |
|---|---|---|
setup() |
Raz pri zapnutí | Nastavenie pinov, spustenie sériovej komunikácie |
loop() |
Dookola stále znova | Hlavná logika programu |
Podmienky
| Štruktúra | Použitie | Príklad |
|---|---|---|
if |
Vykoná kód ak je podmienka splnená | if (x > 10) { ... }
|
if / else |
Vykoná jeden z dvoch blokov | if (x > 10) { ... } else { ... }
|
if / else if / else |
Vykoná jeden z viacerých blokov | if (x > 30) { ... } else if (x > 10) { ... } else { ... }
|
float vzdialenost = getDistance();
if (vzdialenost > 30) {
// ďaleko
} else if (vzdialenost > 10) {
// stredne
} else {
// blízko
}
Cykly
| Štruktúra | Použitie | Príklad |
|---|---|---|
for |
Opakuj N-krát | for (int i = 0; i < 10; i++)
|
while |
Opakuj kým je podmienka splnená | while (millis() - start < 1000)
|
// for – prejdi pole frekvencií
for (int i = 0; i < pocetFrekvencii; i++) {
playNote(frekvencie[i]);
}
// while – hraj tón po dobu 1 sekundy
long start = millis();
while (millis() - start < 1000) {
playNote(1000);
}
Funkcie
Funkcia je pomenovaný blok kódu, ktorý môžeme zavolať kedykoľvek potrebujeme. Namiesto toho aby sme ten istý kód písali viackrát, napíšeme ho raz do funkcie a potom ju len voláme.
// Definícia funkcie
void playNote(int note) {
// kód funkcie
}
// Volanie funkcie
playNote(1000);
| Časť | Vysvetlenie | Príklad |
|---|---|---|
| Návratový typ | Čo funkcia vracia. void = nič nevracia |
void, int, float, long
|
| Názov | Ľubovoľné meno funkcie | playNote, setColor, stoj
|
| Parametre | Hodnoty ktoré funkcia dostane zvonku | int note, int r, int g, int b
|
| Telo | Kód ktorý sa vykoná pri zavolaní | všetko medzi { a }
|
Funkcie môžu aj vracať hodnotu pomocou return:
// Funkcia ktorá vráti vzdialenosť v cm
float getDistance() {
long trvanie = measurePulse();
return (trvanie * 0.0343) / 2.0; // vráti vypočítanú hodnotu
}
// Použitie
float dist = getDistance(); // dist bude obsahovať výsledok
Funkcie môžu mať aj viac parametrov:
// Funkcia s troma parametrami
void setColor(int r, int g, int b) {
digitalWrite(PIN_R, r);
digitalWrite(PIN_G, g);
digitalWrite(PIN_B, b);
}
// Volanie – hodnoty sa priradia v rovnakom poradí
setColor(HIGH, LOW, HIGH); // r=HIGH, g=LOW, b=HIGH → fialová