setup
A kód legelején definiáljuk benne a változókat (inicializálás), pin módókat,
könyvtár használatát, stb. Csak egyszer fut le.
pinMode(buttonPin, INPUT);
A setup után jön, folyamatosan azaz többször lefut, lehetővé teszi hogy
a program változzon és reagáljon.
if (digitalRead(buttonPin) == HIGH)
Feltétel és összehasonlító operátorok (mint nevük is sugallja, két érték
összehasonlítására szolgálnak).
Megvizsgálja, hogy az egyes feltételek teljesülnek-e, mint pl. hogy a
bemeneti szám a megadott számérték felett marad-e. Ha a feltétel
teljesül lefut a kód, ha nem akkor átugorja a program.
A kapcsos zárójel elhagyható, a következő szintaxisok mind helyesek:
if (x > 120) digitalWrite(LEDpin, HIGH);
if (x > 120) digitalWrite(LEDpin, HIGH);
if (x > 120){ digitalWrite(LEDpin, HIGH); }
digitalWrite(LEDpin1, HIGH);
digitalWrite(LEDpin2, HIGH);
Ha az if-feltétel nem teljesül, akkor az else-feltétel fut le.
Az else folytatódhat egy másik if vizsgálattal, így összetettebb
vizsgálatokat futtathatunk ugyanazon időben végtelen számú
else if-feltételek vizsgálatával.
} else if (pin5Bemenet >= 1000) {
Amíg a feltétel igaz, addig folyamatosan ismétlődve futnak le a kapcsos
zárójelben lévő állítások. Az inicializálás csak egyszer fut le, onnantól
mindig az aktuális állapotra vizsgálja meg a program, hogy igaz-e a feltétel,
ha igen elvégzi az érték növelését vagy csökkentését, lefutnak az állítások.
A folyamat akkor ér véget, amikor hamis lesz a feltétel.
Gyakran array-jel együtt használjuk.
for (inicializálás; feltétel; növekedés értéke) {
for (int i=0; i <= 255; i++){
Az if-hez hasonlóan különböző feltételek végrehajtásához használjuk.
A switch állítás változó értékeit hasonlítja össze a case állításban
részletezett értékekkel, ha a két érték megyegyezik akkor lefut a case
állításban szereplő kód. Minden case álljtás végét a break kulcsszóval
adjuk meg, enélkül a következő kifejezés végrehajtása következne.
//csináld ezt ha a változó 1
//csináld ezt ha a változó értéke egyenlő 2-vel
// ha semelyik nem egyezik, csináld az alapértelmezett
// az alapértelmezett állítás opcionális
A var a változó értéke, amiket a különböző case állításokhoz hasonlítunk.
A label az érték amivel a változót összehasonlítjuk.
Mindaddig folyamatosan fut le, amíg a kerek zárójelben lévő kifejezés hamissá
nem válik. Valaminek változnia kell a vizsgált változóban, különben a folyamat
soha nem ér véget. Ez történhet változó bevezetésével.
szintaxis:
while(kifejezés){
// utasítás
}
példa:
// 200-szor lefutnak a ciklusban lévő utasítások
A do a while-hoz hasonlóan működik, de a ciklus végén lévő feltételt vizsgálja,
ezért a do ciklus mindig lefut legalább egyszer.
Szintaxis:
do {
// utasítás blokk
} while (feltétel vizsgálata);
Példa:
delay(50); // várakozás a szenzorra
x = readSensors(); // kiolvassa a szenzorból az értéket
} while (x < 100); // amit összehasonlít
A do, for, while ciklusokból és a switch állításból való kilépésre használjuk. Példa:
for (x = 0; x < 255; x ++)
sens = analogRead(sensorPin);
if (sens > threshold){ // bail out on sensor detect
Átugorja az ismétlések lefuttatását a ciklusokban (do, for, while) majd a
feltétel vizsgálatával és a további ismétlésekkel (a példában for ciklus)
folytatja. Példa:
for (x = 0; x < 255; x ++)
if (x > 40 && x < 120){ // ugrik az érték
Befejezi a függvényt és visszaállítja a függvényből származó értéket a
meghívott értékre, ha kell. Ebben az esetben az érték származhat bármilyen
változóból vagy állandóból.
Szintaxis, mindkettő forma érvényes:
return;
return value; //value=érték, lehet bármilyen változó vagy állandó
Példa: A következő függvény a szenzorból kiolvasott értéket hasonlítja össze a
küszöbértékkel:
if (analogRead(0) > 400) {
return 1; //érték nagyobb 400-nál, 1-re állítja (be)
return 0; //kisebb, 0-ra állítja az értéket (ki)
A program lefolyását áthelyezi a programban (általunk elnevezett) cimkével megjelölt ponthoz a következő paranccsal goto label; Ezután visszatér és tovább futtatja a többit.
Szintaxis:
label:
goto label; // a programfutást a címkéhez küldi
Példa:
for(byte r = 0; r < 255; r++){
for(byte g = 255; g > -1; g--){
for(byte b = 0; b < 255; b++){
if (analogRead(0) > 250){ goto kisegites;}
// kisegites: általunk elnevezett
inicializálás: Kezdőérték adást jelent a deklarációban.
deklaráció: Ebben az esetben egyfajta definiálást jelent, közöljük a
programmal hogy az általunk magadott névvel létrehoztunk pl. egy
változót, aminek értékét később definiáljuk.
szintaxis: "A számítástechnikában egy programozási nyelv szintaxisa azt a szabályrendszert jelenti, amely meghatározza, hogy az adott nyelvben hogyan lehet az egyes nyelvi elemeket, utasításokat létrehozni. A szintaxis meghatározza a nyelv tágabb értelem vett ábécéjét, a használható szavakat – ez a nyelv kulcsszókészlete –, és megadja a nyelvi elemek felépítési szabályait (amelyeket a nyelv fordítójának szintaktikai elemzője ellenőriz). A nyelv szintaxisának leírására a metanyelvek szolgálnak." http://hu.wikipedia.org/wiki/Szintaxis