¡GoConqr estrena diseño! Cuéntanos qué te parece.

Apuntes

Proyecto Arduino

Edmundo_licona Español 1 página

Contenido del apunte (1)

Página 1

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ó<bookmark>OLE_LINK1</bookmark>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()).

int v; //

'v' es visible en todo el programa

void setup() {

//

no se requiere setup

}

void loop() {

for (int i=0; i<20;) // 'i' es visible solo en el bucle

i++;

float

f; // 'f' es visible únicamente en la

función loop()

}

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.

Entradas

y salidas digitales y analógicas

9.1.

Función pinMode(pin, mode)

Función

usada en la function setup() para configurar un pin dado para comportarse como

INPUT o OUTPUT. Ej. pinMode(pin, OUTPUT); configura el pin número 'pin' como de

salida. Los pines de Arduino funcionan por defecto como entradas, de forma que

no necesitan declararse explícitamente como entradas empleando pinMode().

9.2.

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);

9.3.

Funcion digitalWrite(pin, value)

Introduce

un nivel alto (HIGH) o bajo (LOW) en el pin digital especificado. De nuevo, el

pin puede ser especificado con una variable o una constante 0-13. Ej.

digitalWrite(pin, HIGH);

9.4.

Función analogRead(pin)

Lee

el valor desde el pin analógico especificado con una resolución de 10 bits.

Esta función solo funciona en los pines analógicos (0-5). El valor resultante

es un entero de 0 a 1023. Los pines analógicos, a diferencia de los digitales

no necesitan declararse previamente como INPUT o OUTPUT.

9.5.

Función analogWrite(pin, value)

Escribe

un valor pseudo-analógico usando modulación por ancho de pulso (PWM) en un pin

de salida marcado como PWM. Esta función está activa para los pines 3, 5, 6, 9,

10, 11. Ej analogWrite(pin, v); // escribe 'v' en el 'pin' analógico. Puede

especificarse un valor de 0 - 255. Un valor 0 genera 0 V en el pin especificado

y 255 genera 5 V. Para valores de 0 a 255, el pin alterna rápidamente entre 0 V

y 5 V, cuanto mayor sea el valor, más a menudo el pin se encuentra en HIGH (5

V). Por ejemplo, un valor de 64 será 0 V tres cuartas partes del tiempo y 5 V

una cuarta parte. Un valor de 128 será 0 V la mitad del tiempo y 5 V la otra

mitad. Un valor de 192 será 0 V una cuarta parte del tiempo y 5 V tres cuartas

partes.

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.

Información

Descripción
Apunte sobre Proyecto Arduino, creado por Edmundo_licona el 27/04/2016.
Creado por
Edmundo_licona
Visitas
41
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?