Arduino práctico librerias

Jose Antonio Vacas
Jose Antonio VacasResponsable de Desarrollo de Software
Curso sobre Arduino:
Librerías
11-7-2014
elcacharreo.com José Antonio Vacas
Programando Arduino: Lenguaje
elcacharreo.com A.B. 2014
Una librería no es más que un conjunto de código empaquetado y al que podemos
llamar desde nuestro programa
Facilita la tarea de desarrollar y nos abstrae y encapsula la dificultad de la tarea
Para usarlas solo tenemos que importarlas desde nuestro código con un #include
<....>
Librerías: básicas
elcacharreo.com
● EEPROM - permite leer y escribir en almacenamiento duradero
● Ethernet - para conectar a internet
● Firmata - comunicaciones usando un protocolo concreto
● LiquidCrystal - manipulación de LCD
● SD - lectura y escritura en tarjetas SD
● Servo - control de Servos
● SPI - comunicaciones con dispositivos usando SPI
● SoftwareSerial - permite comunicaciones serie por otros pines
● Stepper - control de motores paso a paso
● Wire - comunicaciones I2C
A.B. 2014
Librerías: otras
elcacharreo.com
● Communication (networking and protocols):
● Messenger - for processing text-based messages from the computer
● NewSoftSerial - an improved version of the SoftwareSerial library
● OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol.
● PS2Keyboard - read characters from a PS2 keyboard.
● Simple Message System - send messages between Arduino and the computer
● SSerial2Mobile - send text messages or emails using a cell phone (via AT commands over software serial)
● Webduino - extensible web server library (for use with the Arduino Ethernet Shield)
● X10 - Sending X10 signals over AC power lines
● XBee - for communicating with XBees in API mode
● SerialControl - Remote control other Arduinos over a serial connection
Sensing:
● Capacitive Sensing - turn two or more pins into capacitive sensors
● Debounce - for reading noisy digital inputs (e.g. from buttons)
Displays and LEDs:
● Improved LCD library fixes LCD initialization bugs in official Arduino LCD library
● GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset.
● LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219.
● LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips.
● LedDisplay - control of a HCMS-29xx scrolling LED display.
A.B. 2014
Librerías: y más
elcacharreo.com
● These libraries are compatible Wiring versions, and the links below point to the (excellent) Wiring
documentation.
● Matrix - Basic LED Matrix display manipulation library
● Sprite - Basic image sprite manipulation library for use in animations with an LED matrix
Frequency Generation and Audio:
● Tone - generate audio frequency square waves in the background on any microcontroller pin
Motors and PWM:
● TLC5940 - 16 channel 12 bit PWM controller.
Timing:
● DateTime - a library for keeping track of the current date and time in software.
● Metro - help you time actions at regular intervals
● MsTimer2 - uses the timer 2 interrupt to trigger an action every N milliseconds.
Utilities:
● PString - a lightweight class for printing to buffers
● Streaming - a method to simplify print statements
A.B. 2014
Escribiendo nuestra librería
elcacharreo.com
● Para crear nuestra librería tenemos que generar nuestro código en C++
● Crearemos una clase con nuestro código
● Usaremos un fichero "nuestralibreria.h" donde declararemos nuestro interface
(obligatorio que exista el constructor)
● Un fichero "nuestralibreria.cpp" con nuestro código
● Incluiremos todos los ficheros en una carpeta "nuestralibreria" en la carpeta
libraries del directorio de usuario
● Cerramos y abrimos el entorno arduino para que la recompile y ya está
disponible.
Tutorial para escribir una librería
A.B. 2014
Librerías: Servo
elcacharreo.com
● attach(pin) : conecta el objeto servo con el pin dado
● write(angle) : establece la posición del servo
● read() : devuelve la posición del servo
● attached() : comprueba si está conectado
● detach() : desconecta el pin del servo
Tutorial para escribir una librería
A.B. 2014
Nos permite controlar hasta 12 servos (48 en mega) con cada pin
Librerías: servo controlado por
potenciometro 3.5.1
elcacharreo.com A.B. 2014
Usando la librería servo
#include <Servo.h>
Servo myservo; // creamos un objeto servo
int potpin = 0; // pin donde está conectado el potenciómetro
void setup()
{
myservo.attach(9); // asignamos el pin 9 a nuestro servo
}
void loop()
{
int val = analogRead(potpin); // valor del potentiometro (entre 0 y 1023)
val = map(val, 0, 1023, 0, 179); // escala para el servo (entre 0 y 180)
myservo.write(val); // envía la posición al servo
delay(15);
}
Librería: EEPROM
elcacharreo.com
Guarda datos en la memoria no volátil
● EEPROM.write(address, value) escribe el valor value en address
● EEPROM.read(address): devuelve el valor de la posición address
A.B. 2014
Ejemplo: Escritura y lectura de
EEROM
elcacharreo.com
#include <EEPROM.h>
void setup()
{
Serial.begin(9600);
for (int i = 0; i < 512; i++)
{
Serial.println(EEPROM.read(i);
EEPROM.write(i, i);
}
}
void loop()
{
}
A.B. 2014
Ejemplo: Servo indicador de
temperatura 3.5.2
elcacharreo.com
Usar un servo para indicar la escala de temperatura
A.B. 2014
Conclusiones
Gracias por vuestra atención
elcacharreo.com A.B. 2014
1 de 12

Recomendados

Curso Arduino Nivel 3: Mueve cosas con Arduino. Tenerife Maker Space por
Curso Arduino Nivel 3: Mueve cosas con Arduino. Tenerife Maker SpaceCurso Arduino Nivel 3: Mueve cosas con Arduino. Tenerife Maker Space
Curso Arduino Nivel 3: Mueve cosas con Arduino. Tenerife Maker SpaceTenerife Maker Space
2.2K vistas14 diapositivas
Instroduccion arduino por
Instroduccion arduinoInstroduccion arduino
Instroduccion arduinoJulia S. Simon
795 vistas22 diapositivas
Arduino práctico servos por
Arduino práctico   servosArduino práctico   servos
Arduino práctico servosJose Antonio Vacas
799 vistas7 diapositivas
Curso Arduino práctico 2014 por
Curso Arduino práctico  2014Curso Arduino práctico  2014
Curso Arduino práctico 2014Jose Antonio Vacas
16.5K vistas60 diapositivas
Clase 2 - Taller de Intrucción a la robótica con Arduino por
Clase 2 - Taller de Intrucción a la robótica con ArduinoClase 2 - Taller de Intrucción a la robótica con Arduino
Clase 2 - Taller de Intrucción a la robótica con ArduinoActivo 2.0
772 vistas10 diapositivas
Arduino: Control de motores por
Arduino: Control de motoresArduino: Control de motores
Arduino: Control de motoresAlberto Labarga
777 vistas9 diapositivas

Más contenido relacionado

La actualidad más candente

Robotica Educativa CEP Granada 2015 por
Robotica Educativa CEP Granada 2015Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Jose Antonio Vacas
1.3K vistas60 diapositivas
Curso intensivo de arduino createc3 de mayo 2014 por
Curso intensivo de arduino createc3 de mayo 2014Curso intensivo de arduino createc3 de mayo 2014
Curso intensivo de arduino createc3 de mayo 2014Jose Antonio Vacas
791 vistas49 diapositivas
Arduino(Tipos y su Programacion) por
Arduino(Tipos y su Programacion)Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)Oscar Pastrana
4K vistas45 diapositivas
Andruino por
AndruinoAndruino
AndruinoMarco Avendaño
1K vistas36 diapositivas
Ejercicios de Arduino resueltos Grupo Sabika por
Ejercicios de Arduino resueltos Grupo SabikaEjercicios de Arduino resueltos Grupo Sabika
Ejercicios de Arduino resueltos Grupo SabikaJohnny Parrales
21.7K vistas31 diapositivas
Tutorial Básico Arduino por
Tutorial Básico ArduinoTutorial Básico Arduino
Tutorial Básico ArduinoElio Alvarado
3.1K vistas23 diapositivas

La actualidad más candente(20)

Curso intensivo de arduino createc3 de mayo 2014 por Jose Antonio Vacas
Curso intensivo de arduino createc3 de mayo 2014Curso intensivo de arduino createc3 de mayo 2014
Curso intensivo de arduino createc3 de mayo 2014
Jose Antonio Vacas791 vistas
Arduino(Tipos y su Programacion) por Oscar Pastrana
Arduino(Tipos y su Programacion)Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)
Oscar Pastrana4K vistas
Ejercicios de Arduino resueltos Grupo Sabika por Johnny Parrales
Ejercicios de Arduino resueltos Grupo SabikaEjercicios de Arduino resueltos Grupo Sabika
Ejercicios de Arduino resueltos Grupo Sabika
Johnny Parrales21.7K vistas
Tutorial Básico Arduino por Elio Alvarado
Tutorial Básico ArduinoTutorial Básico Arduino
Tutorial Básico Arduino
Elio Alvarado3.1K vistas
Taller de introducción a Arduino OSL 2014 por Jose Antonio Vacas
Taller de introducción a Arduino OSL 2014Taller de introducción a Arduino OSL 2014
Taller de introducción a Arduino OSL 2014
Jose Antonio Vacas2.1K vistas
ARDUINO: Plataforma de hardware libre por Luis Manuel Diaz
ARDUINO: Plataforma de hardware libreARDUINO: Plataforma de hardware libre
ARDUINO: Plataforma de hardware libre
Luis Manuel Diaz2.6K vistas
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe... por Carlos Camacho
Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
Carlos Camacho1.3K vistas
Introduccion a arduino circuitos basicos de entrada y salida por Moises Nuñez Silva
Introduccion a arduino circuitos basicos de entrada y salidaIntroduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salida
Moises Nuñez Silva9.6K vistas
Entrada digital con arduino y visual studio 2015 por Ángel Acaymo M. G.
Entrada digital con arduino y visual studio 2015Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015
Ángel Acaymo M. G.10.7K vistas

Similar a Arduino práctico librerias

PROGRAMACIÓN DE MICROCONTROLADOR por
PROGRAMACIÓN DE MICROCONTROLADORPROGRAMACIÓN DE MICROCONTROLADOR
PROGRAMACIÓN DE MICROCONTROLADORAlcira Gonzales
113 vistas10 diapositivas
Microcontroladores Ciscx por
Microcontroladores CiscxMicrocontroladores Ciscx
Microcontroladores CiscxElohim Flores
1.5K vistas55 diapositivas
Tarjeta arduino por
Tarjeta arduinoTarjeta arduino
Tarjeta arduinovanessabalseca
359 vistas15 diapositivas
Tarjeta arduino por
Tarjeta arduinoTarjeta arduino
Tarjeta arduinovanessabalseca
193 vistas15 diapositivas
Trabajo plus (1) por
Trabajo plus (1)Trabajo plus (1)
Trabajo plus (1)LuisAdrianCamacho
133 vistas26 diapositivas
Introducción a Arduino por
Introducción a ArduinoIntroducción a Arduino
Introducción a ArduinoJosé Vicente Sogorb Morón
24.2K vistas39 diapositivas

Similar a Arduino práctico librerias(20)

PROGRAMACIÓN DE MICROCONTROLADOR por Alcira Gonzales
PROGRAMACIÓN DE MICROCONTROLADORPROGRAMACIÓN DE MICROCONTROLADOR
PROGRAMACIÓN DE MICROCONTROLADOR
Alcira Gonzales113 vistas
Microcontroladores Ciscx por Elohim Flores
Microcontroladores CiscxMicrocontroladores Ciscx
Microcontroladores Ciscx
Elohim Flores1.5K vistas
Pic16 f877 por lambda4444
Pic16 f877Pic16 f877
Pic16 f877
lambda44441.5K vistas
Microcontroladores ASM por dave
Microcontroladores ASMMicrocontroladores ASM
Microcontroladores ASM
dave4.5K vistas
Tutoriales pic conversor adc por joseph Mora
Tutoriales pic  conversor adcTutoriales pic  conversor adc
Tutoriales pic conversor adc
joseph Mora134 vistas

Más de Jose Antonio Vacas

No mas semáforos javacasm por
No mas semáforos   javacasmNo mas semáforos   javacasm
No mas semáforos javacasmJose Antonio Vacas
473 vistas9 diapositivas
1.4 open hardware por
1.4   open hardware1.4   open hardware
1.4 open hardwareJose Antonio Vacas
360 vistas5 diapositivas
Construcción de brazo robot por
Construcción de brazo robotConstrucción de brazo robot
Construcción de brazo robotJose Antonio Vacas
1.3K vistas4 diapositivas
Robotica educativa ii por
Robotica educativa iiRobotica educativa ii
Robotica educativa iiJose Antonio Vacas
369 vistas14 diapositivas
Robótica educativa swipe por
Robótica educativa   swipeRobótica educativa   swipe
Robótica educativa swipeJose Antonio Vacas
562 vistas19 diapositivas
1. inteligencia artificial y robótica por
1. inteligencia artificial y robótica1. inteligencia artificial y robótica
1. inteligencia artificial y robóticaJose Antonio Vacas
806 vistas17 diapositivas

Más de Jose Antonio Vacas(20)

2.1 android cep jaen 2014 estructura de aplicación por Jose Antonio Vacas
2.1 android cep jaen 2014   estructura de aplicación2.1 android cep jaen 2014   estructura de aplicación
2.1 android cep jaen 2014 estructura de aplicación
Jose Antonio Vacas907 vistas
1.2 android cep jaen 2015 instalación del entorno por Jose Antonio Vacas
1.2 android  cep jaen 2015   instalación del entorno1.2 android  cep jaen 2015   instalación del entorno
1.2 android cep jaen 2015 instalación del entorno
Jose Antonio Vacas461 vistas
1.3 android cep jaen 2015 plantillas y estructura de aplicación por Jose Antonio Vacas
1.3 android cep jaen 2015   plantillas y estructura de aplicación1.3 android cep jaen 2015   plantillas y estructura de aplicación
1.3 android cep jaen 2015 plantillas y estructura de aplicación
Jose Antonio Vacas515 vistas
Arduino práctico introducción a la electrónica por Jose Antonio Vacas
Arduino práctico   introducción a la electrónicaArduino práctico   introducción a la electrónica
Arduino práctico introducción a la electrónica
Jose Antonio Vacas2.2K vistas
Arduino práctico comunicaciones - serie por Jose Antonio Vacas
Arduino práctico   comunicaciones - serieArduino práctico   comunicaciones - serie
Arduino práctico comunicaciones - serie
Jose Antonio Vacas1.1K vistas

Último

Presentación: El impacto y peligro de la piratería de software por
Presentación: El impacto y peligro de la piratería de softwarePresentación: El impacto y peligro de la piratería de software
Presentación: El impacto y peligro de la piratería de softwareEmanuelMuoz11
16 vistas66 diapositivas
Probando aplicaciones basadas en LLMs.pdf por
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfFederico Toledo
47 vistas40 diapositivas
Google alternativo, para volar por
Google alternativo, para volarGoogle alternativo, para volar
Google alternativo, para volarcorpbracat
9 vistas1 diapositiva
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real... por
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...codertectura
505 vistas19 diapositivas
ACTIVIDAD 3 TECNOLOGIAA (1).pdf por
ACTIVIDAD 3 TECNOLOGIAA (1).pdfACTIVIDAD 3 TECNOLOGIAA (1).pdf
ACTIVIDAD 3 TECNOLOGIAA (1).pdfIsabelQuintero36
8 vistas7 diapositivas
FC if03.pptx por
FC if03.pptxFC if03.pptx
FC if03.pptxScarletRodriguez14
6 vistas6 diapositivas

Último(17)

Presentación: El impacto y peligro de la piratería de software por EmanuelMuoz11
Presentación: El impacto y peligro de la piratería de softwarePresentación: El impacto y peligro de la piratería de software
Presentación: El impacto y peligro de la piratería de software
EmanuelMuoz1116 vistas
Probando aplicaciones basadas en LLMs.pdf por Federico Toledo
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdf
Federico Toledo47 vistas
Google alternativo, para volar por corpbracat
Google alternativo, para volarGoogle alternativo, para volar
Google alternativo, para volar
corpbracat9 vistas
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real... por codertectura
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...
codertectura505 vistas
FUNDAMENTOS DE ELECTRICIDAD Y ELECTRONICA.pdf por ortizjuanjose591
FUNDAMENTOS DE ELECTRICIDAD Y ELECTRONICA.pdfFUNDAMENTOS DE ELECTRICIDAD Y ELECTRONICA.pdf
FUNDAMENTOS DE ELECTRICIDAD Y ELECTRONICA.pdf
ortizjuanjose5917 vistas
Tecnologías para la enseñanza virtual.pptx por exprosaavedra
Tecnologías para la enseñanza virtual.pptxTecnologías para la enseñanza virtual.pptx
Tecnologías para la enseñanza virtual.pptx
exprosaavedra11 vistas
Tarea15.pptx por illanlir
Tarea15.pptxTarea15.pptx
Tarea15.pptx
illanlir9 vistas
El Ciberespacio y sus Características.pptx por AnthlingPereira
El Ciberespacio y  sus Características.pptxEl Ciberespacio y  sus Características.pptx
El Ciberespacio y sus Características.pptx
AnthlingPereira10 vistas
Fundamentos De Electricidad y Electrónica equipo 5.pdf por coloradxmaria
Fundamentos De Electricidad y Electrónica equipo 5.pdfFundamentos De Electricidad y Electrónica equipo 5.pdf
Fundamentos De Electricidad y Electrónica equipo 5.pdf
coloradxmaria13 vistas

Arduino práctico librerias

  • 2. Programando Arduino: Lenguaje elcacharreo.com A.B. 2014 Una librería no es más que un conjunto de código empaquetado y al que podemos llamar desde nuestro programa Facilita la tarea de desarrollar y nos abstrae y encapsula la dificultad de la tarea Para usarlas solo tenemos que importarlas desde nuestro código con un #include <....>
  • 3. Librerías: básicas elcacharreo.com ● EEPROM - permite leer y escribir en almacenamiento duradero ● Ethernet - para conectar a internet ● Firmata - comunicaciones usando un protocolo concreto ● LiquidCrystal - manipulación de LCD ● SD - lectura y escritura en tarjetas SD ● Servo - control de Servos ● SPI - comunicaciones con dispositivos usando SPI ● SoftwareSerial - permite comunicaciones serie por otros pines ● Stepper - control de motores paso a paso ● Wire - comunicaciones I2C A.B. 2014
  • 4. Librerías: otras elcacharreo.com ● Communication (networking and protocols): ● Messenger - for processing text-based messages from the computer ● NewSoftSerial - an improved version of the SoftwareSerial library ● OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol. ● PS2Keyboard - read characters from a PS2 keyboard. ● Simple Message System - send messages between Arduino and the computer ● SSerial2Mobile - send text messages or emails using a cell phone (via AT commands over software serial) ● Webduino - extensible web server library (for use with the Arduino Ethernet Shield) ● X10 - Sending X10 signals over AC power lines ● XBee - for communicating with XBees in API mode ● SerialControl - Remote control other Arduinos over a serial connection Sensing: ● Capacitive Sensing - turn two or more pins into capacitive sensors ● Debounce - for reading noisy digital inputs (e.g. from buttons) Displays and LEDs: ● Improved LCD library fixes LCD initialization bugs in official Arduino LCD library ● GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset. ● LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219. ● LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips. ● LedDisplay - control of a HCMS-29xx scrolling LED display. A.B. 2014
  • 5. Librerías: y más elcacharreo.com ● These libraries are compatible Wiring versions, and the links below point to the (excellent) Wiring documentation. ● Matrix - Basic LED Matrix display manipulation library ● Sprite - Basic image sprite manipulation library for use in animations with an LED matrix Frequency Generation and Audio: ● Tone - generate audio frequency square waves in the background on any microcontroller pin Motors and PWM: ● TLC5940 - 16 channel 12 bit PWM controller. Timing: ● DateTime - a library for keeping track of the current date and time in software. ● Metro - help you time actions at regular intervals ● MsTimer2 - uses the timer 2 interrupt to trigger an action every N milliseconds. Utilities: ● PString - a lightweight class for printing to buffers ● Streaming - a method to simplify print statements A.B. 2014
  • 6. Escribiendo nuestra librería elcacharreo.com ● Para crear nuestra librería tenemos que generar nuestro código en C++ ● Crearemos una clase con nuestro código ● Usaremos un fichero "nuestralibreria.h" donde declararemos nuestro interface (obligatorio que exista el constructor) ● Un fichero "nuestralibreria.cpp" con nuestro código ● Incluiremos todos los ficheros en una carpeta "nuestralibreria" en la carpeta libraries del directorio de usuario ● Cerramos y abrimos el entorno arduino para que la recompile y ya está disponible. Tutorial para escribir una librería A.B. 2014
  • 7. Librerías: Servo elcacharreo.com ● attach(pin) : conecta el objeto servo con el pin dado ● write(angle) : establece la posición del servo ● read() : devuelve la posición del servo ● attached() : comprueba si está conectado ● detach() : desconecta el pin del servo Tutorial para escribir una librería A.B. 2014 Nos permite controlar hasta 12 servos (48 en mega) con cada pin
  • 8. Librerías: servo controlado por potenciometro 3.5.1 elcacharreo.com A.B. 2014 Usando la librería servo #include <Servo.h> Servo myservo; // creamos un objeto servo int potpin = 0; // pin donde está conectado el potenciómetro void setup() { myservo.attach(9); // asignamos el pin 9 a nuestro servo } void loop() { int val = analogRead(potpin); // valor del potentiometro (entre 0 y 1023) val = map(val, 0, 1023, 0, 179); // escala para el servo (entre 0 y 180) myservo.write(val); // envía la posición al servo delay(15); }
  • 9. Librería: EEPROM elcacharreo.com Guarda datos en la memoria no volátil ● EEPROM.write(address, value) escribe el valor value en address ● EEPROM.read(address): devuelve el valor de la posición address A.B. 2014
  • 10. Ejemplo: Escritura y lectura de EEROM elcacharreo.com #include <EEPROM.h> void setup() { Serial.begin(9600); for (int i = 0; i < 512; i++) { Serial.println(EEPROM.read(i); EEPROM.write(i, i); } } void loop() { } A.B. 2014
  • 11. Ejemplo: Servo indicador de temperatura 3.5.2 elcacharreo.com Usar un servo para indicar la escala de temperatura A.B. 2014
  • 12. Conclusiones Gracias por vuestra atención elcacharreo.com A.B. 2014