Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PROJECT: Arduino 2

465 views

Published on

Arduino workshop, MakersLAB/Paralelní Polis

Published in: Engineering
  • Be the first to comment

PROJECT: Arduino 2

  1. 1. PROJECT: Arduino II.
  2. 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. 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
  4. 4. ASCII tabulka PROJECT: Arduino MakersLAB / Paralelní Polis // Milan "Sodomák" Půlkrábek
  5. 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
  6. 6. Konstanty #define LED 13 void setup() { pinMode(LED, OUTPUT); } void loop() { digitalWrite(LED, HIGH); delay(1000); digitalWrite(LED, LOW); delay(1000); }
  7. 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. 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. 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 Ω.
  10. 10. Tlačítko PROJECT: Arduino MakersLAB / Paralelní Polis // Milan "Sodomák" Půlkrábek
  11. 11. 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); } } PROJECT: Arduino MakersLAB / Paralelní Polis // Milan "Sodomák" Půlkrábek
  12. 12. Cykly
  13. 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. 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. 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. 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.
  17. 17. Teremin
  18. 18. 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) }

×