Páginas

Buscar este blog

Indice

Les sugerimos que visiten la página Índice para tener mejor acceso a los temas.

jueves, 9 de junio de 2011

Arduino Duemilanove - Programacion Pt2

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:
  • Definición y asignación. int myArray[] = {value0, value1, value2...}
  • Definición. int myArray[5]; // declara un array de 6 enteros
  • Asignación del cuarto componente. myArray[3] = 10;
  • Recuperar el cuarto componente y asignarlo a x. x = myArray[3];

Operadores aritméticos
Empleando variables, valores constantes o componentes de un array pueden realizarse operaciones aritméticas y se puede utilizar el operador cast para conversión de tipos. Ej. int a = (int)3.5; Además pueden hacerse las siguientes asignaciones:
x ++. Lo mismo que x = x + 1.
x --. Lo mismo que x = x - 1, or decrements x by -1.
x += y. Lo mismo que x = x + y, or increments x by +y.
x -= y. Lo mismo que x = x - y .
x *= y. Lo mismo que x = x * y.
x /= y. Lo mismo que x = x / y.
Para su utilización en sentencias condicionales u otras funciones Arduino permite utilizar los siguientes operadores de comparación:
x == y. x es igual a y.
x != y. x no es igual a y.
x < y, x > y, x <= y, x >= y.
Y los siguientes operadores lógicos:
Y lógico: if (x > 0 &#38;&#38; 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.
El lenguaje de Arduino presenta las siguientes constantes predefinidas:
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.
Funciones de tiempo y matemáticas
  • delay(ms). Realiza una pausa en el programa la cantidad de tiempo en milisegundos especificada en el parámetro (máximo 1000, mínimo 1).
  • millis(). Devuelve la cantidad de milisegundos que lleva la placa Arduino ejecutando el programa actual como un valor long unsigned. Después de de 9 horas el contador vuelve a 0.
  • min(x,y). max(x,y). Devuelve el mínimo y el máximo respectivamente de entre sus parámetros.
Funciones de generación aleatoria
  • randomSeed(seed). Especifica un valor o semilla como el punto de inicio para la función random(). Este parámetro debe ser realmente aleatorio y para ello puede emplearse la función millis() o incluso analogRead() para leer ruido eléctrico desde una entrada analógica.
  • random(max), random(min, max). Esta función devuelve un valor aleatorio entre el rango especificado.