IoT: Seznámení
m (Stránka Letní IoT: Seznámení přemístěna na stránku IoT: Seznámení) |
m (Vypuštěn duplicitní nadpis komentáře.) |
||
(Není zobrazeno 15 mezilehlých verzí od 1 uživatele.) | |||
Řádka 1: | Řádka 1: | ||
− | [[Category:VSE]][[Category:Informatika]][[Category:Letní IoT]] | + | [[Category:VSE]][[Category:Informatika]][[Category:Letní IoT]][[Category:IoT]][[Category:Učebnice IoT]] |
== Členění kódu v Arduino IDE == | == Členění kódu v Arduino IDE == | ||
Řádka 20: | Řádka 20: | ||
Když potřebujeme napsat poznámku ke kódu, či zakomentovat kód (aby se neprováděl), použijeme komentáře | Když potřebujeme napsat poznámku ke kódu, či zakomentovat kód (aby se neprováděl), použijeme komentáře | ||
− | + | <div class="Syntaxe"> | |
− | + | <nowiki> | |
− | + | // jednořádkový komentář | |
− | + | </nowiki> | |
− | + | ||
− | + | ||
+ | /* | ||
+ | více | ||
+ | |||
+ | řádkový | ||
+ | |||
+ | komentář | ||
+ | <nowiki> | ||
+ | */ | ||
+ | </nowiki> | ||
+ | |||
+ | |||
+ | /** Komentář | ||
+ | |||
+ | <nowiki> | ||
+ | * k metodě | ||
+ | </nowiki> | ||
+ | |||
+ | <nowiki> | ||
*/ | */ | ||
+ | </nowiki> | ||
+ | </div> | ||
== Pozastavení provádění kódu == | == Pozastavení provádění kódu == | ||
− | Když potřebujeme počkat (např. aby LEDka zůstala nějakou dobu svítit), tak použijeme metodu | + | Když potřebujeme počkat (např. aby LEDka zůstala nějakou dobu svítit), tak použijeme metodu |
+ | |||
+ | <div class="Syntaxe"> | ||
+ | delay(čas); | ||
+ | </div> | ||
Čas je uváděn v ''milisekundách'' - tj. počkání po dobu 1. sekundy → <code>delay(1000);</code> | Čas je uváděn v ''milisekundách'' - tj. počkání po dobu 1. sekundy → <code>delay(1000);</code> | ||
Řádka 36: | Řádka 60: | ||
delay(500); // počká půl sekundy | delay(500); // počká půl sekundy | ||
− | |||
− | |||
== Proměnné == | == Proměnné == | ||
− | === | + | === Datové typy === |
Jsou různé datové typy, my budeme využívat nejvíce: | Jsou různé datové typy, my budeme využívat nejvíce: | ||
Řádka 46: | Řádka 68: | ||
* text - String | * text - String | ||
* ano / ne - boolean | * ano / ne - boolean | ||
+ | |||
+ | === Proměnná === | ||
+ | |||
+ | Část paměti, která má datový typ a má něco uloženo v sobě. | ||
+ | |||
+ | <div class="Syntaxe"> | ||
+ | int prodleva; | ||
+ | |||
+ | int pauza = 200; | ||
+ | |||
+ | String jmeno = "Karel"; | ||
+ | </div> | ||
+ | |||
+ | Máme proměnnou s názvem ''prodleva'', datový typ je ''int'' (celé číslo) a nemá v sobě nic uloženého. | ||
+ | |||
+ | Máme proměnnou s názvem ''pauza'', datový typ je ''int'' (celé číslo) a je v ní uložena hodnota 200. | ||
+ | |||
+ | Máme proměnnou s názvem ''jmeno'', datový typ je ''String'' a je v ní uloženo ''Karel''. | ||
=== Práce s intem === | === Práce s intem === | ||
int cislo; //definuji proměnnou s názvem číslo | int cislo; //definuji proměnnou s názvem číslo | ||
− | + | int cislo = 6; //definuji proměnnou s názvem číslo a dám ji číslo 6 | |
cislo = 8; //proměnné cislo dám číslo 8 | cislo = 8; //proměnné cislo dám číslo 8 | ||
cislo++; //proměnná cislo se zvýší o 1 | cislo++; //proměnná cislo se zvýší o 1 | ||
Řádka 62: | Řádka 102: | ||
boolean splneno = true; | boolean splneno = true; | ||
boolean splneno = false; | boolean splneno = false; | ||
− | + | splneno = true; | |
− | + | splneno = false; | |
− | + | splneno = !splneno; //nastaví se to na opak | |
=== Proměnná v delay === | === Proměnná v delay === | ||
Řádka 71: | Řádka 111: | ||
To je vcelku nepraktické, co?... Takže využijeme proměnné. Chceme, aby se proměnná jmenovala prodleva a byla na 2 sekudny - tj. 2000 ms. | To je vcelku nepraktické, co?... Takže využijeme proměnné. Chceme, aby se proměnná jmenovala prodleva a byla na 2 sekudny - tj. 2000 ms. | ||
− | int prodleva = 2000; | + | int prodleva = 2000; // (napíšeme na začátek - před void setup()) |
delay(prodleva); // počká prodlevu (tj. 2 sekundy) | delay(prodleva); // počká prodlevu (tj. 2 sekundy) | ||
+ | |||
+ | === Desetinné číslo === | ||
+ | |||
+ | Zatím jsme si ukázali jen '''int''', jako číselný datový typ. Ale co když budeme chtít uložit číslo 12,6? | ||
+ | |||
+ | Tak musíme použít datový typ ''float'', či ''double''. | ||
+ | |||
+ | Jinak se s něma pracuje stejně jako s ''int''em. | ||
+ | |||
+ | float teplota = 23.4; | ||
+ | |||
+ | teplota = cidlo.getTeplota(); | ||
+ | |||
+ | Float má ''jen'' 6 desetinných míst. Double jich má 15. | ||
+ | |||
+ | == Náhodné číslo == | ||
+ | |||
+ | Pro náhodné číslo použijeme metodu: | ||
+ | |||
+ | <div class="Syntaxe"> | ||
+ | random(hodnota1, hodnota2); | ||
+ | </div> | ||
+ | |||
+ | ''hodnota1'' – minimální hodnota | ||
+ | |||
+ | ''hodnota2'' – maximální hodnota | ||
+ | |||
+ | Chceme náhodné číslo v rozsahu od 1 do 100. | ||
+ | |||
+ | random(1, 100); | ||
+ | |||
+ | <div class="Priklad"> | ||
+ | [https://github.com/CestmirKolarik/IoTucebnice/blob/main/ArduinoIDE/Random/Random.ino Kód.] | ||
+ | </div> | ||
+ | |||
+ | [http://wiring.org.co/reference/random_.html Oficiální dokumentace ] |
Aktuální verze z 8. 6. 2022, 05:42
Obsah |
Členění kódu v Arduino IDE
Při vytvoření nového souboru tam máte dvě metody void setup() a void loop()
//zde se definují proměnné, importují knihovny, apod: void setup() { // put your setup code here, to run once: // zde napište to, co se má spustit na začátku: } void loop() { // put your main code here, to run repeatedly: // zde napište to, co má běžet pořád dokola: }
Komentáře
Když potřebujeme napsat poznámku ke kódu, či zakomentovat kód (aby se neprováděl), použijeme komentáře
// jednořádkový komentář
/*
více
řádkový
komentář */
/** Komentář
* k metodě
*/
Pozastavení provádění kódu
Když potřebujeme počkat (např. aby LEDka zůstala nějakou dobu svítit), tak použijeme metodu
delay(čas);
Čas je uváděn v milisekundách - tj. počkání po dobu 1. sekundy → delay(1000);
delay(500); // počká půl sekundy
Proměnné
Datové typy
Jsou různé datové typy, my budeme využívat nejvíce:
- čísla - int
- text - String
- ano / ne - boolean
Proměnná
Část paměti, která má datový typ a má něco uloženo v sobě.
int prodleva;
int pauza = 200;
String jmeno = "Karel";
Máme proměnnou s názvem prodleva, datový typ je int (celé číslo) a nemá v sobě nic uloženého.
Máme proměnnou s názvem pauza, datový typ je int (celé číslo) a je v ní uložena hodnota 200.
Máme proměnnou s názvem jmeno, datový typ je String a je v ní uloženo Karel.
Práce s intem
int cislo; //definuji proměnnou s názvem číslo int cislo = 6; //definuji proměnnou s názvem číslo a dám ji číslo 6 cislo = 8; //proměnné cislo dám číslo 8 cislo++; //proměnná cislo se zvýší o 1 cislo--; //proměnná cislo se sníží o 1 delay(cislo); //počká to tolik, kolik je proměnná číslo (když 1000 - tak sekundu) delay(2 * cislo); //počká to dvojnásobek proměnné číslo
Práce s booleanem
boolean je datový typ, který má 2 stavy, 0 / 1, ne / ano, false / true
boolean splneno = true; boolean splneno = false; splneno = true; splneno = false; splneno = !splneno; //nastaví se to na opak
Proměnná v delay
V některých případech máme prodlevu vždy stejnou a opakuje se nám tam vícekrát - když se rozhodneme, že ji změníme, tak to musíme celé přepisovat. To je vcelku nepraktické, co?... Takže využijeme proměnné. Chceme, aby se proměnná jmenovala prodleva a byla na 2 sekudny - tj. 2000 ms.
int prodleva = 2000; // (napíšeme na začátek - před void setup()) delay(prodleva); // počká prodlevu (tj. 2 sekundy)
Desetinné číslo
Zatím jsme si ukázali jen int, jako číselný datový typ. Ale co když budeme chtít uložit číslo 12,6?
Tak musíme použít datový typ float, či double.
Jinak se s něma pracuje stejně jako s intem.
float teplota = 23.4; teplota = cidlo.getTeplota();
Float má jen 6 desetinných míst. Double jich má 15.
Náhodné číslo
Pro náhodné číslo použijeme metodu:
random(hodnota1, hodnota2);
hodnota1 – minimální hodnota
hodnota2 – maximální hodnota
Chceme náhodné číslo v rozsahu od 1 do 100.
random(1, 100);