Előre definiálhatunk változókat Arduino programnyelvben. Csoportonként osztályozzuk őket.
Logikai szint meghatározás, boolean:
Két állandót használunk igazság vagy hamisság kifejezésére: true | false (kisbetűkkel írva!)
true
Gyakran 1-ként határozzuk meg, ami igaz is, de ennél szélesebb körű a használata. Bármely integer ami nem-nulla az igaz, egy boolean kifejezésben. Tehát a -1, 2 vagy -200 is igazként lesz definiálva bennük.
false
Amit 0-ként határotunk meg.
Pin szint meghatározás:
Amikor egy pinből kiolvasunk vagy egy pinre kiküldünk jelet, akkor annak két állapota lehet: HIGH vagy LOW (nagybetűkkel írva!)
HIGH
A HIGH ebben az esetben összefügg azzal hogy a pint inputként vagy outputként definiáljuk. Első esetben a mikrontroller akkor ad HIGH jelet, ha a pinbe minimum 3 Volt érkezik. Második esetben ha az outputként definiált pinre HIGH jelet küldünk akkor az 5 Voltos lesz.
LOW
Hasonlóképp. Inputként definiálva a pint a mikrokontroller akkor kap LOW jelet ha a beérkező feszültség 2 Volt vagy kevesebb. Output pinbe küldött LOW jel 0 Voltot jelent.
Digitális pinek meghatározása:
INPUT, OUTPUT, INPUT_PULLUP - a pinek elektromos viselkedését állítjuk be velük a pinMode() parancs segítségével.
INPUT
A pin magas-impedanciájú* állapotba kerül. (Pl. szenzorok adatainak kiolvasásához jó digitalRead-del.) A pint sorba kötött ellenállások védik a sérüléstől.
OUTPUT
A pin alacsony-impedanciájú állapotba kerül. Így jelentős menyiségű árammal tudja ellátni a rákötött alkatrészt (max 40 mA).
INPUT_PULLUP
Az Arduinon az ATMega chipnek hozzáférhető, programozható belső felhúzó ellenállásai vannak. (Egy áramkör bemenete ami pozitív feszültségre van kötve egy ellenállással a helyes működéshez.) Ha inkább ezeket akarod használni a külső ellenállások helyett, akkor kell az INPUT_PULLUP-ot alkalmazni (alapállapotban le vannak választva). Ami ténylegesen megfordítja a pin viselkedését: HIGH-nál a szenzor ki van kapcsolva, LOW-nál a szenzor be van kapcsolva. Az arduino maximum áramerőssége 40mA. A duemilanove minden pinje rendelkezik 20-50kOhm-os felhúzó ellenállással.
* Az impedancia a váltakozó áramú ellenállás. (http://hu.wikipedia.org/wiki/Impedancia)
Integer állandó:
itn
Integer. Előjeles egész számok (tehát negatív is) lehetnek. Alapvetően a 10-es számrendszerben működnek, de egy speciális jelöléssel átalakíthatóak 2-es, 8-as vagy 16-os számrendszerbe.
ALAP PÉLDA FORMÁZÓ 10 (tizes) 123 NINCS
///csak 8 bites értékkel működik (0-255 között)
2 (kettes) B1111011 'B' legelől
///0 és 1 karakterekkel működik
8 (nyolcas) 0173 "0" legelől
///érvényes karakterek 0-7 között
16 (tizenhatos) 0x7B "0x" legelől
///érvényes karakterek 0-9, A-F, a-f
Az integer után írt megfelelő betűvel, úgyenevezett formázókarakterrel átalakítható egyéb adattípussá:
U = unsigned
L = long
UL = unsigned long
Floating point állandó:
foat
Lebegőpontos érték, tehát a tizedes pont a számjegyeken belül bárhová átkerülhet így szélesebb tartományban képes felvenni értéket mint a fixpontos számok. Normalizált formában is megadhatjuk ezeket a számokat ami azt jelenti hogy a tizedesvesszőt előlre toljuk hogy 0-val kezdődjön a szám és megszorozzuk a 10 megfelelő hatványával: pl: 135,7896 = 0,1357896 × 103
Ezek a számok rögzített számjegyekkel rendelkeznek és egy kitevő (exponens) segítségével lehet skálázni őket, aminek jele "e" vagy "E", tehát azt mutatja meg hogy a 10-nek hanyadik hatványával kell beszorozni az értéket: értékes számjegy × alapexponens
2.34E5 2.34 * 10^5 234000 67e-12 67.0 * 10^-12 .000000000067
Az előző példában a három oszlopban lévő érték soronként megegyezik.
forrás:
http://arduino.cc/en/Reference/Constants, http://arduino.cc/en/Reference/IntegerConstants
http://arduino.cc/en/Reference/Fpconstants, http://hu.wikipedia.org/wiki/C%2B%2B
http://hu.wikipedia.org/wiki/Lebeg%C5%91pontos_sz%C3%A1m%C3%A1br%C3%A1zol%C3%A1s