Está en la página 1de 4

Gua de referencia bsica ARDUINO

Conectores

PINES : para conectar componentes electrnicos. Hay analgicos y digitales.


PUERTO USB : para conectar al ordenador y opcionalmente para alimentar la placa
ALIMENTACIN : opcionalmente para alimentar la placa

Tipos de pines

DIGITALES : Slo tratan con dos valores de tensin : 5V (HIGH) y 0V (LOW) . Hay 14 pines.
ANALGICOS : Tratan con cualquier valor de tensin comprendido entre 5V y 0V. Hay 6 pines.

Modos de los pines digitales

OUTPUT : El pin fija un valor de tensin a los componentes externos (salida).


Sobre estos pines la placa escribe tensiones (write)
INPUT : El pin se prepara para recibir un valor de tensin fijado por un componente externo.
De estos pines la placa lee tensiones (read)

Estructura general de un programa


// Declaracin del prototipo de las funciones y variables
void setup() {
// Funciones de inicializacin que definen el modo de los pines y del puerto usb
}
void loop() {
// Funciones, estructuras de control y operadores que definen el funcionamiento de la placa
}
// Programa de ejemplo
int tiempo_de_espera=1000;
void setup() {
pinMode(13, OUTPUT);

// asigna el modo del pin digital 13 como salida

}
// el programa se ejecuta cclicamente por tiempo indefinido
digitalWrite(13, HIGH);
// enciende el LED (on)
delay(tiempo_de_espera);
// espera por un segundo
digitalWrite(13, LOW);
// apaga el LED (off)
delay(tiempo_de_espera);
// espera por un segundo

void loop() {

Funciones
Las funciones pueden interactuar con los conectores de la placa, leyendo y escribiendo sobre los mismos.
Adicionalmente, pueden devolver un valor que puede ser empleado en el resto del programa.
Funciones para interactuar con los pines
Pines digitales

pinMode(numero_del_pin, modo) Pone el pin numero_del_pin en modo INPUT o OUTPUT.


digitalWrite(numero_del_pin, valor_HL) Escribe un valor digital (HIGH o LOW) en el pin
numero_del_pin.
digitalRead(numero_del_pin) Devuelve un valor digital (HIGH o LOW) leido desde el pin
numero_del_pin.
pulseIn(numero_del_pin, valor_HL) Devuelve un nmero que es el tiempo microsegundos que ha
estado el pin numero_del_pin al valor valor_HL
analogWrite(numero_del_pin, valor_0_255) Pone en el pin numero_del_pin un seal digital
PWM de frecuencia 30769 Hz y de ciclo de trabajo proporcional a valor_0_255. El efecto de esta
funcin permanece hasta que otra funcin lee o escribe sobre dicho pin. Solo algunos pines
marcados en la placa soportan PWM.
Pines analgicos

analogRead(numero_del_pin) Devuelve un nmero que es la tensin leda en el pin


numero_del_pin multiplicada por 204,8. Son siempre modo INPUT. No hay que inicializarlos

Funciones para interactuar con el puerto USB

Serial.begin(speed) Fija la velocidad a la que se van a transferir datos por el puerto USB
Serial.available() Devuelve un valor 0_1 indicando si hay datos por leer del puerto USB
Serial.read() Lee el puerto USB y devuelve el valor 0_255 del dato all presente
Serial.print(dato) Escribe en el puerto USB la frase dato o el numero dato convertido a BCD.
Serial.print(dato,formato) Escribe en el puerto USB el numero dato convertido a formato.
Formato puede ser : HEX : Convierte el nmero a hexadecimal , OCT : Convierte el nmero a
octal, BIN : Convierte el nmero a binario

Nota : Existe la funcin Serial.println, que es como las anteriores, pero que adems genera un
retorno de lnea tras su ejecucin.
Las siguientes funciones no interactan con los conectores, pero pueden ser tiles en el desarrollo de un
programa:
Funciones para controlar los tiempos:

millis() Devuelve el tiempo en milisegundos, desde que se activ el programa.


delay(ms) Hace que el programa espere el tiempo ms (en milisegundos) antes de ejecutar la
siguiente funcin.
delayMicroseconds(us) dem al anterior pero midiendo el tiempo en microsegundos (hay 1 milln
de microsegundos en un segundo)

Funciones para generar nmeros aleatorios:

random(max) random(min, max) Devuelve un nmero long (0_4,3G) que est entre min y max
randomSeed(seed) Da verdadero carcter aleatorio a la funcin anterior. Emplear normalmente
como randomSeed(millis()); y siempre obligatoriamente antes de la primera llamada a random()

Estructuras de control:
Las estructuras de control sirven para controlar el orden de ejecucin de las funciones, que puede
alterarse en funcin de los valores ledos de los conectores o del resultado de otras funciones u
operaciones.
if
if (var > 50) {
// hacer esto si var > 50

}
if...else
if (var < 500)
{
//hacer esto si var < 500
}
else
{
//hacer esto si var >= 500
}
for
int var;
for (var=1;var <= 8; var++){
// hacer esto 8 veces recalculando var automticamente
}

while
int var = 1;
while(var <= 200){
// hacer esto 200 veces, recalculando var manualmente
var++;

}
switch case
switch (var) {
case 1:
//hacer esto cuando var vale 1
break;
case 2:
//hacer esto cuando var vale 2
break;
default:
// si no se da ninguna de las anteriores condiciones, hacer esto
}

Adems, dentro de algunas estructuras pueden usarse los siguientes comandos.


break ; Hace al programa a salirse de las estructuras for, while y switch, continuando tras ellas.
continue ; En bucles, salta inmediatamente a la siguiente iteracin del bucle.

Variables

Las variables son contenedores de valores, que pueden cambiarse durante la ejecucin del programa.
Escalares: Las variables escalares contienen un nico valor.

boolean (lgica) Valores de 0 a 1. bolean a,b;


char (caracter) Valores slo positivos de 0 a 255. char a, b;
byte (palabra) Valores de 0 a 255. byte a, b;
int (entero corto) Valores de 0 a 32.767. int a, b;
long (entero largo) Valores de 0 a 4.294.967.295 long a,b;

Vectoriales : Las variables vectoriales (arrays) contienen varios valores que pueden seleccionarse
mediante un ndice. Equivale a tener varias variables unidas por un mismo nombre.

array (vector) Conjunto de nmeros del mismo tipo escalar. int numer[] = { 90, 150, 30 };
string (frase) Conjunto de valores tipo char . char nombre[ ] = "arduino";

Operadores
Los operadores realizan operaciones entre nmeros o entre variables.
Relacionales
>
<
>=
<=
==
!=

Lgicos
mayor que
menor que
mayor que o igual a
menor que o igual a
igual a
no igual a

||
&&
!

OR logica
AND logica
NOT logica

Matemticos

+
*
/
++
-%
+=
-=
=

suma
resta
multiplicacin
divisin
incremento
decremento
modulo
suma y asignacin
resta y asignacion
negacin
asignacin

Otros elementos

//
comentarios de lnea .
/* */ comentarios de multi-lnea .
* Puntero (vector) Indica la direccin de memoria en donde se encuentra una variable.
#define Asocia definitivamente un nombre con un valor. #define PIN_DE_LED 13
#include Incluye un archivo de texto como parte de nuestro programa.

Bajo licencia Creative Commons

2008 - Jos Alberto Espejo.

También podría gustarte