Upload
milan-pulkrabek
View
254
Download
1
Embed Size (px)
Citation preview
PROJECT: ArduinoIII.
Speciální druh proměnné, která umožňuje shromáždit více hodnot do jedné proměnné.Deklarace:• pole můžeme deklarovat několika způsoby int jmeno[6]; //deklarace pole s šesti buňkamiint jmeno[] = {2, 3, 4, 5}; //prvky v poli oddělujeme čárkamiint jmeno[4] = {2, 3, 4, 5}; //v tomto případě velikost pole uvést můžeme, nemusíme
• zvláštním typem pole je pole znaků (nazývané řetězec - string),umožňuje totiž specifický způsob přiřazení hodnoty
char jmeno[15]; //deklarace řetězcechar jmeno[] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'};char jmeno[7] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'};char jmeno[] = "arduino";char jmeno[7] = "arduino";
Pole
Přístup k hodnotám v poli
int a[] = {1,2,3,5,7,11,13,17};
a[0]; //prvek s indexem 0 má hodnotu 1a[5]; //prvek s indexem 5 má hodnotu 11
Příklad poleint timer = 100;int ledPins[] = {2, 7, 4, 6, 5, 3};int pinCount = 6;
void setup() { for (int thisPin = 0; thisPin < pinCount; thisPin++) { pinMode(ledPins[thisPin], OUTPUT); }}
void loop() { for (int thisPin = 0; thisPin < pinCount; thisPin++) { digitalWrite(ledPins[thisPin], HIGH); delay(timer); digitalWrite(ledPins[thisPin], LOW); }
for (int thisPin = pinCount - 1; thisPin >= 0; thisPin--) { digitalWrite(ledPins[thisPin], HIGH); delay(timer); digitalWrite(ledPins[thisPin], LOW); }}• Vícerozměrné pole int vice[3][3];
for (int i = 0; i < 3; i++) { for ( int j = 0; i < 3; i++) { vice[i][j] = i + j; } }
Serial port
Serial port
Serial portint hodnota;int pin = A0;float napeti;
void setup() {
Serial.begin(9600); //začátek komunikace rychlostí 9600 bit/s}
void loop() { hodnota = analogRead(pin); napeti = hodnota * 5 / 1023;
//napeti = map(hodnota, 0, 1023, 0, 5);
Serial.print("Napeti = "); Serial.print(napeti); Serial.println("V");}
FunkceBez návratové hodnoty - void
void setup() {Serial.begin(9600);zprava("Ahoj", „světe");text();
}
void loop(){}
void text(){Serial.println(„Paralelní Polis");
}
void zprava(char a[], char b[]){Serial.print(a);Serial.print(' ');Serial.println(b);
}
FunkceS návratovou hodnotou
int x = 32;int y = 8;
void setup() { Serial.begin(9600); Serial.println(secti(x, y));}
void loop() {}
int secti(int a, int b) { int soucet = a + b; return soucet;}
Čtení sériového portuint cislo1 = 0;int cislo2 = 0;
void setup() { Serial.begin(9600);}
void loop() {
if (Serial.available() > 0) {
while (Serial.available() == 0); cislo1 = Serial.parseInt();
while (Serial.available() == 0); cislo2 = Serial.parseInt();
Serial.print(cislo1); Serial.print(" x "); Serial.print(cislo2); Serial.print(" = "); int vysledek = cislo1 * cislo2; Serial.println(vysledek); }}
Čtení sériového portuString jmeno;int vek;float vyska;
void setup() { Serial.begin(9600);}
void loop() {
Serial.println("Jmeno: "); while (Serial.available() == 0) {
} jmeno = Serial.readString();
Serial.println("Vek:"); while (Serial.available() == 0) {
} vek = Serial.parseInt();
Serial.println("Vyska"); while (Serial.available() == 0) {
} vyska = Serial.parseFloat();
Serial.print("Jsi "); Serial.print(jmeno); Serial.print(", je Ti "); Serial.print(vek); Serial.println(" let,"); Serial.print("a jsi "); Serial.print(vyska); Serial.println(" cm vysoky/a."); Serial.println("");}