Referencia Arduino
A continuación se detalla el lenguaje de programación básico utilizado en Arduino, el cual está implementado en lenguaje de programación C. Si estas acostumbrado a programar en Processing o Java, por favor, chequea la comparación de lenguajes Arduino/Processing.
La programación en Arduino puede ser dividida en tres partes principales: estructura de programa, valores (variables y constantes), y funciones.
Estructura
Para empezar
Un programa Arduino se ejecuta en dos partes:
setup() es la parte de la preparación del programa, y loop() es la parte de la ejecución del programa. En la sección setup, siempre al comienzo del programa, se asignaría los modos a los pin (pinMode), se inicializaría la comunicación serie, etc. La sección loop es el código que va a ser ejecutado -- lectura de entradas, disparar las salidas, etc.
- Declaración de Variables
- Declaración de Funciones
Estructuras de control
- if
- if...else
- for
- switch case
- while
Más sintaxis
- ; (punto y coma)
- , (coma)
- . (punto)
- {} (paréntesis)
- [] (corchetes)
- // (comentarios de línea)
- /* */ (comentarios de multi-línea)
- #define
Variables
Las variables son expresiones que puedes usar en los programas para almacenar o guardar valores, como por ejemplo la captura de los valores de entrada desde un pin analógico. Pueden ser de varios tipos, los cuales son descritos abajo. Advertencia: actualmente no están incluidas las variables de punto flotante y las operaciones.
- char (caracter)
- int (entero corto)
- long (entero largo)
- boolean (lógica)
- Byte
- Vector
Constantes
Las Constantes son etiquetas para ciertos valores que están presentes en el compilador de Arduino. No necesitas definir o inicializar constantes. Arduino incluye las siguientes constantes como pre-definas .
- HIGH | LOW
- INPUT | OUTPUT
Funciones
Pines digitales
- pinMode(pin, mode)
- digitalWrite(pin, value)
- int digitalRead(pin)
Pines analógicos
- int analogRead(pin)
- analogWrite(pin, value)- PWM
Comunicación Serie
- beginSerial(speed)
- serialWrite(c)
- int serialAvailable()
- int serialRead()
- printMode(mode)
- printByte(c)
- printString(str)
- printInteger(num)
- printHex(num)
- printOctal(num)
- printBinary(num)
- printNewline()
Librería Serie (objetos) para version 0004
- Serial.begin(speed)
- Serial.available()
- Serial.read()
- Serial.print(data)
- Serial.println(data)
Temporizadores
- millis()
- delay(ms)
- delayMicroseconds(us)
Operadores relacionales y lógicos (expresiones)
- > (mayor que)
- < (menor que)
- >= (mayor que o igual a)
- <= (menor que o igual a)
- == (igual a)
- != (no igual a)
Operadores matemáticos
- + (suma)
- - (resta)
- / (división)
- ++ (incremento)
- -- (decremento)
- % (modulo) ¿?
- += (suma y asignación)
- -= (resta y asignacion)
- - (negación) ¿?