void
A függvények deklarálásához használt kulcsszó. Saját függvényt írhatunk vele, amit csak meghívunk egy másik helyen a kódban.
http://arduino.cc/en/Reference/Void
boolean
Két értéke lehet: igaz vagy hamis. Minden boolean változó egy byte-ot foglal el a memóriában.
http://arduino.cc/en/Reference/BooleanVariables
char
Ez az adat típus egy byte memóriát foglal el, karakter érték tárolására alkalmas, tehát 1 karakter értékét tárolja. A betűket szimmpla idézőjelbe, a karakter stringeket dupla idézőjelbe írjuk: 'A' "ABC" Típusátalakításhoz használatos kulcsszó. Előjeles adat típus, ez azt jelenti hogy -128 és 127 közötti étékeket tárolhat.
A karaktereket számként tároljuk, a betűk decimális értéke visszakereshető az ASCII karakter szabványban: http://arduino.cc/en/Reference/ASCIIchart De pl. Serial.println parancs segítségével kiirattathatjuk a többi számrendsezrben is serail monitor segítségével, így megnézhetjük azok értékeit is.
char myChar = 'A';
char myChar = 65; //a két sor ugyanaz jelenti
http://arduino.cc/en/Reference/Char
unsigned char
Ugyanaz mint a byte. 0 és 255 közötti számokat lehet belekódolni. A következetesség kedvéért használd a byte-ot.
unsigned char myChar = 240;
http://arduino.cc/en/Reference/UnsignedChar
byte
8 biten (= 1 byte) tárol nem előjeles számokat, 0 és 255 között.
byte b = B10010; // "B" bináris formázó (B10010 = 18 tizes számrendszerben)
http://arduino.cc/en/Reference/Byte
int
Elsődleges adat típus számok tárolásához. Az Arduino Uno-n az integer 16 bit értéket tárol, -32 768 és 32 767 között. Az Arduino Due 32 biten működik, így 2 147 483 648 és 2 147 483 647 közötti értéket tárol. Aritmetikai operátorokkal a hagyományos módon működnek. Bitenkénti operátorokat is használhatunk velük, csak ilyenkor figyelni kell mert azok kettes számredszerben tolják alrétt a bitértékeket.
szintaxis:
int var = val; // integer változóneve = értékmegadás
példa:
int a = 5; // binary: 0000000000000101
int b = a << 14; // binary: 0100000000000000
http://arduino.cc/en/Reference/Int
unsigned int
Előjel nélküli egész számok tárolására alkalmas. Mivel ugyanúgy 2 byte-on működik mint az integer, nagyobb pozitív értéket tud tárolni: 0 és 65 535 között az ATMega alapú arduinoknál. Due típuson 4 byte-tel működik így 0 és 4 294 967 295 között használható.
szintaxis:
unsigned int var = val; // előjeles integer változóneve = értékmegadás
Ha a változó eléri az egyik szélső értéket, akkor átugrik a másik végére és ott folytatódik a számítás, tehát:
unsigned int x x = 0; x = x - 1; // x most65535 - negatív irányba ugrott érték x = x + 1; // x most 0 - pozitív irányba ugrott érték
http://arduino.cc/en/Reference/UnsignedInt
word
Ugyan az mint az unsigned int, tehát 16 biten tárol előjel nélkül számokat, 0-tól 65 535-ig.
példa:
word w = 10000;
http://arduino.cc/en/Reference/Word
long
32 biten tárol számértéket -2 147 483 648 és 2 147 483 647 között.
példa:
long speedOfLight = 186000L; // 'L' kifejezést az Integer Állandók-nál nézd meg
szintaxis:
long var = val;
http://arduino.cc/en/Reference/Long
unsigned long
Ugyanúgy 32 biten tárol számértéket mint a long, de nincs előjele, így 0-tól 4 294 967 295 (2^32 - 1) -ig terjedhet az értéke.
szintaxis:
unsigned long var = val;
http://arduino.cc/en/Reference/UnsignedLong
short
16 bites adat típus, ATMega és ARM alapú Arduinokhoz. Tárolt érték -32 768 és 32 767 között.
szintaxis:
short var = val;
http://arduino.cc/en/Reference/Short
float
Tizedes ponttal rendelkező számok. Lebegőpontos érték tárolására alkalmasak, 32 biten. (lásd. Állandók) Maximális értéke 3.4028235E+38 és minimális értéke -3.4028235E+38.
A float kifejezésben csak 6-7 tizedes számjegy van. Ez az összes számjegyre értendő, nem a tizedespont jobb oldalára.
A lebegőpontos számok nem precízek, furcsa eredményt adhatnak összehasonlításnál. Pl. 6.0 / 3.0 nem egyenlő 2.0-val, mert a számok abszolút értékének különbsége kevesebb lehet néhány kicsi számnál.
szintaxis:
float var = val;
http://arduino.cc/en/Reference/Float
double
Lebegőpontos számérték. Uno-n és ATMega alpú boardokon 4 byte-os, Due-n 8byte-os.
http://arduino.cc/en/Reference/Double
string - char array
Kétféleképpen ábrázolható, egyrészt használhatjuk mint a 0019 verzióba beépített String adat típust, másrészt létrehozhatunk stringet egy karakterlánc tömbbel. inf.: http://hu.wikipedia.org/wiki/String
Ezeket a következő példák szerint lehet deklarálni, mindegyik érvényes:
char Str1[15]; char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'}; char Str3[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o', '\0'}; char Str4[ ] = "arduino"; char Str5[8] = "arduino"; char Str6[15] = "arduino";
http://arduino.cc/en/Reference/String
A karaktertömbök utolsó eleme a 0 (nulla), innen ismeri meg a fordítóprogram a sting végét.
String - object
Szöveg alapú stringeket manipulálhatunk a következő függvények által:
- String()
- charAt()
- compareTo()
- concat()
- endsWith()
- equals()
- equalsIgnoreCase()
- getBytes()
- indexOf()
- lastIndexOf()
- length()
- replace()
- setCharAt()
- startsWith()
- substring()
- toCharArray()
- toLowerCase()
- toUpperCase()
- trim()
http://arduino.cc/en/Reference/StringObject
Tömb. Adathalmazt tárolhatunk memóriában és műveleteket végezhetünk el rajtuk. A tömbök elemeire mindig az indexelés operátorával ([]) hivatkozunk (pl. x[3]).
szintaxisa:
típus tömbnév[elemszam];
Tömb deklarálása a következő módokon történhet:
int myInts[6]; int myPins[] = {2, 4, 8, 3, 6}; int mySensVals[6] = {2, 4, -8, 3, 2}; char message[6] = "hello";
Érték hozzárendelése a tömb egy eleméhez:
mySensVals[0] = 10;
Érték kiolvasása a tömb egy eleméből:
x = mySensVals[4];
http://arduino.cc/en/Reference/Array