A kezdők kedvéért összefoglalom, hogy mi nem az Arduino. :-)
- Nem mikrokontroller.
- Nem programozási nyelv.
- Nem professzionális fejlesztőeszköz.
Akkor mi az Arduino?
- Egy mikrokontroller kártya. Eredetileg Atmel AVR 8 bites, ma már sokféle mikrokontrollerrel szerelt hobbi fejlesztőeszköz.
- Egy nagyon buta IDE. (Integrált fejlesztőeszköz.) A Processing IDE-re épül. Arról is tudnék pár keresetlen szót írni...
- Egy függvénykönyvtár. C++ nyelven írt, nem következetes, erőforrás pazarló, hülyéket megvédeni akaró, mégsem hülyebiztos. Példa: Egy kimenet írásakor MINDIG leellenőrzi, hogy nincs-e ott PWM, nem analóg bemenet-e, stb. Ez rengeteg idő.
- Egy önsegítő közösség. Ahol a naiv kezdőtől a profiig mindenki osztja az észt. Válogasd ki belőle a használható tanácsokat. ;-)
- Egy fejlesztő közösség. Ahol bárki írhat bármilyen elv alapján függvénykönyvtárakat, amiket aztán megoszt. Senki sem ellenőrzi a minőségüket, vagy az interfészük használhatóságát. Te letöltöd, és nem érted, miért nem működik. Rengeteg horror példa van. Például sok I2C eszközkezelő szoftver. A "könyvtár" úgy veszi, hogy rajta kívül senki más nincs a rendszerben. Tehát lefoglalja az I2C buszt, és busy waiting (delay) segítségével időzít... Semmi más nem fog mellette működni.
A különféle mikrokontroller gyártók általában komplett hardver, szoftver, fejlesztőeszköz, debugger megoldásokat dobnak piacra. Ezek jelenleg már olcsóbbak, és jobbak, mint az Arduino. Tíz évvel ezelőtt az Arduino pont a csóró hobbisták miatt hozott egy csomó, profiknak vállalhatatlan kompromisszumot. Aztán akkorára nőtt az egész népszerűsége, hogy a gyártóknak lépniük kellett. Tulajdonképpen jelentős szerepe van az Arduinonak abban, hogy manapság minden gyártónak van kimondottan olcsó, debuggerrel összeépített fejlesztőpanelje.
Példa: Egy eredeti Arduino UNO jelenleg 7-8 ezer forint. Egy ugyanilyen MCU-t használó ATMEGA328P-XMINI 3000 ft, és van rajta beépített debugger chip... Az ingyenes Atmel Studio IDE-vel lehet rá fejleszteni, minden perifériájához van C kód (AVR LibC), és lehet debuggert használni. De ugyanígy 3-4 ezer forint egy debuggerrel egybeépített STM32 Nucleo, ahol 32 MHz és 180 MHz közötti ARM mikrokontrollerből választhatsz. Az IDE és a HAL szintén ingyen van. De elérhető hozzá az Arduino függvénykönyvtár is.
Ha szeretnéd az Arduino szoftveres környezetének előnyeit élvezni, mint gyors fejlesztés, sok előre megírt könyvtár, akkor én ezt tenném:
Választanék mikrokontrollert, és vásárolnék hozzá debuggert. Egy Atmel ICE jelenleg 15 ezer, egy ST Link pedig kb a fele. A legtöbb komoly, debuggert is támogató IDE mostmár képes Arduino projekteket is kezelni.