Ugrás a tartalomhoz

Arduino nyelv

A Wikipédiából, a szabad enciklopédiából

Az Arduino, Massimo Banzi és más alapítok alkotása. Ez egy olcsó mikorkontroller board, ami még a kezdők számára is lehetőséget biztosít bonyolult és összetett elektronikai szerkezetek megvalósítására. Az Arduinot hozzá lehet kapcsolni mindenféle égőhöz, motorhoz, szenzorhoz és egyéb eszközökhöz. A programozási nyelve pedig rendkívül könnyen tanulható. Arduinot használva építhető interaktív kijelző, mozgó robot vagy bármi amit el lehet képzelni.

Szoftver[1]

Az Arduino IDE egy kereszt-platformos Java nyelven írt fejlesztőkörnyezet, amely segítségével Arduino programokat készíthetünk, tesztelhetünk, majd az Arduino Board-okra tölthetjük. Az induláshoz a fejlesztőeszköz több mintaprogramot tartalmaz, amelyek segítségével egyszerűen megtanulhatjuk, hogyan tudunk LED-et villogtatni, fényerőt szabályozni, vagy a számítógéppel kommunikálni USB-n keresztül. Az Arduino programokat egy C/C++ alapú programozási nyelven írhatjuk, így az ezeket a nyelveket ismerők könnyen kiismerhetik magukat a környezetben. AZ IDE-hez tartozik a "Wiring" nevezetű C/C++ programkönyvtár, amellyel egyszerűen végezhetjük el a leggyakoribb input/output műveleteket.

Az Arduino nyelv szintaktikája[2]

Az Arduino programok három fő részre bonthatóak: struktúra (szerkezet), értékek (változók és konstansok) és függvények.[2]

Struktúra (szerkezet)

  • setup()
  • loop()

Irányító szerkezet

  • if
  • if...else
  • for
  • switch case
  • while
  • do... while
  • break
  • continue
  • return
  • goto

További szintaxis

  • ; (pontosvessző)
  • {} (kapcsos zárójel)
  • // (egysoros megjegyzés)
  • /* */ (többsoros megjegyzés)
  • #define
  • #include

Aritmetikai operátorok

  • = (értékadó operátor)
  • +  (összegzés)
  • - (kivonás)
  • * (szorzás)
  • / (osztás)
  • % (modulo)

Hasonlító operátorok

  • == (egyenlő)
  • != (nem egyenlő)
  • < (kisebb, mint)
  • > (nagyobb, mint)
  • <= (kisebb vagy egyenlő)
  • >= (nagyobb vagy egyenlő)

Logikai operátorok

  • && (és)
  • || (vagy)
  • ! (nem)

Pointer Access Operators

  • * nem hivatkozás operátor
  • & hivatkozás operátor

Bitwise Operators (Bitenkénti operátorok)

  • & (bitwise és)
  • | (bitwise vagy)
  • ^ (bitwise xvagy)
  • ~ (bitwise nem)
  • << (bitshift bal)
  • >> (bitshift jobb)

Compound Operators

  • ++ (bővítés)
  • -- (csökkentés)
  • += (összetett összegzés)
  • -= (összetett kivonás)
  • *= (összetett szorzás)
  • /= (összetett osztás)
  • %= (összetett modulo)
  • &= (összetett bitwise és)
  • |= (összetett bitwise vagy)

Változók

Konstansok

  • HIGH | LOW
  • INPUT | OUTPUT | INPUT_PULLUP
  • LED_BUILTIN
  • true | false
  • integer constants
  • floating point constants

Adat típusok

  • void
  • boolean
  • char
  • unsigned char
  • byte
  • int
  • unsigned int
  • word
  • long
  • unsigned long
  • short
  • float
  • double
  • string - char array
  • String - object
  • array

Konverzió

  • char()
  • byte()
  • int()
  • word()
  • long()
  • float()

Változó hatáskör & Megszorítások

  • variable scope
  • static
  • volatile
  • const

Segédprogramok

  • sizeof()
  • PROGMEM

Függvények

Digitális I/O

  • pinMode()
  • digitalWrite()
  • digitalRead()

Analóg I/O

  • analogReference()
  • analogRead()
  • analogWrite() - PWM

Due & Zero only

  • analogReadResolution()
  • analogWriteResolution()

Haladó I/O

  • tone()
  • noTone()
  • shiftOut()
  • shiftIn()
  • pulseIn()

Idő

  • millis()
  • micros()
  • delay()
  • delayMicroseconds()

Matematika

  • min()
  • max()
  • abs()
  • constrain()
  • map()
  • pow()
  • sqrt()

Trigonometria

  • sin()
  • cos()
  • tan()

Karakterek

  • isAlphaNumeric()
  • isAlpha()
  • isAscii()
  • isWhitespace()
  • isControl()
  • isDigit()
  • isGraph()
  • isLowerCase()
  • isPrintable()
  • isPunct()
  • isSpace()
  • isUpperCase()
  • isHexadecimalDigit()

Véletlenszámok

  • randomSeed()
  • random()

Bitek és Byte-ok

  • lowByte()
  • highByte()
  • bitRead()
  • bitWrite()
  • bitSet()
  • bitClear()
  • bit()

Külső megszakítások

  • attachInterrupt()
  • detachInterrupt()

Megszakítások

  • interrupts()
  • noInterrupts()

Kommunikáció

  • Serial
  • Stream

USB (32u4 alapú boards-ok és Due/Zero only)

  • Keyboard
  • Mouse

Mintaprogram[3]

A következő program egy egyszerű Arduino program, amely egy csatlakoztatott LED égőt kapcsol be és ki csatlakoztatott nyomógomb segítségével.

/*
* Nyomogomb
*/
int ledPin = 9;  // LED Pin9-re kötve 
int inputPin = 2;  // nyomógomb Pin 2-re kötve
int val = 0; // a  nyomógomb állapotát tároló változó
void setup() 
{
pinMode(ledPin, OUTPUT); // a LED-hez tartozó  láb kimenet
pinMode(inputPin, INPUT); // a nyomógombhoz  tartozó láb bemenet
digitalWrite(ledPin, LOW); // LED kikapcsolása
}
void loop()
{
val = digitalRead(inputPin); // nyomógomb  állapotának lekérdezese
if (val == HIGH)  // ha a nyomógomb nincs lenyomva
{ 
digitalWrite(ledPin, HIGH);  // LED bekapcsolása
} 
else  // különben
{
digitalWrite(ledPin, LOW); // LED  kikapcsolása
}
}

Kapcsolódó oldalak

https://www.arduino.cc/en/Main/AboutUs

https://www.arduino.cc/en/Main/FAQ

http://www.circuitstoday.com/story-and-history-of-development-of-arduino

https://arduinohistory.github.io/

http://www.ladyada.net/learn/arduino/

Jegyzetek

  1. Arduino
  2. a b https://www.arduino.cc/en/Reference/HomePage
  3. Archivált másolat. [2017. április 16-i dátummal az eredetiből archiválva]. (Hozzáférés: 2017. április 16.)

Források

https://www.arduino.cc/en/Reference/HomePage

http://www.circuitstoday.com/story-and-history-of-development-of-arduino