44- Listado de bibliotecas de Arduino

Ya sabes que la comunidad Arduino es muy grande y crece d铆a a d铆a. Durante su existencia, dio origen a una gran cantidad de bibliotecas. Decid铆 hacer una lista de las m谩s inusuales, interesantes y 煤tiles, los enlaces conducen a github o al sitio del desarrollador. 隆No hay un conjunto completo de bibliotecas especializadas para trabajar con m贸dulos y sensores! Se buscan en Google por el nombre del chip, aqu铆 solo dej茅 los universales. 隆 No es necesario descargar las bibliotecas marcadas como est谩ndar !

La lista est谩 compilada con bibliotecas 煤tiles para UNO, NANO, MEGA, es decir, no hay bibliotecas potentes para placas similares DUE y ZERO. Fuentes:


Librer铆as Avr. avr-libs.

El compilador de Arduino IDE incluye un conjunto de bibliotecas est谩ndar para microcontroladores AVR (la llamada cadena de herramientas, un conjunto de herramientas), simplemente puede incluirlas y usar sus capacidades. Puede encontrar una lista completa y documentaci贸n para todas las bibliotecas aqu铆 . Aqu铆 enumerar茅 los m谩s 煤tiles e interesantes (el nombre ser谩 un enlace a la documentaci贸n):

  • math.h es una biblioteca con un mont贸n de funciones matem谩ticas. Incluida por defecto
  • time.h es una biblioteca para trabajar con el tiempo. Cuenta, conversi贸n, zonas horarias y m谩s
  • avr / eeprom.h : biblioteca nativa para trabajar con EEPROM.
  • avr / power.h – biblioteca de control de consumo del Mc: divisor de frecuencia del sistema y encendido / apagado de perif茅ricos
  • avr / sleep.h : biblioteca para administrar el modo de consumo de energ铆a del Mc
  • avr / wdt.h – control del temporizador de vigilancia Watdog
  • util / delay.h : biblioteca con retrasos basados 鈥嬧媏n el reloj de la CPU (funciona sin el temporizador 0)

Tiempo, temporizadores.

  • Time  es un contador de tiempo para Arduino, cuenta horas-minutos-meses y todo eso. Descripci贸n
  • RTCTimer  temporizador para trabajar en conjunto con el m贸dulo RTC
  • Chrono es otra biblioteca de 芦temporizador con millis ()禄 para construir eficientemente la l贸gica de su c贸digo
  • elapsedMillis es otro temporizador simple con millis ()
  • buildTime – biblioteca para obtener la fecha y hora de compilaci贸n expl铆citamente
  • TimeLord es una biblioteca que te permite conocer las horas de salida / puesta del sol del Sol y la Luna, fases lunares, hora sid茅rea, etc. basado en la ubicaci贸n geogr谩fica
  • GP_Timers es una biblioteca para administrar interrupciones para todos los temporizadores en ATmega328 y ATmega2560 con la capacidad de configurar los canales por separado.
  • TimerOne es una biblioteca para el control manual efectivo del temporizador 1 (interrupciones, PWM, etc.)
  • MsTimer2 es una biblioteca para el control manual conveniente del Timer 2. Existe una versi贸n de FlexiTimer2 que de alguna manera es mejor.
  • TimerThree : una biblioteca para un c贸modo control manual del Timer 3

Comunicaci贸n, interfaces.

  • DLBus – Comunicaci贸n GBUS. Comunicaci贸n bidireccional de la red Arduino a trav茅s de un cable. 
  • Firmata es una biblioteca est谩ndar para comunicarse con una computadora usando el protocolo Firmata. 
  • SoftwareSerial es una biblioteca est谩ndar para crear puerto TTL Serial en dos pines cualesquiera, le permite crear un puerto adicional para la comunicaci贸n con Bluetooth / GPS / GSM y otros m贸dulos con comunicaci贸n serial.
  • AltSoftSerial : la mejor versi贸n del software Serial, utiliza un temporizador del sistema
  • SerialCommand : una biblioteca ligera para comunicarse a trav茅s de un puerto mediante comandos
  • CmdMessenger es una poderosa biblioteca para comunicarse a trav茅s del puerto serial, con su propio analizador y un mont贸n de gags. Descripci贸n
  • EasyTransfer : una biblioteca para comunicar dos Arduino a trav茅s de un puerto serie
  • Streaming : salida de estilo C ++ a un puerto utilizando el operador <<
  • OneWire es una biblioteca para comunicaci贸n con un cable, por ejemplo, con sensores de temperatura DHT18b20. Arduino puede ser un 芦esclavo禄 para la comunicaci贸n, lea aqu铆
  • SerialControl es un conjunto de ejemplos para administrar estados de pines usando comandos seriales. Descripci贸n
  • MiniPirate – una versi贸n m谩s poderosa de SerialControl, le permite convertir el servo usando comandos al puerto, escanear i2c y mucho m谩s.
  • MIDI_library : una biblioteca para trabajar con dispositivos musicales a trav茅s del protocolo MIDI (a trav茅s de Serial, cualquier Arduino es adecuado)
  • MIDI : biblioteca MIDI del gran Paul Stoffregen (a trav茅s de serie, cualquier Arduino servir谩)
  • arcore – otra biblioteca para MIDI (USB-MIDI, Leonardo / Micro solamente)
  • MIDIUSB : otra biblioteca para MIDI (solo USB-MIDI, Leonardo / Micro)
  • HIDUINO : un conjunto de herramientas para crear un dispositivo MIDI USB
  • HID es una biblioteca muy poderosa para crear dispositivos HID (mouse, teclados, gamepads y otros controladores USB)
  • ArduinoJoystickLibrary – otra biblioteca para crear un gamepad HID completo en Leonardo / Micro (ATmega32U4)
  • CPPM : una biblioteca para organizar la comunicaci贸n utilizando el protocolo CPPM (por ejemplo, el receptor RC Orange R615X)
  • PPMEncoder – decodificaci贸n y generaci贸n de se帽ales PPM para modelos RC
  • PWMread – art铆culo + biblioteca para leer la se帽al PWM de los receptores RC
  • TVout es una biblioteca para mostrar gr谩ficos en una pantalla de TV a trav茅s de la entrada AV. Descripci贸n
  • X10 es una biblioteca para comunicarse usando el protocolo X10 a trav茅s de una l铆nea de energ铆a de 220V. Descripci贸n aqu铆
  • NicoHoodProtocol – protocolo de comunicaci贸n por cable universal

Sensores y actuadores diversos de Arduino.

  • AccelStepper es un reemplazo m谩s interesante y mejor para la biblioteca est谩ndar de Stepper para el control de motores paso a paso. Puede descargarlo desde la p谩gina del desarrollador, o aqu铆 hay un enlace directo al archivo.
  • ServoSmooth complemento de la biblioteca de servos est谩ndar, lo que le permite controlar un servo con una configuraci贸n de la velocidad m谩xima de desplazamiento y la aceleraci贸n / desaceleraci贸n (como en AccelStepper, solo para el servo). 隆Imprescindible para cualquier amante de los servos!
  • CapacitiveSensor : una biblioteca para crear botones t谩ctiles (a partir de un par de componentes sueltos). Descripci贸n
  • ADCTouchSensor es otra versi贸n de la biblioteca para crear botones t谩ctiles. Hay uno m谩s , por si acaso
  • TouchWheel : una biblioteca para crear controles deslizantes y anillos t谩ctiles
  • 隆Buzz es un detector de presencia basado en un solo cable! (mide ondas EM)
  • Rebote : biblioteca anti-rebote para botones y dem谩s. Utilidad dudosa, pero lea la descripci贸n
  • oneButton es una biblioteca para operaciones de botones extendidas. En mi opini贸n incomoda
  • KL_Button  biblioteca para el manejo avanzado de botones. 隆Muchas posibilidades!
  • AdaEncoder – biblioteca para trabajar con codificadores
  • GK_Encoder  biblioteca para codificadores con muchas posibilidades, admite diferentes tipos de codificadores
  • RTCLib es una biblioteca ligera que admite la mayor铆a de los m贸dulos RTC
  • OV7670 : biblioteca para trabajar con la c谩mara en el OV7670
  • IRremote : biblioteca b谩sica para trabajar con emisores y mandos a distancia de infrarrojos
  • IRLib : una versi贸n m谩s avanzada para trabajar con dispositivos IR
  • IRLremote : la biblioteca m谩s clara para controles remotos por infrarrojos, funciona mediante interrupciones. 100% control remoto
  • keySweeper : un proyecto casi listo para interceptar las pulsaciones de teclas de los teclados inal谩mbricos
  • USB_Host_Shield : permite que Arduine funcione con gamepads (PS, XBOX) y otros dispositivos USB
  • Brain – biblioteca para trabajar con m贸dulos NeuroSky EEG de ondas cerebrales
  • TinyGPS : biblioteca r谩pida para trabajar con m贸dulos GPS
  • Led_rRGB biblioteca para trabajar con LEDs y cintas RGB
  • FadeLED : biblioteca para parpadeo suave (PWM) de LED con diferentes per铆odos
  • CurrentTransformer: medici贸n de corriente mediante un transformador (bobina) en el cable. Leer: pinza de corriente
  • LiquidCrystal-I2C es una biblioteca para pantallas LCD con un controlador I2C. Desarrollador –  fdebrabander
  • LiquidCrystal-I2C es una biblioteca para pantallas LCD con un controlador I2C. Desarrollador –  johnrickman. El anterior parece mejor
  • LiquidTWI2 : biblioteca r谩pida para pantallas LCD en controladores MCP23008 o MCP23017
  • u8glib : biblioteca para trabajar con pantallas LCD y OLED monocromas
  • ucglib : biblioteca para trabajar con pantallas LCD y OLED en color
  • Adafruit_SSD1306 – Otra biblioteca para pantallas OLED
  • Adafruit-GFX-Library : complemento para bibliotecas de pantalla adafruit, le permite mostrar gr谩ficos
  • SSD1306Ascii : biblioteca aut贸noma y muy ligera para mostrar texto en OLED
  • NeoPixelBus es una librer铆a para trabajar con una tira LED direccionable adaptada para esp8266 (NodeMCU, Wemos, etc.). 
  • sendr433 : una biblioteca ligera para enviar cualquier dato a trav茅s de m贸dulos de radio de 433 MHz
  • rc-switch – biblioteca para trabajar con m贸dulos de radio de 433 MHz y diferentes protocolos de comunicaci贸n

Trabajando con datos, filtros.

  • FFT – Transformada r谩pida de Fourier (descomposici贸n del sonido en un espectro)
  • fix_FFT  biblioteca FFT fija
  • FHT – Transformada r谩pida de Hartley (como Fourier, solo que m谩s r谩pida)
  • Lor_rFilters : filtros de datos muy eficientes (promedio m贸vil , mediana, Kalman unidimensional simplificado, filtro AB
  • TinyEKF : filtro Kalman r谩pido y ligero
  • filtering-library  varios filtros de datos
  • Gaussian – Filtro gaussiano
  • aJson : trabaja con datos en formato JSON. Tambi茅n hay una biblioteca JSON de Arduino y un analizador para el flujo de datos JSON.
  • PID es la biblioteca de controladores PID m谩s famosa. Hay una adici贸n para ello : autoajuste de los par谩metros del controlador
  • MyPID : versi贸n del regulador PID, en mi opini贸n, m谩s compacto y m谩s f谩cil de usar
  • FullRelay : biblioteca de controladores de rel茅s con hist茅resis y retroalimentaci贸n derivada
  • CryptoSuite : algunos ejemplos de cifrado de datos con cifrados conocidos
  • AESlib : biblioteca para trabajar con cifrado AES
  • LinkedList : trabajar con el tipo de datos 芦lista vinculada禄
  • FixedPointsArduino : trabaja con el tipo de datos 芦punto fijo禄 (decimales, pero m谩s r谩pido de calcular)

Librerias del sistema.

Trabajando con la memoria

  • EEPROM es una biblioteca est谩ndar para trabajar con EEPROM. Recomiendo usar una EEPROMex m谩s conveniente
  • EEPROMex es una biblioteca m谩s adecuada para trabajar con memoria EEPROM. Descripci贸n
  • EEPROMWearLevel – 芦administrador禄 de la memoria EEPROM, monitorea el n煤mero de celdas de sobrescritura
  • MemoryFree es una biblioteca para examinar la ocupaci贸n de memoria SRAM actual. Descripci贸n
  • EEWrap : biblioteca que le permite usar EEPROM como memoria de acceso aleatorio (SRAM), es decir, para almacenar variables
  • Flash : la biblioteca le permite almacenar / leer c贸modamente cualquier dato en la memoria Flash del microcontrolador (matrices, l铆neas con texto …)
  • PGMWrap es otra biblioteca poderosa para escribir / leer datos en la memoria Flash
  • optiboot_flash : un cargador de arranque OptiBoot modificado, que agrega la capacidad de trabajar con memoria Flash durante la ejecuci贸n del c贸digo 

Trabajando con pines

  • DirectIO : alternativa m谩s r谩pida a las funciones est谩ndar de estado de pines de lectura / escritura
  • AnalogReadFast : opci贸n de lectura r谩pida de pines anal贸gicos (21 渭s)
  • CyberLib es una colecci贸n genial de an谩logos r谩pidos a las funciones de Arduino, lea la descripci贸n. Nota: al autor de esta biblioteca de c贸digo abierto no le gusta que la utilicen en sus proyectos, as铆 que tenga cuidado.
  • GmehHacks es una colecci贸n de an谩logos r谩pidos de funciones de Arduino, no tan r谩pido como CyberLib, pero m谩s familiar de usar. Cambiar la frecuencia / ancho de bits de PWM
  • SoftPWM – haciendo software PWM en diferentes pines
  • PWM : una biblioteca que le permite configurar la frecuencia PWM
  • GmegrPWM : potente biblioteca para la generaci贸n avanzada de PWM (solo ATmega328)
  • PinChangeInt : realiza interrupciones en cualquier pin. 驴C贸mo es eso? Hay una descripci贸n
  • PinChangeInterrupt es otra biblioteca (mejor) que le permite detectar interrupciones en cualquier pin
  • analogComp : trabaja con un comparador anal贸gico de un microcontrolador

Configuraciones detalladas

  • MkhHacks : adem谩s de lo anterior, hay algunos ajustes profundos, medici贸n del voltaje de referencia y temperatura central (para ATmega328 )
  • MkerTimer012 : biblioteca de gesti贸n de interrupciones ligera para los tres temporizadores ATmega328
  • directTimers – biblioteca para el control manual avanzado de temporizadores en ATmega328 , revela todas las posibilidades y configuraciones de temporizadores
  • directADC : biblioteca para el control manual avanzado de ADC y comparador en ATmega328 , revela todas las capacidades y configuraciones del ADC
  • Gm_Power es la biblioteca m谩s liviana y vers谩til para administrar el sue帽o, los perif茅ricos y el reloj del sistema
  • Low-Power es una potente biblioteca para el ahorro de energ铆a y la gesti贸n del sue帽o.
  • narcoleptic es otra biblioteca de hibernaci贸n muy f谩cil de usar
  • SoftwareReset  acceso para reiniciar Arduino 芦desde boceto禄
  • WatchDog es una biblioteca para trabajar con un 芦perro guardi谩n禄 que reinicia el MC en caso de que se cuelgue. Otra opci贸n
  • Adafruit-Trinket-USB : biblioteca de emulaci贸n USB para ATtiny85 (placa Digispark). Simula teclado / mouse
  • TrinketHidCombo_MEGA328 – Biblioteca de emulaci贸n USB para ATmega328 (placas UNO / Nano / Pro Mini). Simula un teclado / mouse. Un ejemplo est谩 en el foro. La publicaci贸n original en el foro. Descarga de Cloud Mail . Descarga desde Yandex Disk .
  • DMBS AVR lib : un conjunto de funciones b谩sicas ligeras y r谩pidas para trabajar con MK sin un kernel (an谩logo de avr libs)
  • LUFA : marco USB ligero para AVR

N煤cleos y cargadores

  • megaTinyCore  versi贸n del n煤cleo para placas con ATmega168 / 328 a bordo (UNO, Nano, Mini), basado en el n煤cleo Arduino original, las funciones est谩ndar son muchas veces m谩s r谩pidas y f谩ciles. Recomendado para proyectos pesados 鈥嬧媦 que exigen velocidad.
  • optiBoot es un gestor de arranque genial para Arduino, m谩s r谩pido, m谩s ligero y m谩s funcional
  • HoodLoader : cargador de arranque para MK 16u2 con soporte HID (lea: convierte el UNO original en un an谩logo Leonardo con soporte HID)
  • ArduinoXInput_AVR es un n煤cleo para placas basadas en ATmega32U4 (Leonardo, Micro) que convierte la placa en un controlador habilitado para XInput (gamepad Xbox). Tambi茅n necesitar谩 la biblioteca ArduinoXInput para crear un controlador de juego . Hay una gu铆a en ingl茅s.
  • G-Core es un n煤cleo ligero y r谩pido para el ATmega328 (Arduino NANO). Ligero y r谩pido, capacidad de trabajar sin un cargador de arranque y una amplia gama de opciones de reloj y configuraciones generales del sistema.
  • MiniCore es el n煤cleo para admitir los microcontroladores ATmega328, ATmega168, ATmega88, ATmega48 y ATmega8, basados 鈥嬧媏n optiBoot . Una de las caracter铆sticas principales es el soporte para el generador de reloj interno.
  • MicroCore  n煤cleo para admitir microcontroladores ATtiny13, ATtiny13A y ATtiny13V con frecuencia de reloj interno seleccionable
  • ATTinyCore es un n煤cleo para microcontroladores ATtiny 441/841, 44/84, 45/85, 461/861, 48/88, 828, 1634, 87, 167, nuevamente basado en el genial OptiBoot.
  • megaTinyCore : un n煤cleo para microcontroladores ATtiny 3217, 1617, 817, 417, 3216, 1616, 816, 416, 1614, 814, 414, 214, 412, 212, 1607, 807, 1606, 806, 406, 1604, 804, 404, 204, 402, 202.
  • nanoBoot : cargador de arranque ATmega32xx4 ligero (512 bytes) con soporte HID

Administradores de tareas y subprocesos

  • ArduinoThread – una biblioteca para crear 芦hilos禄 – tareas ejecutadas por separado en un temporizador u otra cosa
  • EventManager  una biblioteca para trabajar con eventos (nuevamente, un temporizador)
  • Arduino-fsm es otro administrador de tareas que le permite escribir c贸digo claro y comprensible con un mont贸n de tareas que se ejecutan en un temporizador
  • Automaton es otro marco para dibujar tareas y temporizadores. Hay una wiki
  • FreeRTOS es un sistema operativo en tiempo real para Arduino. Tareas, flujos …
  • Arduino_FreeRTOS – Otra versi贸n de RTOS
  • VG_RTOS  RTOS simple con modo de suspensi贸n (basado en la biblioteca de bajo consumo )
  • DeepSleepScheduler : administrador de tareas con modo de suspensi贸n integrado

Sonido y habla.


  • Talkie : una biblioteca de s铆ntesis de sonido y voz para crear dispositivos parlantes
  • Mozzi es una gran biblioteca para generar varios sonidos.
  • uSpeech – biblioteca de reconocimiento de voz
  • TMRpcm  una biblioteca para reproducir archivos de sonido .WAV desde una tarjeta de memoria
  • toneAC es una versi贸n m谩s avanzada de tone() para generar frecuencias de audio. Puedes descargar los propios archivos aqu铆
  • DFPlayer : una biblioteca para trabajar con el m贸dulo mini MP3 de DFPlayer
  • WTV020SD16P  funciona con el m贸dulo de sonido WTV020SD16P

Miscel谩nea.

  • menusystem es una poderosa herramienta para crear men煤s con toneladas de ejemplos
  • LCD_Menu : una herramienta lista para usar para crear men煤s en pantallas LCD
  • LiquidMenu es otro marco para crear men煤s LCD
  • MENWIZ : otra opci贸n de men煤 preparada para LCD
  • MicroDebug : una biblioteca para depurar c贸digo f谩cilmente
  • hoverboard-hack : un poco fuera de tema, pero esta es una instrucci贸n para piratear una tabla de hoverboard para usarla para sus propios fines.

Deja un comentario