Sie sind auf Seite 1von 28

Uso de librerías en

arduino
La instalación, actualización y manejo librerías en Arduino es un aspecto
importante a la hora de usar Arduino, veamos unos ejemplos. Para
aprender a instalar librerías lo mejor es practicar, veamos unos ejemplos
de instalación de algunas librerías muy útiles.
Cuando se va a instalar una librería, la primera tarea es leer la
documentación y aprender a usarla, ya sea leyendo el código, viendo los
ejemplos o revisando la documentación si está disponible.

Desinstalar librerías: Para desinstalar una librería


simplemente borrar el directorio de la librería situado
en la ruta configurada en las preferencias de Arduino y
reiniciar el IDE.
Al descargar e instalar en tu ordenador
el entorno de desarrollo del Arduino A continuación veremos las diferentes librerías
(IDE), se incluyeron algunas librerías estándar:
estándar con la instalación. Las librerías 1.Librería ArduinoTestSuite
estándar son aquellas que el equipo de 2.Librería EEPROM
desarrollo de Arduino estimó que serían 3.Librería SD
necesarias para los desarrollos de 4.Librería Ethernet
muchos usuarios. 5.Librería Firmata
Estas librerías no se incluyen como 6.Librería LiquidCrystal
opción por defecto en tus sketches, 7.Librería Servo
tienes que cargarlas una por una 8.Librería Stepper
(aquellas que necesites). De esta 9.Librería SPI
manera se utilizan los recursos de 10.Librería Wire
memoria del Arduino con mayor 11.Librería SoftwareSerial
eficiencia al cargar únicamente aquellas  
librerías que vas a usar en tu sketch.
Para incluir un librería basta con añadir
una declaración #include al comienzo
del sketch. Por ejemplo, si quieres incluir
la librería de cristal líquido, que se utiliza
para exhibir datos en una pantalla LCD,
basta con incluir la siguiente declaración
Software Serial

El hardware Arduino ha incorporado soporte para la comunicación serie en los pines 0 y 1 (que
también va al ordenadora través de la conexión USB). El soporte nativo serie pasa a través de
un componente de hardware (integrado en el chip) llamado UART. Este hardware permite el
chip ATmega recibir la comunicación serie incluso mientras trabaja en otras tareas, siempre
que haya espacio en la memoria intermedia serie de 64 bytes.

La biblioteca SoftwareSerial ha sido desarrollada para permitir la comunicación serie en otros


pines digitales del Arduino, usando el software para replicar la funcionalidad (de ahí el nombre
de "SoftwareSerial"). Es posible tener múltiples puertos serie de programas con velocidades
de hasta 115200 bps. Un parámetro permite la señalización invertida para dispositivos que
requieren ese protocolo.La versión de SoftwareSerial incluido en la versión 1,0 y posteriores se
basa en la biblioteca NewSoftSerial escrita por Mikal Hart.
La biblioteca tiene las siguientes limitaciones conocidas:

•Si se usa con puertos serie de programas múltiples, sólo uno puede recibir datos a la vez.
•No todos los pines en las placas Mega y Mega 2560 soportan nterrupciones de cambio de nivel, por lo
que solamente los siguientes se pueden utilizar para RX: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62),
A9 ( 63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).
•No todos los pines de las placas Leonardo y Micro soportan interrupciones de cambio de nivel, así que
solamente los siguientes se pueden utilizar para RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
•En Arduino o Genuino 101 la velocidad máxima actual de RX es de 57600bps
•En Arduino o Genuino 101 RX no funciona en el pin 13
•Si su proyecto requiere flujos de datos simultáneos, consulte la biblioteca AltSoftSerial de Pablo
Stoffregen. AltSoftSerial supera una serie de problemas con el núcleo SoftwareSerial, pero tiene sus
propias limitaciones. Consulte el sitio AltSoftSerial para más información.
Descripción:
SoftwareSerial se utiliza para crear una instancia de un objeto SoftwareSerial, cuyo nombre es necesario
proporcionar al igual que en el ejemplo siguiente. El argumento inverse_logic es opcional y por defecto es false.
Véase más abajo para más detalles acerca de lo que hace. Con SoftwareSerial pueden ser creados objetos
múltiples, sin embargo, sólo uno puede estar activo en un momento dado.Es necesario llamar
a SoftwareSerial.begin () para permitir la comunicación.

Parámetros:
rxPin: el pin en que se desea recibir datos serie
TxPin: el pin en el que se transmiten los datos
serieinverse_logic: se utiliza para invertir el sentido de los bits entrantes (el valor por defecto es de lógica
normal). Si se activa, SoftwareSerial pone un nivel LOW (0 voltios) en el pin Rx como 1 bit (estado de reposo) y un
nivel HIGH (5 voltios) como 0 bits. También afecta a la forma en que se escribe en el pin Tx. El valor por defecto
es false.

Advertencia: No se debe conectar dispositivos en los que los datos de salida serie estén fuera del rango que el
Arduino puede manejar, normalmente de 0 V a 5 V, para una placa alimentada a 5 V y 0 V a 3,3 V para una placa
que funciones a 3,3 V.
Ejemplo:
#include <SoftwareSerial.h>

 const byte rxPin = 2;
 const byte txPin = 3;

 // configura un nuevo objeto serie


 SoftwareSerial mySerial (rxPin, txPin);
available()

Descripción:
Obtiene el número de bytes (caracteres) disponibles para la lectura de un puerto serie software. Se trata
de datos que ya llegaron y se almacenan en la memoria intermedia de recepción serie.

Sintaxis:
mySerial.available()

Parámetros:
Ninguno

Retornos:
El número de bytes disponibles para leer.
begin()

Descripción:
Configura la velocidad (baudios) para la comunicación serie. Las velocidades de
transmisión admitidas son 300, 600, 1200, 2400, 4800, 9600, 14400, 19200,
28800, 31250, 38400, 57600 y 115200.

Parámetros:
speed: la velocidad de transmisión (long)

Retornos:
Ninguno
Ejemplo:
// incluye la biblioteca SoftwareSerial para poder usar estas funciones:
 #include <SoftwareSerial.h>

 #define rxPin 10
 #define txPin 11

 // configura un nuevo puerto serie


 SoftwareSerial mySerial =  SoftwareSerial(rxPin, txPin);

 void setup()  {
   // defines los modos de pin para tx, rx:
   pinMode(rxPin, INPUT);
   pinMode(txPin, OUTPUT);
   // configura la velocidad de datos del puerto SoftwareSerial 
   mySerial.begin(9600);
 }

 void loop() {
   // ...
 }
isListening()

Descripción:
Prueba para ver si el puerto serie software solicitado está escuchando activamente.

Sintaxis:
mySerial.isListening()

Parámetros:
Ninguno

Retornos:
boolean
Ejemplo:
#include <SoftwareSerial.h>

 // software serial : TX = pin digital 10, RX = pin digital 11


 SoftwareSerial portOne(10,11);

 void setup()
 {
   // Inicia el puerto serie hardware 
   Serial.begin(9600);

   // Inicia el puerto serie software


   portOne.begin(9600);
 }

 void loop()
 {
   if (portOne.isListening()) {
    Serial.println("El puerto Uno esta a la escucha!"); 
 }
overflow()

Descripción:
Prueba para ver si se ha producido un desbordamiento de la memoria intermedia serie de software. La
llamada a esta función borra la bandera de desbordamiento, lo que significa que las llamadas posteriores
retornarán false a no ser que otro byte de datos se haya recibido y se descarte mientras tato.

El buffer serie del software puede contener 64 bytes.

Sintaxis:
mySerial.overflow()

Parámetros:
Ninguno

Retornos:
boolean
Ejemplo:
#include <SoftwareSerial.h>

 // software serial : TX = pin digital 10, RX = pin digital 11


 SoftwareSerial portOne(10,11);

 void setup()
 {
   // Inicia el puerto serie hardware 
   Serial.begin(9600);

   // Inicia el puerto serie software


   portOne.begin(9600);
 }

 void loop()
 {
   if (portOne.overflow()) {
    Serial.println("Desbordamiento de SoftwareSerial!"); 
 }
peek()

Descripción:
Devuelve un carácter que se recibió el pin RX del puerto serie de software. A diferencia de read(),
sin embargo, las posteriores llamadas a esta función devolverán el mismo carácter.

Tenga en cuenta que sólo una instancia SoftwareSerial puede recibir datos entrantes a la vez
(seleccione uno de ellos con la función listen ()).

Parámetros:
Ninguno

Retornos:
el carácter leído, o -1 si no hay disponibles
Ejemplo:
SoftwareSerial mySerial(10,11);

 void setup()
 {
   mySerial.begin(9600);
 }

 void loop()
 {
   char c = mySerial.peek();
 }
read()

Descripción:
Devuelve un carácter que se recibió el pin RX del puerto serie de software.

Tenga en cuenta que sólo una instancia SoftwareSerial puede recibir datos entrantes a la vez
(seleccione uno de ellos con la función listen ()).

Parámetros:
Ninguno

Retornos:
el carácter leído, o -1 si no hay disponibles
Ejemplo:
SoftwareSerial mySerial(10,11);

 void setup()
 {
   mySerial.begin(9600);
 }

 void loop()
 {
   char c = mySerial.read();
 }
print(data)

Descripción:
Imprime datos al pin de transmisión del puerto serie software. Funciona igual que la función
Serial.print ().

Parámetros:
varian, consulte Serial.print () para más detalles

Retornos:
byte

print () devolverá el número de bytes escritos, la lectura de ese número es opcional


println(data)

Descripción:
Imprime datos al pin de transmisión del puerto serie
software. Funciona igual que la función Serial.println ().

Parámetros:
varian, consulte Serial.println () para más detalles

Retornos:
byte

println () devolverá el número de bytes escritos, la lectura


de ese número es opcional
listen()

Descripción:
Permite al puerto serie software seleccionado escuchar. Sólo un software de puerto serie puede
escuchar a la vez; los datos que llegan de otros puertos serán descartados. Cualquier dato recibido
se descarta ya durante la llamada a listen () (a menos que la instancia dad ya esté a la escucha).

Sintaxis:
mySerial.listen()

Parámetros:
mySerial: el nombre de la instancia a escuchar

Retornos:
Ninguno
write(data)

Descripción:
Imprime datos al pin de transmisión del puerto serie software como bytes en bruto. Funciona igual
que la función Serial.write ()

Parámetros:
Ver Serial.write () para detalles

Retornos:
byte

write() devolverá el número de bytes escritos, la lectura de ese número es opcional


Ejemplo:
SoftwareSerial mySerial(10, 11);

void setup()
{
mySerial.begin(9600);
}

void loop()
{
mySerial.write(45); // envia un byte con el valor 45

int bytesSent = mySerial.write(“Hola”); //envia la cadena “Hola” y devuelve la longitud de la cadena.


}
Librería MsTimer2

MsTimer2 nos ofrece muchas utilidades


de temporización muy útiles en el
trabajo diario con Arduino.
Instalar la librería MsTimer2 desde el
gestor de librerías. Ejecutar el programa
de ejemplo incluido en la librería para
hacer blink (FlashLed) en el led integrado
sin necesidad de usar la instrucción
delay().

Das könnte Ihnen auch gefallen