Hogyan kezdjem?


Tartottam tőle de most mégis belekezdek ebbe a cikksorozatba, egyrészről már a különböző
példákban bemutatásra kerültek a programozási alapok, másrészről mások már foglalkoznak
az alap programozás bemutatásával így újat igazán nem tudok mutatni.


Kezdjük az elején. Milyen technikai eszközök szükségesek a kezdéshez?

Egy Arduino alaplap(lehetőleg Uno, de más is megfelel),
egy usb kábel amivel rácsatlakoztatjuk az Arduinot a PC-nkre,
egy dugdosós próbapanel amin megépíthetjük alapkapcsolásainkat,
összekötő vezetékek amik segítségével az Arduinot és a próbapanel alkatrészeit csatlakoztathatjuk,
néhány Led a kimenetek visszajelzéséhez,
néhány 220-370ohmos ellenállás a ledek áramkorlátozásához,
pár nyomógomb,
pár darab 10kohmos felhúzó ellenállás a nyomógombokhoz,
egy 10kohmos poti az analóg bemenet teszteléséhez.


Milyen szoftveres eszköz szükséges?

Az Arduino programozást az Arduino IDE-n keresztül végezzük, ez egy integrált fejlesztői környezet ami az arduino programok készítésében, fejlesztésében illetve a PC-ről az Arduinoravaló átvitelben segít.

Az IDE letölthető: http://arduino.cc/en/pmwiki.php?n=Main/Software


Töltsük le a megfelelő változatot, csomagoljuk ki majd telepítsük.
Megnyitásnál először az adott eszközt állítsuk be az IDE-be:


Második lépés a kimeneti soros port beállítása:
Ez IDE verziónként más lehet, ha nem aktív a „soros port” menüpont akkor csatlakoztassuk usb
kábelen keresztül az Arduinonkat, a gép telepíti az illesztő szoftverét, majd újra indítva az IDE-t
már be állíthatjuk a kimenő portot. (ez nálam a COM3-as de nem is ad föl más lehetőséget, persze
ez mindenkinél egyedi.) Feltöltésnél esetlegesen előfordulhat hogy egyes progik megváltoztatják
a soros portot, ezt abból a legkönnyebb kiszúrni, hogy fordítás megtörténik hibátlanul, de a feltöltés
hibajelzéssel leáll. Ekkor csak vissza kell állítani a megfelelő soros port kimenetet.



Még az IDE kezelésével kapcsolatban van két nagyon fontos gomb a kezelő felületen:

Az „Ellenőrzéssel” leellenőrizhetjük programunk helyességét, a „Feltöltéssel” pedig továbbíthatjuk a csatlakoztatott Arduinora.


Lássuk a programozási nyelvet. Az Arduino nyelv egy C++ alapú nyelv, kisebb nagyobb módosításokkal. Maga a program függvényekből tevődik össze ami itt így néz ki:

void setup(){
}
void loop(){
}

A setup() függvény tartalmazza a változók, konstansok deklarálását, kezdőbeállításokat. Csak egyszer hajtódik végre a program futása közben.
A loop() függvény a program törzse ez mindaddig végrehajtódik amíg le nem áll a program futása.
A void jelentése üres, a függvénynek nincs visszatérési értéke, de erről majd később.
A függvény törzsét(a végrehajtandó utasításokat) mindig kapcsos zárójelek közé tesszük.


Nézzünk példát a setup()-ra:
void setup() {
//inicializáljuk(beállítjuk) a 13. lábat kimenetnek.
pinMode(13, OUTPUT);
}


Itt az arduino13. lábát beállítjuk kimenetnek a pinMode() utasítással. A zárójeleken belül az első
szám vagy változó a digitális lábat jelöli ez 0-13 között, a második egy állandó ami vagy
OUTPUT” vagy „INPUT” lehet használattól függően.
Az inicializálás mindig értékadás, beállítás.


Nézzük a loop() függvényt:
void loop() {
digitalWrite(13, HIGH);
}


A digitalWrite() utasítás az adott kimenetet állítja be, ez első érték mindig a kimenet azonosítása,
a második állandó itt is két értéket vehet fel, „HIGH” bekapcsolva vagyis 5V kiadva a kimenetre,
vagy „LOW” kimenet kikapcsolva, 0V.


Most nézzük meg az első programunkat amit már persze tárgyaltunk egy korábbi cikkben:
void setup() {
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);

}

Ez a Blink nevű progi ami a 13. kimenet beépített led-jét villogtatja. A digitalWrite-ot megbeszéltük
már egyedül a delay() utasítás okozhat némi gondot, jelentése késleltetés, tehát késlelteti a program
futását az értékeként megadott ezredmásodpercig(1000ezredmásodperc = 1másodperc).
A loop függvény folyamatosan végrehajtódik míg le nem állijuk futását.


Megszületett első programunk, a továbbiakra már következő cikkekben kerül sor.