Manual Arduino BASICO
Manual Arduino BASICO
Curso de Arduino
Integración de sensores
El manual ha sido adaptado por el Ing. Manuel Alexis Garcia Garcia usando para ello la
siguiente información y recursos:
http://www.arduino.cc (Pagina oficial de Arduino)
"No inventes el hilo negro, eso ya se preocupó alguien en inventarlo, tu tan solo úsalo"
Índice
Dentro del archivo ejecutable, se encuentra tanto el entorno de desarrollo para Arduino,
como los driver necesarios para que el dispositivo sea reconocido por nuestro
ordenador.
Al conectar Arduino mediante USB al PC, veremos cómo se enciende un LED verde, esto
nos indica que la placa está siendo alimentada correctamente. Al momento de conectar
1
0
Manual de Arduino
Programación y conceptos básicos
1
1
Manual de Arduino
Programación y conceptos básicos
1
2
Manual de Arduino
Programación y conceptos básicos
Al hacer esto nos aparecerá la pantalla principal el Sketch, donde podemos diferenciar
las siguientes partes:
• Área de trabajo: Esta será el área donde vamos a escribir el programa que
queremos ejecutar en Arduino.
• Verificación: Cuando redactemos nuestro programa, podemos verificar que la
sintaxis del mismo es correcta y que no hemos cometido ningún error pulsando
sobre este icono, si hay algún error, no podremos cargar el programa en
Arduino.
• Carga de programa: Cuando tengamos listo nuestro programa y no tenga
ningún error, lo cargaremos en Arduino pulsando sobre este botón.
• Archivo nuevo: Abrirá una nueva área de trabajo.
• Abrir un programa: Al pulsar sobre este botón, tendremos la opción de abrir un
archivo desde una ubicación especifica o cargar en nuestra área de trabajo una
serie de programas o librerías ya creadas y que tiene Arduino por defecto.
• Guardar programa: Guardara en una ubicación especificada por el usuario el
contenido del área de trabajo
1
3
Manual de Arduino
Programación y conceptos básicos
1
4
Manual de Arduino
Programación y conceptos básicos
2. Estructura de un programa
La estructura de un programa en Arduino puede llegar a ser muy diferente en función
de la complejidad de la aplicación que queramos crear, pero como en la mayoría de
lenguajes de programación esta estructura está formada por funciones, sentencias,
bucles y otros elementos que conforman la estructura de programa.
2.1 Funciones
Una función es un bloque de código con un nombre y un conjunto de estamentos que
son ejecutados cuando se llama a dicha función. Las funciones de usuario se crean para
realizar tareas repetitivas reduciendo de esa manera el tamaño del programa.
Las funciones están asociadas a un tipo de valor "type", este es el valor que devolverá la
función una vez termine su ejecución.
1
5
Manual de Arduino
Programación y conceptos básicos
Ejemplo de función:
Para hacer uso de la función anterior, tan solo habrá que llamarla desde cualquier parte
del programa.
void loop()
{
int i =2;
int j =3;
int k;
En Arduino los programas pueden estar compuestos por infinidad de funciones, pero
existe una estructura básica que deben de cumplir todos los programas. Esta estructura
básica, está formada por dos funciones totalmente necesarias para la ejecución del
programa, la función setup() y loop().
1
6
Manual de Arduino
Programación y conceptos básicos
2.1.1 Setup ()
La función setup() se invoca una sola vez al comienzo del programa. Esta función se usa
para realizar la configuración inicial, dentro de esta configuración podemos establecer
el modo de trabajo de los pines o inicializar la comunicación serie entre otras cosas.
void setup()
{
Estamentos o instrucciones;
}
2.1.2 Loop ()
La función loop() es la función principal dentro del programa. Esta función se va a
ejecutar continuamente de manera cíclica, ejecutando todas las instrucciones que se
encuentren en su interior.
void loop()
{
Estamentos o instrucciones;
}
2.2 Llaves {}
Las llaves definen el principio y el final de un bloque de instrucciones. Se usan para
delimitar el inicio y fin de funciones como setup()o para delimitar el alcance de los bucles
y condicionales del programa.
void funcion()
{
Estamentos o instrucciones;
}
1
7
Manual de Arduino
Programación y conceptos básicos
El error más común a la hora de programar suele ser olvidar poner punto y coma al
final de la instrucción.
Se pueden introducir todas las líneas de texto que se deseen siempre que se encuentren
entre los caracteres /*...*/.
Se recomienda el uso de bloques de comentarios siempre que se pueda, ya que ayudan
a la comprensión del programa a personas ajenas al mismo, además, estos comentarios
no van a ocupar espacio de programa, ya que son ignorados a la hora de compilar.
3. Variables
Las variables son elementos donde se almacenan valores numéricos que serán usados
por el programa. Como su nombre indica, las variables van a cambiar de valor con la
evolución del programa y nos van a permitir crear la lógica del programa en función de
estos cambios.
1
8
Manual de Arduino
Programación y conceptos básicos
Una variable debe ser declarada y opcionalmente asignarle un valor antes de ser usada
por el programa, si no hemos declarado la variable o lo hemos hecho con posterioridad a
su uso va a dar un error al compilar el programa.
Cuando se asignen nombres a las variables, se deben de usar nombres que identifiquen
claramente a dichas variables, para ello se usan nombres como "pulsador", "led",
"entrada_1".... esto va a ayudar a hacer un código legible y fácil de entender.
Una variable global es aquella que puede ser vista y utilizada por cualquier función y
estamento de un programa. Las variables globales se declaran al comienzo del
programa, antes de la función setup().
Una variable local es aquella que se define dentro de una función o como parte de un
bucle. Solo será visible y podrá utilizarse dentro de la función o bucle donde es
declarada.
int led = 10; //"led" es una variable global visible para cualquier función
void setup()
{
pinMode (led, OUTPUT); //establece el pin "led" como salida
}
void loop ()
{
float valor; //"valor" es una variable local solo visible dentro de "loop"
for (int i=0; i<20; i++) //"i" es una variable local usada por el bucle for
{
digitalWrite (led, HIGH); //uso de la variable global "led"
}
1
9
Manual de Arduino
Programación y conceptos básicos
4. Constantes
La diferencia fundamental entre una variable y una constante es que la constante va a
ser un valor de solo lectura que no va a poder ser modificado con la evolución del
programa.
Si queremos definir una constante, podemos hacerlo de manera muy similar a como
definíamos las variables, tan solo hay que indicar al programa que se trata de un valor
"no modificable", para ello hay que añadir antes del "tipo" la palabra "const", que va a
hacer que la variable sea de solo lectura.
const float pi = 3.1415; //crea una constante de tipo "float" y le asigna el valor 3.1415
Es posible crear constantes usando #define, esta sentencia va a nombrar las constantes
antes de ser compiladas por Arduino. Las constantes creadas de esta manera no van a
ocupar memoria de programa, ya que el compilador va a remplazar estas constantes con
el valor definido en el momento de compilar.
2
0
Manual de Arduino
Programación y conceptos básicos
#define pi 3.1415 //crea una constante usando #define a la que le asigna el valor 3.1415
Hay que tener cuidado a la hora de usar #define, ya que la sintaxis es diferente, no hay
que poner el operador de asignación "=" ni cerrar sentencia con el punto y coma ";".
Usar #define puede ser problemático, ya que si existe en cualquier parte del programa
alguna constante o variable con el mismo nombre que tengamos asignado en #define,
el programa lo va a sustituir con el valor que tengamos asignado a esta constante, por
ello se debe tener cuidado a la hora de asignar constantes con #define y no crear
constantes muy genéricas como #define x 10,ya que "x" es muy común usarlo como
variable dentro de alguna función o bucle.
5. Operadores
Los operadores son los elementos con los que vamos transformar las variables del
programa, hacer comparaciones, contar un número determinado de eventos… .Los
operadores se pueden considerar como uno de los elementos más importantes junto
con las estructuras de control. Dentro de los operadores, podemos encontrarlos de
varios tipos.
Hay que tener en cuenta el tipo de variable que estamos usando a la hora de realizar
operaciones, ya que si vamos a efectuar una operación que da como resultado un numero
con decimales y hemos definido estas variables como int (entero), el resultado no va a
mostrar la parte decimal (10 / 3 va a devolver 3 en lugar de 3.33).
2
1
Manual de Arduino
Programación y conceptos básicos
x -= y; //equivale a x = x - y
x *= y; //equivale a x = x * y
x /= y; //equivale a x = x / y
x == y; //x es igual a y
x != y; //x es distinto de y
x < y; //x es menor que y
x > y; //x es mayor que y
x <= y; //x es menor o igual que y
x >=y; // x es mayor o igual que y
6. Estructuras de control
Dentro de las estructuras de control se engloban todos los estamentos que sirven para
guiar al programa en una u en otra dirección en función de si se cumplen o no las
condiciones que le marquemos al programa. Dentro de estas estructuras podemos
encontrar condicionales, bucles o elementos de control de flujo.
6.1 Condicionales
Los condicionales son elementos que chequean un estado o condición y si esta condición
se cumple se pasa a ejecutar las sentencias englobadas dentro de la condición.
2
2
Manual de Arduino
Programación y conceptos básicos
6.1.1 If
If es un estamento que se utiliza para comprobar si una determinada condición se
cumple. Si la condición se cumple, se pasará a ejecutar las sentencias encerradas dentro
del bloque if, si no se cumple la condición, el programa saltará este bloque sin ejecutar
ninguna instrucción.
Este condicional puede ir precedido de otras estructuras condicionales del mismo tipo,
anidando unas dentro de otras y haciendo que sean mutuamente excluyentes.
2
3
Manual de Arduino
Programación y conceptos básicos
6.2 Bucles
Los bucles son elementos que hacen que el programa entre en un ciclo de repetición
mientras se cumplan las condiciones del bucle.
6.2.1 For
El bucle for se usa para repetir un bloque de sentencias un número determinado de
veces. Cada vez que se terminan de ejecutar las sentencias encerradas dentro del bucle,
se comprobará la condición inicial, repitiéndose el buche mientras se cumpla dicha
condición.
El bucle for está formado por 3 partes, la inicialización, la condición del bucle y una
expresión (la expresión no es necesaria o puede ponerse dentro de las sentencias del
bucle).
2
4
Manual de Arduino
Programación y conceptos básicos
6.2.2 While
El bucle while es un bucle que se repetirá constantemente mientras se cumpla la
expresión del bucle. Dentro de la expresión del bucle se pueden usar variables que
cambien dentro del propio bucle o que tomen el valor de alguna de las entradas de
Arduino que podemos tener asociadas a sensores u otros elementos.
while (sensor < 150) //ejecuta el bucle mientras "sensor" sea menor a 150
{
ejecuta instrucciones;
}
do
{
sensor = analogRead (1); //asigna a "sensor" el valor de la entrada analógica 1
}while (sensor < 150) //repite el bucle mientras "sensor" sea menor que 150
6.3.1 Goto
Esta sentencia realiza un salto a cualquier parte del programa que este marcada con la
etiqueta correspondiente, la posición desde la que realicemos el salto quedará
almacenada en la pila del programa para que podamos regresar al lugar desde donde
realicemos el salto.
if (x == 110)
{
2
5
Manual de Arduino
Programación y conceptos básicos
Los saltos que podemos realizar con Arduino están limitados a la pila de programa, no
pueden ser infinitos, por lo que no es recomendable anidar bucles y saltos, ya que
podemos romper el flujo de programa
6.3.2 Return
Esta sentencia se usa para volver de un salto goto. En el momento que es leída por el
programa, se cargará la ultima dirección almacenada en la pila de programa, esto hará
que se regrese a la posición desde la que se realizó el último salto.
6.3.3 Break
La sentencia break es una sentencia que se debe de evitar a toda costa, tan solo
debemos usarla cuando sea totalmente necesario. Esta sentencia rompe la iteración del
bucle donde se encuentre, haciendo salir al programa del bucle sin tener en cuenta que
se cumplan las condiciones para salir del mismo.
2
6
Manual de Arduino
Programación y conceptos básicos
2
7
Manual de Arduino
Programación y conceptos básicos
Antes de empezar a trabajar con Arduino, deben de ser configurados los pines de la placa
que vayan a ser usados, asignándolos como entradas o como salidas. En ningún caso un
mismo pin podrá hacer de entrada y de salida al mismo tiempo.
La instrucción que se utiliza para realizar la configuración de los pines es pinMode, donde
habrá que asignarle el pin que queremos configurar y si queremos que actúe como
entrada (INPUT) o como salida (OUTPUT).
void setup()
{
pinMode (10, OUTPUT);//configura el pin 10 como salida
}
Los pines de Arduino están configurados por defecto como entradas, por lo que no es
necesario indicarles el modo de trabajo si vamos a trabajar con ellos como entradas.
2
8
Manual de Arduino
Programación y conceptos básicos
La razón de tener los pines configurados por defecto como entradas, es que las entradas
se encuentran en un estado de alta impedancia, lo que va a evitar en muchos casos que
dañemos la placa al realizar una mala conexión. Si establecemos un pin como salida y
por error entra corriente por dicho pin lo más seguro es que dañemos el
microcontrolador de manera irreversible.
Los pines que tengamos configurados como salida (OUTPUT) van a suministrar una
corriente máxima de 40mA por separado, sin que la corriente total de las salidas pueda
superar los 200mA. Esta corriente es suficiente para hacer brillar un led, pero
insuficiente para activar elementos de mayor potencia.
valor = digitalRead (pin); //la variable "valor" toma el estado asociado al pin
Podemos especificar el pin asignándole directamente la numeración del pin digital que
queremos leer o con una variable o constante previamente definida.
void setup()
{
2
9
Manual de Arduino
Programación y conceptos básicos
void loop()
{
valor = digitalRead (pulsador); //lee el estado del pulsador y lo asigna a valor
digitalWrite (led, valor); //asigna a led el estado de la variable valor
}
Para poder leer y escribir valores analógicos, Arduino cuenta con una serie de E/S
destinadas a este fin, con las que podremos leer y escribir niveles de tensión que irán de
0 a 5 o 3.3v (dependiendo del modelo de Arduino que estemos usando).
valor = analoRead (pin); //la variable valor toma el nivel del pin analógico
Los pines de entrada analógicos no necesitan ser declarados como entrada (INPUT), ya
que son siempre entradas.
3
0
Manual de Arduino
Programación y conceptos básicos
El nivel de tensión que tendremos a la salida del pin, va a ser igual al nivel de tensión
promedio proporcional al ancho de los pulsos.
Como se observa en la imagen superior, variando en ancho del pulso, podemos obtener
una señal promedio equivalente. Para la primera señal, cuyo ancho de pulso es del 10%,
nos daría una señal analógica de 0.5v (el 10% de 5V), para la segunda una señal de 2.5v
y para la tercera señal obtendríamos una señal equivalente de 4.5v.
Las salidas analógicas trabajan con registros de 8bit's, o lo que es lo mismo, pueden
tomar valores comprendidos entre 0 y 255, correspondiendo el 0 a un nivel de 0 voltios
y el 255 al máximo voltaje (5 o 3.3 voltios dependiendo de la placa que estemos usando).
analogWrite (pin, valor); //saca por el pin el nivel de tensión equivalente a valor
Cuando trabajemos con entradas y salidas analógicas hay que tener en cuenta que al
realizar una lectura analógica el resultado se guarda en una variable de 10 bit's, pero la
escritura se hace con una variable de 8 bit's, por lo que si queremos usar el valor leído
para escribir en algún pin, primero deberemos de adaptar la variable de 10 a 8 bit's, si
no hacemos esto, el valor que escribamos va a estar fuera de rango y no va a mostrar el
nivel de tensión correcto.
3
1
Manual de Arduino
Programación y conceptos básicos
8. Puerto serie
Arduino cuenta con una serie de pines que tienen la capacidad de comunicarse con otros
dispositivos usando la comunicación serie para ello. Con esta comunicación serie se
puede realizar también una comunicación con el ordenador a través del USB gracias al
chip FDTI que incorpora la placa y que realiza la conversión USB-serie.
Para poder utilizar el puerto serie hay que inicializarlo estableciendo la velocidad de la
conexión. Esta inicialización se hace siempre dentro de la función setup() .
Un valor típico para realizar la conexión es 9600 baudios , aunque se pueden asignar
otros muchos valores.
void setup()
{
Serial.begin (9600); //abre el puerto serie estableciendo la velocidad en 9600
} //baudios
Según el modelo de Arduino que estemos usando, puede tener 1 o más puertos para la
comunicación serie, estos puertos estarán numerados y deberán de abrirse de manera
independiente según los que queramos usar.
void setup()
{
Serial.begin(9600);
Serial1.begin(9600);
Serial2.begin(9600);
Serial3.begin(9600);
}
3
2
Manual de Arduino
Programación y conceptos básicos
Debe de tenerse en cuenta que si se inicializa la comunicación serie, los pines asociados
al puerto serie que estemos utilizando no podrán ser usados para otro propósito.
Para imprimir estos datos se usa el comando Serial.print, que mandará a través del
puerto serie el dato o la cadena de caracteres que le indiquemos. Esta instrucción tiene
algunas variantes, que veremos a continuación.
Esta es la instrucción más común a la hora de enviar datos a través del puerto serie, tan
solo hay que indicar el dato que queremos enviar y el formato en el que queremos que
muestre dicho dato.
El "tipo de dato" puede tomar los valores BIN (binario), OCT (octal), DEC (decimal) y HEX
(hexadecimal). En versiones antiguas de Arduino, también estaba disponible el sacar los
datos en formato "BYTE", pero este formato fue eliminado, si queremos sacar un byte
en pantalla, podemos utilizar la función
Serial.write(valor).
Si estamos trabajando con datos que tienen decimales (float) y queremos mostrar un
número concreto de ellos, podemos hacerlo poniendo en tipo de dato el número de
decimales que queremos mostrar. Por defecto mostrará dos decimales.
3
3
Manual de Arduino
Programación y conceptos básicos
Cuando mandamos datos a través del puerto serie y queremos visualizar estos datos en
pantalla, es recomendable introducir espacios y saltos de línea, ya que si no lo hacemos
los datos nos van a aparecer de manera continua y no vamos a poder diferenciar unos
de otros. Para ordenar estos datos, podemos introducir tabulaciones o saltos de línea
con los siguientes comandos:
Si queremos crear datos en líneas diferentes, se puede optar por una variante del
Serial.print que introduce automáticamente un salto de línea, haciendo que el siguiente
dato que se vaya a escribir aparezca en la siguiente línea.
Como en el caso anterior, el tipo de dato será un campo opcional, si no se rellena este
campo, el dato aparecerán en formato decimal.
Esta instrucción se usa para comprobar si hay caracteres disponibles para leer en el
puerto serie. Serial.available va a tomar un valor entero con el número de bytes
3
4
Manual de Arduino
Programación y conceptos básicos
disponibles para leer que están almacenados en el buffer del puerto serie. Si no hay
ningún dato disponible Serial.avaible va a valer 0, por lo que es muy fácil el uso de esta
función combinada con el condicional if.
Arduino tiene un buffer que puede almacenar como máximo 64 bytes, una vez
sobrepasada esta capacidad se empezaran a escribir los datos uno encima de otro,
perdiendo la información.
Aquí voy a mostrar algunas de las instrucciones que Arduino trae por defecto, pero no
son las únicas, ya que se pueden cargar librerías muy interesantes (como la librería de
matemáticas) que añaden funciones con las que podemos realizar tareas complejas de
manera muy sencilla.
Hay que tener mucho cuidado cuando se usa esta función, ya que se trata de una función
bloqueante. Esta función va a detener el flujo de programa, haciendo que durante este
tiempo no se detecten eventos como pueden ser presionar un pulsador o la activación
de un sensor, esto puede ocasionar graves problemas en la aplicación, por lo que
siempre que se pueda hay que evitar usar la instrucción delay().
La instrucción delay () es muy útil cuando ejecutamos tareas que requieren un tiempo
mínimo para dicha ejecución, como por ejemplo, para leer memorias externas o
comunicarnos con algunos dispositivos vamos a necesitar un tiempo mínimo para
acceder a la memoria o establecer la comunicación, este tiempo lo obtenemos
deteniendo el programa los milisegundos suficientes para realizar dichas acciones.
3
5
Manual de Arduino
Programación y conceptos básicos
9.2 DelayMicroseconds(µs)
La instrucción delayMicroseconds() funciona igual que delay(), con la diferencia de
realizar las temporizaciones usando microsegundos (µs) en lugar de milisegundos (ms).
9.3 Millis ()
La instrucción millis() va a devolver el tiempo en milisegundos trascurridos desde el inicio
del programa hasta el momento actual. Esta instrucción es muy interesante, ya que nos
permite realizar temporizaciones NO bloqueantes basadas en eventos.
tiempo = millis(); //la variable "tiempo" toma el valor del tiempo transcurrido
#define led 11
#define puls 10
boolean pulsador;
unsigned long tiempo;
void setup()
{
pinMode(led, OUTPUT);
pinMode(puls, INPUT);
}
voidloop()
{
pulsador = digitalRead(puls);
if(pulsador == HIGH)
{
tiempo = millis() + 5000;
digitalWrite(led, HIGH);
}
3
6
Manual de Arduino
Programación y conceptos básicos
if(tiempo == millis())
{
digitalWrite(led, LOW);
tiempo = 0;
}
}
9.4 Min(x,y)
La instrucción min(x, y) va a comparar dos valores devolviendo el menor de ellos.
dato = min(sensor, 100); //dato toma el valor más pequeño entre "sensor" o 100
En el ejemplo anterior "dato" va a tomar el valor del sensor siempre que este valga
menos de 100, si es mayor tomará el valor 100. Esa instrucción puede usarse para limitar
superiormente el valor de "dato".
Esta instrucción funciona igual que min(x, y), la diferencia es que va a entrega el mayor
de los dos números, esto puede ser utilizado para inferiormente el valor que tomará la
variable "dato".
3
7
Manual de Arduino
Programación y conceptos básicos
Arduino es una plataforma de desarrollo hardware que funciona con 5 o 3.3 voltios
(dependiendo de la placa Arduino que usemos) y que tan solo puede entregar 40mA
(miliamperios) a las salidas de sus pines de manera independiente sin que se superen
los 200mA en conjunto. Debido a estas características, podemos considerar a Arduino
como el "cerebro" de nuestro sistema, ya que va a realizar toda la lógica de control pero
no será capaz de controlar dispositivos por sí mismo.
Cuando trabajemos con salidas de señales, tan solo debemos de añadir una resistencia
en serie que va a limitar la corriente que sale por el pin. Si el elemento al que vamos a
conectar el pin tiene una entrada de alta impedancia, esta resistencia no va a ser
necesaria.
3
8
Manual de Arduino
Programación y conceptos básicos
El usar una salida digital o analógica (PWM) no va a cambiar nada a la hora de trabajar
con pequeñas señales.
Si la señal con la que estamos trabajando esta dentro del rango que puede soportar
Arduino, no vamos a tener ningún problema al cualquier tipo de señal, ya sea digital o
analógica.
Conexión en PullUp
Al conectar el circuito mediante una resistencia de PullUp, la entrada del pin
va a estar a nivel ALTO siempre que el pulsador o interruptor se encuentre
abierto. Cuando se sierre el pulsador o interruptor, se va a conectar el pin
directamente a GND, cambiando el estado del pin de ALTO a BAJO.
3
9
Manual de Arduino
Programación y conceptos básicos
Conexión en PullDown
La conexión en PullDown es totalmente opuesta a la conexión en PullUp, esta
va a poner el pin en estado BAJO mientras el interruptor o pulsador se
encuentren en reposo (abierto), pasando a un estado ALTO al cerrarse el
pulsador o interruptor.
El colocar una resistencia de PullUp o PullDown va a hacer que el pin de Arduino esté
conectado siempre a un estado lógico ALTO o BAJO y que al cerrar el pulsador o
interruptor no se conecten la alimentación y GND directamente, (lo que ocasionaría un
cortocircuito) ya que hay una resistencia de 10KΩ entre ambos.
4
0
Manual de Arduino
Programación y conceptos básicos
Mosfet de potencia
Los mosfet de potencia se han popularizado mucho en los últimos años, ya que
permiten el control de grandes corrientes y velocidades de conmutación muy altas,
esto los hace muy adecuados para su uso en fuentes de alimentación y en
reguladores de potencia. Otra característica muy importante es que no tienen
consumo de corriente en la puerta (se activan por tensión), haciendo que el pin de
Arduino no tenga que suministrar corriente.
4
1
Manual de Arduino
Programación y conceptos básicos
Los mosfet son muy usados junto con los pines PWM, ya que esto va a permitir tener
un control de la potencia que se entrega a la carga, pudiendo pudiéndose adaptar a
las necesidades de cada momento cambiando el ciclo de trabajo.
Relés
Los relés son interruptores mecánicos activados por corriente. Esta corriente de
activación suele superar la corriente que es capaz de suministrar Arduino, además la
bobina de relé crea flujos de corriente peligrosos para la placa, por lo que en cualquier
caso hay que aislar la activación de la bobina de la placa Arduino usando para ello
optoacopladores o transistores en configuración darlington.
4
2
Manual de Arduino
Programación y conceptos básicos
Los relés suelen usarse para controlar cargas de todo tipo, ya que es muy amplio el
catalogo de relés que existe. La única limitación que tienen los relés frente a los mosfet
de potencia es el ciclo de trabajo, los relés no están pensados para conmutar a mucha
velocidad, ni para funcionar como reguladores con el PWM. Los relés se utilizan para
activar o desactivar cargas de todo tipo siempre que los ciclos de conmutación no sean
demasiado elevados.
4
3
Manual de Arduino
Programación y conceptos básicos
4
4