Manual de Programacion de Arduino
Manual de Programacion de Arduino
Manual de Programacion de Arduino
void setup() {
inMode(pin, OUTPUT); // Establece 'pin' como salida
}
void loop() {
digitalWrite(pin, HIGH); // Activa 'pin'
delay(1000); // Pausa un segundo
digitalWrite(pin, LOW); // Desactiva 'pin'
delay(1000);
}
Como se observa en este bloque de código cada instrucción acaba con ; y los comentarios
se indican con //. Al igual que en C se pueden introducir bloques de comentarios con /* ...
*/.
Funciones
Una función es un bloque de código identificado por un nombre y que es ejecutado cuando
la función es llamada. La declaración de una función incluye en primer lugar el tipo de
datos que devuelve la función (e.j. int si lo que devuelve es un valor entero). Después del
tipo de datos se especifica el nombre de la funció.
int delayVal() {
int v; // crea una variable temporal 'v'
v = analogRead(pot); // lee el valor del potenciómetro
v /= 4; // convierte los valores 0-1023 a 0-255
return v; // devuelve el valor final de la variable
}
Variables
Una variable debe ser declarada y opcionalmente asignada a un determinado valor. En la
declaración de la variable se indica el tipo de datos que almacenará (int, float, long)
int inputVariable = 0;
Una variable puede ser declarada en el inicio del programa antes de setup(), localmente a
una determinada función e incluso dentro de un bloque como pueda ser un bucle. El sitio en
el que la variable es declarada determina el ámbito de la misma. Una variable global es
aquella que puede ser empleada en cualquier función del programa. Estas variables deben
ser declaradas al inicio del programa (antes de la función setup()).
Tipos de datos
Arduino permite manejar los siguientes tipos de datos:
Byte. Almacena un valor numérico de 8 bits. Tienen un rango de 0-255.
Int. Almacena un valor entero de 16 bits con un rango de 32,767 a -32,768.
Long. Valor entero almacenado en 32 bits con un rango de 2,147,483,647 a -2,147,483,648.
Float. Tipo coma flotante almacenado en 32 bits con un rango de 3.4028235E+38 a
-3.4028235E+38.
Arrays. Se trata de una colección de valores que pueden ser accedidos con un número de
índice (el primer valor del índice es 0).
Ejemplos de utilización:
Operadores aritméticos
x == y. x es igual a y.
x != y. x no es igual a y.
x < y, x > y, x <= y, x >= y.
Y lógico: if (x > 0 && x < 5). Cierto si las dos expresiones lo son.
O lógico: if (x > 0 || y > 0). Cierto si alguna expresión lo es.
NO lógico: if (!x > 0). Cierto si la expresión es falsa.
TRUE / FALSE.
HIGH/LOW. Estas constantes definen los niveles de los pines como HIGH o LOW y son
empleados cuando se leen o escriben en las entradas o salidas digitales. HIGH se define
como el nivel lógico 1 (ON) o 5 V. LOW es el nivel lógico 0, OFF, o 0 V.
INPUT/OUTPUT. Constantes empleadas con la función pinMode() para definir el tipo de
un pin digital usado como entrada INPUT o salida OUTPUT. Ej. pinMode(13, OUTPUT);
Sentencias condicionales
El lenguaje de arduino permite realizar sentencias condicionales if, if... else, for, while, do...
while. Su utilización es similar a las funciones correspondientes en C.
Función digitalRead(pin)
Lee el valor desde un pin digital específico. Devuelve un valor HIGH o LOW. El pin puede
ser especificado con una variable o una constante (0-13). Ej. v = digitalRead(Pin);
Puerto serie
Serial.begin(rate). Abre un Puerto serie y especifica la velocidad de transmisión. La
velocidad típica para comunicación con el ordenador es de 9600 aunque se pueden soportar
otras velocidades.
Serial.println(data). Imprime datos al puerto serie seguido por un retorno de línea
automático. Este comando tiene la misma forma que Serial.print() pero este último sin el
salto de línea al final. Este comando puede emplearse para realizar la depuración de
programas. Para ello puede mandarse mensajes de depuración y valores de variables por el
puerto serie. Posteriormente, desde el entorno de programación de Arduino, activando el
"Serial Monitor" se puede observar el contenido del puerto serie, y, por lo tanto, los
mensajes de depuración. Para observar correctamente el contenido del puerto serie se debe
tener en cuenta que el "Serial Monitor" y el puerto serie han de estar configurados a la
misma velocidad (Para configurar la velocidad del puerto serie se hará con el comando
Serial.begin(rate)).
Serial.read().Lee o captura un byte (un caracter) desde el puerto serie. Devuelve -1 si no
hay ningún carácter en el puerto serie.
Serial.available(). Devuelve el número de caracteres disponibles para leer desde el puerto
serie.
Raspberry pi
Arduino
Referencias
http://dfists.ua.es/~jpomares/arduino/page_01.htm