Szóval, van otthon egy Arduino lapod, csatlakoztatod a PC-hez… és most mi következik?
Fejlesztői környezet
Arduino programozásához leggyakrabban az Arduino IDE környezetet használjuk. Jelenleg már létezik az Arduino IDE 2 verzió is, azonban ez még viszonylag új, és elég sok hibát tartalmaz. Sok felhasználó ezért maradt az 1.0-s verziónál, és más weboldalakon található régebbi útmutatók is ennek a verziónak a használatával foglalkoznak. Mi is ennél maradunk egyelőre, a jövőben viszont számíthattok egy blogra az Arduino IDE 2-ről.
Haladó felhasználók választhatnak más fejlesztői környezetet is, gyakran használják például az Atmel Studio-t vagy akár a VS Code-ot is, mi azonban ma nem foglalkozunk ezekkel. Ha kíváncsi vagy, milyen hardver található az Arduino lapon, ajánljuk ezt a blogbejegyzésünket.
Arduino IDE
Először le kell töltenünk azt a környezetet, amelyben a lapot programozzuk:
Link: https://www.arduino.cc/en/software

A legtöbb felhasználónak, akik Windows 7-et vagy újabb rendszert használnak, az első linket kell választania (WINDOWS win 7 and newer).
Letöltés után telepítjük a programot, majd megnyitjuk. Egy üres fehér képernyő fogad minket rövid szöveggel:

Arduino lapok programozása
Az Arduino kód két függvényre oszlik:
– void setup()
– void loop()
A setup() függvény – ahogy a neve is mutatja – csak egyszer fut le. Akkor indul el, amikor a lapot tápfeszültséghez csatlakoztatjuk vagy újraindítjuk, lefut, majd a processzor többé nem tér vissza hozzá. Ebben a függvényben szokás beállítani a pinek kezdeti állapotait, elindítani a kommunikációt a PC-vel és hasonlókat.
A loop() függvény ezzel szemben folyamatosan ismétlődik egészen a végtelenségig, vagy amíg az Arduino nincs újraindítva vagy le nem csatlakoztatják a tápfeszültségről. Itt történik általában minden érdekes dolog. Nézzük meg ezt egy példán keresztül.
A „void” szó jelentését egy későbbi blogbejegyzésünkben magyarázzuk el, egyelőre nem kell vele foglalkoznunk.
A beépített LED villogtatása
Ahhoz, hogy a LED-et villogtassuk, csak néhány parancsra van szükségünk, azonban az Arduino IDE fejlesztői környezetben már léteznek példaprogramok különböző funkciók tesztelésére és a lappal való ismerkedésre. Egy ilyen példát meg is nyithatunk.

Ha rákattintunk erre a menüre, megnyílik egy új ablak kóddal. A felső eszköztárban az „Eszközök” fül alatt még be kell állítanunk, hogy melyik lapra szeretnénk feltölteni a kódot, és hová van csatlakoztatva.

Kiválasztjuk tehát a megfelelő lap típust (esetünkben Arduino Uno) és a portot. Nálunk azonban nem jelent meg port, illetve „szürke” maradt. Mit tegyünk? Ez azt jelenti, hogy a laphoz nincs telepítve driver, ezért azt fel kell telepíteni. A legtöbb esetben azonban a rendszer felismeri a lapot, és kiválaszthatjuk a megfelelő portot. Ha viszont szükség van a driver telepítésére, mindenképpen olvassátok el régebbi blogunkat a driverekről.
A kódban megjegyzéseket használtunk az egyes sorok magyarázatára. A megjegyzések olyan egyszerű szövegek, amelyeket a fordító figyelmen kívül hagy, ezért csak számunkra – a készítők és az olvasók számára – szolgálnak információként. Megjegyzéseket a „//” két perjellel írhatunk, illetve többsoros megjegyzést a /* …. */ közé helyezhetünk:
/*
Blink
Turns an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products
modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/
// funkcia setup, vykoná sa iba jeden krát na začiatku
void setup() {
// Jedná sa o inicializáciu výstupného pinu na výstup (OUTPUT), konkrétne pinu 13.
// Namiesto "LED_BUILTIN" môžeme napísať "13" (bez úvodzoviek) a jednalo by sa presne o to isté.
// Arduino však má niektoré vstavané funkcie a premenné, takže takto je to jednoduchšie,
// nemusíme si pamätať presný pin, na ktorom je LED dióda pripojená
pinMode(LED_BUILTIN, OUTPUT);
}
// funkcia loop sa vykonáva dookola. Dióda sa rozsvieti, počkáme jednu sekundy, LED zhasneme a opäť počkáme jednu sekundu. Dookola
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // Zapnutie LED signálom HIGH (úroveň 5V)
delay(1000); // Ppočkáme 1000 milisekúnd, teda 1 sekundu
digitalWrite(LED_BUILTIN, LOW); // vypnutie LED signálom LOW (úroveň 0V)
delay(1000); // Počkáme 1000 milisekúnd, teda 1 sekundu
}A kód tehát elkészült, feltölthetjük a lapra. Ezt úgy tesszük meg, hogy rákattintunk a bal felső sarokban található nyílra:
Kis ideig várunk, amíg a kód lefordul (tehát szöveges formából bináris – 1-esek és 0-ák – halmazává alakul), majd feltöltődik a lap processzorába. Ha minden rendben lezajlott, alul megjelenik a „Kód feltöltése befejeződött” üzenet. Ezután már csak figyelnünk kell, hogyan villog az Arduino beépített LED-je.

