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).

Librer铆as 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 profundo.
  • 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