Date post: | 14-Apr-2017 |
Category: |
Engineering |
Upload: | milan-pulkrabek |
View: | 345 times |
Download: | 2 times |
PROJECT: ArduinoII.
PROJECT: Arduino MakersLAB / Paralelní Polis // Milan "Sodomák" Půlkrábek
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
Typy proměnnýchtyp velikost rozsah
signed unsignedchar 8 b −128 až 127 0 až 255int 16 b −32768 až 32767 0 až 65535
long 32 b −2147483648 až 2147483647 0 až 4294967295
boolean 8 b true nebo false
typ velikost rozsah
float 32 b 3,4x1038 až 3,4x1038
double 64 b −1,7x10308 až 1,7x10308
ASCII tabulka
PROJECT: Arduino MakersLAB / Paralelní Polis // Milan "Sodomák" Půlkrábek
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 neboconst typ NÁZEV = hodnota;
Konstanty
Konstanty#define LED 13
void setup() { pinMode(LED, OUTPUT);}
void loop() { digitalWrite(LED, HIGH); delay(1000); digitalWrite(LED, LOW); delay(1000);}
PROJECT: Arduino MakersLAB / Paralelní Polis // Milan "Sodomák" Půlkrábek
Podmínka „if“
Syntaxe: if (podmínka) { příkazy... ; } else { příkazy... ; }}
PROJECT: Arduino MakersLAB / Paralelní Polis // Milan "Sodomák" Půlkrábek
Operátory podmínekOperá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
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=0if((a == 1) || (b == 0)) {…}; // podmínka splněna, pokud a=1 NEBO b=0if(a == !b) {…}; // podmínka splněna, pokud a je opak b (např. a = true a b=false
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 Ω.
PROJECT: Arduino MakersLAB / Paralelní Polis // Milan "Sodomák" Půlkrábek
Tlačítko
PROJECT: Arduino MakersLAB / Paralelní Polis // Milan "Sodomák" Půlkrábek
Tlačítko#DEFINE TLACITKO 2;#DEFINE LED 13;
int stavTlacitka = 0;
void setup() { pinMode(LED, OUTPUT); pinMode(TLACITKO, INPUT);}
void loop() { stavTlacitka = digitalRead(TLACITKO);
if (stavTlacitka == HIGH) { digitalWrite(LED, HIGH); } else { digitalWrite(LED, LOW); }}
Cykly
Cyklus for#define LED 11 void setup() { pinMode(LED, OUTPUT);
} void loop() { for (int i = 0; i < 256; i++) { analogWrite(LED, i); delay(10); }}
Cyklus while#define LED 11
void setup() { pinMode(LED, OUTPUT);}
void loop() {
int i = 0;
while (i < 256) { analogWrite(LED, i); delay(10);
i++; }}
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);
}
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.
Teremin
Teremin#define PINOUT 8#define PININ A0
int vyska = 0;int svetlo = 0;
void setup() { pinMode(PINOUT, OUTPUT); pinMode(PININ, INPUT);
}
void loop() { svetlo = analogRead(PININ); vyska = map(svetlo, 0, 1023, 100, 1000); tone(PINOUT, vyska); // tone(pin, frequency(Hz), duration(ms)) noTone(pin)
}