001- Arduino
001- Arduino
Cuando hablamos de una placa Arduino estamos frente a un sistema de entrada - procesamiento - salida.
Tiene la capacidad de ingresar información del entorno a través de sensores, comprender y procesar esa
información (esa es la parte que debemos programar nosotros) y luego realizar un trabajo sobre ese
mismo entorno por medio de actuadores. Es decir que se dan las tres etapas de entrada, procesamiento
y salida.
Hagamos una comparación de estos tres conceptos con el cuerpo humano: los sensores son como
nuestros sentidos… se encargan de recibir la información del entorno (luces, sonidos, distancias…) El
Arduino sería nuestro cerebro, el cual procesa la información que recibe de los sentidos. Y los
actuadores vienen a ser las respuestas que da el cuerpo como respuesta a la información recibida.
A continuación veremos cada una de las partes que componen a una placa de Arduino para que puedas
familiarizarte antes que nada con su ubicación.
ENTRADA USB
Se usa para alimentar y cargar programas a nuestro Arduino. También es esencial para la comunicación
con el IDE Arduino, mediante las instrucciones Serial.begin(), Serial.println()...
ALIMENTACIÓN 9V
Por medio de un cable de corriente eléctrica, y su respectivo adaptador, podemos alimentar a nuestro
Arduino con una bateria, en este caso, de 9v.
Nota: No uses fuentes de alimentación superiores a 20v ya que pueden dañar la placa. La tensión
recomendada es entre 7v y 12v.
Notarás que cinco de estos pines digitales (3, 6, 9, 10 y 11 respectivamente) están señalados con una
pequeña onda (~). Esto significa que son PWM (permiten una salida semi analógica), por lo que pueden
usarse con la función analogWrite().
PINES ANALÓGICOS
Estos pines van de A0 a A5 y pueden leer la señal de un sensor analógico (como ser un sensor infrarrojo)
y convertirlo en un valor digital que podemos leer. Se usan a través de analogRead().
PIN ENCENDIDO
Son los suministros de cinco voltios (5V) y tres punto tres voltios (3.3V) de potencia.
PIN GND
GND es la abreviatura de "tierra", GROUND en Inglés. Hay varios pines GND en el Arduino, cualquiera de
ellos puede ser utilizado para conectar a tierra el circuito.
BOTÓN RESET
Al presionar este botón se conectará temporalmente el pin de reset a tierra, logrando que se reinicie
cualquier código cargado en el Arduino. Esto puede ser muy útil si el código no se repite, pero quieres
que se ejecute varias veces para realizar pruebas.
LED ENCENDIDO
Este LED debe encenderse cada vez que se conecte la placa Arduino a una toma eléctrica. Si esta luz no
se enciende, hay una alta probabilidad de que algo anda mal.
LED RX/TX
Estos LEDs nos darán algunas indicaciones visuales siempre que nuestro Arduino esté recibiendo o
transmitiendo datos (por ejemplo, la carga de un nuevo programa).
analogWrite (pin, VALOR); // escribe un pseudo valor analógico de 0 a 255 en pines PWM
break; // fuerza el quiebre o salida de una función; normalmente se utiliza dentro de ‘switch’
Byte // introduce variables de tipo ‘byte’, es decir, que trabajan con números enteros cortos de 8 bits.
Su rango es de 0 a 255.
constrain (x, a, b); // fuerza a ‘x’ a permanecer entre los límites de ‘a’ y ‘b’
default: // establece un caso por defecto dentro de ‘switch’ para que la programación siga este camino
en caso de no coincidir con las condiciones de ninguno de los casos detallados.
Float // introduce variables de tipo ‘flotante’, es decir, que trabajan con números decimales.
for (inicialización; condición; expresión){...} // bucle que se repite determinada cantidad de veces
if (CONDICIÓN){...} else {...} // si la condición es ‘TRUE’ ejecuta sus instrucciones. Sino (’else’) le indica
que haga otra cosa
Long // introduce variables de tipo ‘largo’, es decir, que trabajan con números enteros de 32 bits. Su
rango es de -2147483648 hasta 2147483647
map (valor, a1, a2, b1, b2); // a un ‘valor’ dentro de los rangos ‘a1’ y ‘a2’ le asigna su equivalente dentro
del rango comprendido entre ‘b1’ y ‘b2’
max (x,y); // al comparar entre dos valores, el programa se queda con el de mayor valor
min (x,y); // al comparar entre dos valores, el programa se queda con el de menor valor
pulseIn (pin, VALOR); // lee un pulso (’HIGH o ‘LOW’) que ingresa por un determinado pin y entrega
como resultado el tiempo en microsegundos que duró dicho pulso
Serial.println (dato, tipo de dato); // imprime un valor en el puerto serie e incluye un salto de línea para
facilitar la lectura.
Serial.Read (dato, tipo de dato); // lee la información que se encuentra en el puerto serie
switch (variable) { case... // controla el flujo del programa permitiéndonos especificar diferentes
instrucciones (’case’) que serán ejecutadas en base a una condición
void loop // sirve para contener el programa de nuestro robot, que se reproducirá cíclicamente
Estas palabras claves son constantes, variables y funciones que se definen en el lenguaje de
programación de Arduino. Las mismas están reservadas por el programa y no se deben usar en
nombres de variables para evitar un mal funcionamiento.