2. Proměnné
int pin = 13;
int pauza = 1000;
void setup() {
pinMode(pin, OUTPUT);
}
void loop() {
digitalWrite(pin, HIGH);
delay(pauza);
digitalWrite(pin, LOW);
delay(pauza);
}
PROJECT: Arduino MakersLAB / Paralelní
Polis // Milan "Sodomák" Půlkrábek
3. Typy proměnných
typ velikost rozsah
signed unsigned
char 8 b −128 až 127 0 až 255
int 16 b −32768 až 32767 0 až 65535
long 32 b
−2147483648
až 2147483647
0 až 4294967295
boolean 8 b true nebo false
PROJECT: Arduino MakersLAB / Paralelní
Polis // Milan "Sodomák" Půlkrábek
typ velikost rozsah
float 32 b 3,4x1038 až 3,4x1038
double 64 b −1,7x10308 až 1,7x10308
5. Logické:
• false – hodnota 0
• true – nejen 1, ale jakékoliv nenulové číslo
Typ digitálního pinu:
• OUTPUT – nastaví pin jako výstup (40mA)
• INPUT – nastaví pin jako vstup
• INPUT_PULLUP – jako INPUT, ale výchozí hodnota je HIGH (vnitřní rezistor
připojen na +5V)
Hodnoty napětí na pinu:
• HIGH – 5V při výstupu, při vstupu pokud je větší než 3V
• LOW – 0V při výstupu, při vstupu pokud je menší než 2V
Vlastní:
#define NÁZEV hodnota // bez středníku nebo
const typ NÁZEV = hodnota;
Konstanty
7. Podmínka „if“
Syntaxe:
if (podmínka) {
příkazy... ;
} else {
příkazy... ;
}
}
PROJECT: Arduino MakersLAB / Paralelní
Polis // Milan "Sodomák" Půlkrábek
8. Operátory podmínek
Operátor Kompletní zápis Význam
== x == y pokud se x rovná y
!= x != y pokud se x nerovná y
< x < y pokud je x menší než y
> x > y pokud je x větší než y
<= x <= y pokud je x menší nebo rovno y
>= x >= y pokud je x větší nebo rovno y
PROJECT: Arduino MakersLAB / Paralelní
Polis // Milan "Sodomák" Půlkrábek
Kombinování podmínek:
&& → logický součin (AND)
|| → logický součet (OR)
! → logická negace (NOT)
if((a == 1) && (b == 0)) {…}; // podmínka splněna, pokud a=1 A ZÁROVEŇ b=0
if((a == 1) || (b == 0)) {…}; // podmínka splněna, pokud a=1 NEBO b=0
if(a == !b) {…}; // podmínka splněna, pokud a je opak b (např. a = true a b=false
9. Rezistor
• Pasivní (nedodává energii) elekronická součástka, která klade
průchodu elektrického proudu odpor.
• Hodnota jeho odporu (rezistence) je závislá na teplotě.
• Při větším zatížení, než na které je rezistor určen, se zničí (přehřátím).
• Nezáleží na polaritě.
• Jednotka: Ω [Ohm]
• Rezistence se měří v jednotkách ohm, značeno Ω. Vztah napětí,
proudu a rezistence vyjadřuje Ohmův zákon:
kde I je proud v ampérech, U je napětí ve voltech a R je
odpor v ohmech. Pokud známe 2 veličiny, snadno dopočítáme třetí.
• Rezistor o odporu R = 1 Ω propustí při napětí U = 1 V proud I = 1 A.
• Rezistor o odporu 20 kΩ (tj. 20 000 Ω) propustí při napětí 100 V
proud o velikosti 100/20000, tj. 1/200 A, čili 5 mA.
• Pokud rezistorem o rezistenci 1000 Ω protéká proud 1 µA, tvoří se na
něm napětí 1 mV.
• Pokud víme, že rezistor při napětí 3 V propustil proud 10 mA, víme, že
má rezistenci 300 Ω.
13. Cyklus for
#define LED 11
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
for (int i = 0; i < 256; i++) {
analogWrite(LED, i);
delay(10);
}
}
14. Cyklus while
#define LED 11
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
int i = 0;
while (i < 256)
{
analogWrite(LED, i);
delay(10);
i++;
}
}
15. Cyklus do - while
#define LED 11
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
int i = 0;
do {
analogWrite(LED, i);
delay(10);
i++;
}
while (i < 256);
}
16. Fotorezistor
• Fotorezistor (dříve označován jako fotoodpor) je pasivní elektronická
součástka , jejíž elektrický odpor se snižuje se zvyšující se intenzitou
dopadajícího světla, resp. elektrická vodivost se zvyšuje.
Při přetečení přeroluje na opačnou hodnotu
int x; x = -32768; x = x - 1; // x now contains 32,767 - rolls over in neg. direction
x = 32767; x = x + 1; // x now contains -32,768 - rolls over
unsigned int cislo; signed char zaporne_cislo = -100;
U předposledního příkladu chybí klíčové slovo signed nebo unsigned. Toto slovo je nepovinné a pokud jej neuvedeme, je proměnná automaticky se znaménkem.