Arduino Nano - Leds y Pulsadores

3. Programación

Los Arduinos se pueden programar en un lenguaje pseudo C++. Se utiliza para ello la IDE de Arduino. La estructura de un programa para arduino (sketch) consta de dos estructuras principales:

setup()

La función setup() se ejecuta cuando se inicia un sketch. Se utiliza para inicializar variables, el modo de los pines, librerías, etc. La función setup() solo se ejecuta por única vez después de cada arranque o reset de la placa Arduino.

loop()

Luego de que se ejecuta la función setup(), encargada de inicializar una serie de valores iniciales, la función loop() hace exactamente lo que su nombre sugiere, y produce un bucle continuo, permitiendo al programa cambiar y responder. Se usa para controlar activamente la placa Arduino.

Variables Globales

Como setup() y loop() son funciones independientes, es decir que no están anidadas ni se invocan mutuamente, la única manera de pasar parámetros de una a otro es a través de variables globales. Debido a esto, cuando programamos en C++ para arduino usamos variables globales.

Serial

Se utiliza para establecer una comunicación entre la placa Arduino y una computadora u otro dispositivo. Todas las placas Arduino tienen por lo menos un puerto serial (también conocido como UART o USART):Serial. Se comunica en los pines 0 (RX) y 1 (TX) así como con la computadora a través del puerto USB. Por eso, si se utiliza esta función, no se puede utilizar también los pines 0 y 1 como entrada/salida digital. Se puede utilizar la herramienta monitor serial, integrada en el entorno de desarrollo, para comunicarse con las placas Arduino.

Ejemplo setup() y loop()

const int buttonPin = 3;

// setup initializes serial and the button pin
void setup()
{
  Serial.begin(9600);
  pinMode(buttonPin, INPUT);
}

// loop checks the button pin each time,
// and will send serial if it is pressed
void loop()
{
  if (digitalRead(buttonPin) == HIGH)
    Serial.write('H');
  else
    Serial.write('L');

  delay(1000);
}