Шаблон:Arduino/Библиотеки: различия между версиями
Myagkij (обсуждение | вклад) |
Myagkij (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
=Библиотеки<ref>[https://www.arduino.cc/en/Reference/Libraries Arduino.cc - Libraries]</ref>= | =Библиотеки<ref>[https://www.arduino.cc/en/Reference/Libraries Arduino.cc - Libraries]</ref>= | ||
Как и большинство платформ для программирования, возможности | Как и большинство платформ для программирования, возможности IDE Arduino можно расширить за счет добавления новых библиотек. Благодаря этим библиотекам при написании скетчей можно будет использовать дополнительный функционал – например, для управления определенными устройствами или манипуляции данными. Чтобы задействовать в скетче нужную библиотеку, выберите ее в меню Скетч > Подключить библиотеку (Sketch > Include Library). | ||
В | В IDE Arduino уже установлены некоторые библиотеки, но вы можете загрузить новые и даже создать свои собственные. Более подробно об установке библиотек читайте [[Arduino:Знакомство_с_Arduino/Установка_дополнительных_библиотек|тут]]. А по [https://www.arduino.cc/en/Hacking/LibraryTutorial этой ссылке] – руководство по написанию собственных библиотек. О том, как создать для своей библиотеки API в Arduino-стиле, читайте [https://www.arduino.cc/en/Reference/APIStyleGuide тут]. | ||
==Стандартные библиотеки== | ==Стандартные библиотеки== | ||
* [[Arduino:Библиотеки/EEPROM|EEPROM]] – считывание и запись в | * [[Arduino:Библиотеки/EEPROM|EEPROM]] – считывание и запись в «постоянную» память | ||
* [[Arduino:Библиотеки/Ethernet|Ethernet]] – для подключения к интернету при помощи | * [[Arduino:Библиотеки/Ethernet|Ethernet]] – для подключения к интернету при помощи Arduino Ethernet Shield | ||
* [[Arduino:Примеры/Firmata|Firmata]] – для коммуникации с программами на компьютере при помощи стандартизированного протокола | * [[Arduino:Примеры/Firmata|Firmata]] – для коммуникации с программами на компьютере при помощи стандартизированного протокола Firmata | ||
* [[Arduino:Библиотеки/GSM|GSM]] – для подключения к | * [[Arduino:Библиотеки/GSM|GSM]] – для подключения к GSM/GPRS сети при помощи GSM-модуля | ||
* [[Arduino:Библиотеки/LiquidCrystal|LiquidCrystal]] – для управления жидко-кристаллическими дисплеями ( | * [[Arduino:Библиотеки/LiquidCrystal|LiquidCrystal]] – для управления жидко-кристаллическими дисплеями (LCD) | ||
* [[Arduino:Библиотеки/SD|SD]] – для считывания и записи на | * [[Arduino:Библиотеки/SD|SD]] – для считывания и записи на SD-карту | ||
* [[Arduino:Библиотеки/Servo|Servo]] – для управления сервомоторами | * [[Arduino:Библиотеки/Servo|Servo]] – для управления сервомоторами | ||
* [[Arduino:Библиотеки/SPI|SPI]] – для коммуникации с устройствами при помощи шины | * [[Arduino:Библиотеки/SPI|SPI]] – для коммуникации с устройствами при помощи шины SPI | ||
* [[Arduino:Библиотеки/SoftwareSerial|SoftwareSerial]] – для последовательной коммуникации на любых цифровых контактах. В | * [[Arduino:Библиотеки/SoftwareSerial|SoftwareSerial]] – для последовательной коммуникации на любых цифровых контактах. В IDE Arduino версии 1.0 и выше для этих целей служит библиотека NewSoftSerial от [http://arduiniana.org Микала Харта] (Mikal Hart) | ||
* [[Arduino:Библиотеки/Stepper|Stepper]] – для управления шаговыми моторами | * [[Arduino:Библиотеки/Stepper|Stepper]] – для управления шаговыми моторами | ||
* [[Arduino:Библиотеки/TFT|TFT]] – для рисования текста, изображений и фигур на | * [[Arduino:Библиотеки/TFT|TFT]] – для рисования текста, изображений и фигур на TFT-дисплее Arduino | ||
* [[Arduino:Библиотеки/WiFi|WiFi]] – для подключения к интернету при помощи | * [[Arduino:Библиотеки/WiFi|WiFi]] – для подключения к интернету при помощи Arduino WiFi Shield | ||
* [[Arduino:Библиотеки/Wire|Wire]] – для коммуникации (т.е. получения и отправки данных) с устройствами и датчиками при помощи шины | * [[Arduino:Библиотеки/Wire|Wire]] – для коммуникации (т.е. получения и отправки данных) с устройствами и датчиками при помощи шины TWI/I2C | ||
Библиотеки Matrix и Sprite вместе с | Библиотеки Matrix и Sprite вместе с IDE Arduino больше не распространяются. | ||
== Только для Arduino 101 == | == Только для Arduino 101 == | ||
Строка 31: | Строка 31: | ||
==Только для Arduino Due== | ==Только для Arduino Due== | ||
* [[Arduino:Библиотеки/Audio|Audio]] – проигрывает аудиофайлы с | * [[Arduino:Библиотеки/Audio|Audio]] – проигрывает аудиофайлы с SD-карты | ||
* [[Arduino:Библиотеки/Scheduler|Scheduler]] – позволяет одновременно запускать несколько разных функций | * [[Arduino:Библиотеки/Scheduler|Scheduler]] – позволяет одновременно запускать несколько разных функций | ||
Строка 41: | Строка 41: | ||
* [[Arduino:Библиотеки/AudioFrequencyMeter|Audio Frequency Meter Library]] – позволяет брать образец аудиосигнала и определять его частоту | * [[Arduino:Библиотеки/AudioFrequencyMeter|Audio Frequency Meter Library]] – позволяет брать образец аудиосигнала и определять его частоту | ||
* [[Arduino:Библиотеки/AudioZero|AudioZero]] – проигрывает аудиофайлы с | * [[Arduino:Библиотеки/AudioZero|AudioZero]] – проигрывает аудиофайлы с SD-карты | ||
* [[Arduino:Библиотеки/RTC|RTC]] – часы реального времени для установления графика событий | * [[Arduino:Библиотеки/RTC|RTC]] – часы реального времени для установления графика событий | ||
Строка 73: | Строка 73: | ||
* [[Arduino:Библиотеки/CmdMessenger|CmdMessenger]] - для обработки текстовых сообщений от компьютера | * [[Arduino:Библиотеки/CmdMessenger|CmdMessenger]] - для обработки текстовых сообщений от компьютера | ||
* [[Arduino:Библиотеки/NewSoftSerial|NewSoftSerial]] – улучшенная версия библиотеки SoftwareSerial | * [[Arduino:Библиотеки/NewSoftSerial|NewSoftSerial]] – улучшенная версия библиотеки SoftwareSerial | ||
* [[Arduino:Библиотеки/OneWire|OneWire]] – управление устройствами (от Dallas Semiconductor), использующими протокол | * [[Arduino:Библиотеки/OneWire|OneWire]] – управление устройствами (от Dallas Semiconductor), использующими протокол One Wire | ||
* [[Arduino:Библиотеки/PS2Keyboard|PS2Keyboard]] – считывание символов с клавиатуры | * [[Arduino:Библиотеки/PS2Keyboard|PS2Keyboard]] – считывание символов с клавиатуры PS2 | ||
* [[Arduino:Библиотеки/SimpleMessageSystem |SimpleMessageSystem]] – отправка сообщений между | * [[Arduino:Библиотеки/SimpleMessageSystem |SimpleMessageSystem]] – отправка сообщений между Arduino и компьютером | ||
* [[Arduino:Библиотеки/SSerial2Mobile|SSerial2Mobile]] – отправка текстовых сообщений или эмейлов при помощи мобильного телефона и | * [[Arduino:Библиотеки/SSerial2Mobile|SSerial2Mobile]] – отправка текстовых сообщений или эмейлов при помощи мобильного телефона и AT-команд (через SoftwareSerial) | ||
* [[Arduino:Библиотеки/Webduino|Webduino]] – расширенная веб-серверная библиотека (для использования с | * [[Arduino:Библиотеки/Webduino|Webduino]] – расширенная веб-серверная библиотека (для использования с Arduino Ethernet Shield) | ||
* [[Arduino:Библиотеки/X10|X10]] – отправка сигналов | * [[Arduino:Библиотеки/X10|X10]] – отправка сигналов X10 по линиям переменного тока | ||
* [[Arduino:Библиотеки/XBee|XBee]] – для коммуникации с | * [[Arduino:Библиотеки/XBee|XBee]] – для коммуникации с XBee в API-режиме | ||
* [[Arduino:Библиотеки/SerialControl|SerialControl]] – дистанционное управление | * [[Arduino:Библиотеки/SerialControl|SerialControl]] – дистанционное управление Arduino через последовательное соединение | ||
==Датчики== | ==Датчики== | ||
* [[Arduino:Библиотеки/CapacitiveSensing|CapacitiveSensing]] – превращает два или более контакта | * [[Arduino:Библиотеки/CapacitiveSensing|CapacitiveSensing]] – превращает два или более контакта Arduino в емкостные датчики | ||
* [[Arduino:Библиотеки/Bounce|Bounce]] – для считывания шумных входящих сигналов с цифровых контактов (например, от кнопок) | * [[Arduino:Библиотеки/Bounce|Bounce]] – для считывания шумных входящих сигналов с цифровых контактов (например, от кнопок) | ||
Строка 107: | Строка 107: | ||
==Моторы и ШИМ== | ==Моторы и ШИМ== | ||
* [[Arduino:Библиотеки/TLC5940|TLC5940]] – 16-канальный 12-битный | * [[Arduino:Библиотеки/TLC5940|TLC5940]] – 16-канальный 12-битный ШИМ-контроллер | ||
==Синхронизация == | ==Синхронизация == | ||
* [[Arduino:Библиотеки/Time|Time]] – библиотека для слежения за текущей датой и временем в | * [[Arduino:Библиотеки/Time|Time]] – библиотека для слежения за текущей датой и временем в ПО | ||
* [[Arduino:Библиотеки/Metro|Metro]] – помогает распределять действия по регулярным интервалам | * [[Arduino:Библиотеки/Metro|Metro]] – помогает распределять действия по регулярным интервалам | ||
* [[Arduino:Библиотеки/MsTimer2|MsTimer2]] – использует прерывания | * [[Arduino:Библиотеки/MsTimer2|MsTimer2]] – использует прерывания timer2 для запуска действий каждые N миллисекунд | ||
* [[Arduino:Библиотеки/FlexiTimer2|FlexiTimer2]] - Это библиотека, позволяющая использовать | * [[Arduino:Библиотеки/FlexiTimer2|FlexiTimer2]] - Это библиотека, позволяющая использовать timer2 на Arduino. | ||
==Прочее== | ==Прочее== |
Версия от 18:41, 19 февраля 2023
Библиотеки[1]
Как и большинство платформ для программирования, возможности IDE Arduino можно расширить за счет добавления новых библиотек. Благодаря этим библиотекам при написании скетчей можно будет использовать дополнительный функционал – например, для управления определенными устройствами или манипуляции данными. Чтобы задействовать в скетче нужную библиотеку, выберите ее в меню Скетч > Подключить библиотеку (Sketch > Include Library).
В IDE Arduino уже установлены некоторые библиотеки, но вы можете загрузить новые и даже создать свои собственные. Более подробно об установке библиотек читайте тут. А по этой ссылке – руководство по написанию собственных библиотек. О том, как создать для своей библиотеки API в Arduino-стиле, читайте тут.
Стандартные библиотеки
- EEPROM – считывание и запись в «постоянную» память
- Ethernet – для подключения к интернету при помощи Arduino Ethernet Shield
- Firmata – для коммуникации с программами на компьютере при помощи стандартизированного протокола Firmata
- GSM – для подключения к GSM/GPRS сети при помощи GSM-модуля
- LiquidCrystal – для управления жидко-кристаллическими дисплеями (LCD)
- SD – для считывания и записи на SD-карту
- Servo – для управления сервомоторами
- SPI – для коммуникации с устройствами при помощи шины SPI
- SoftwareSerial – для последовательной коммуникации на любых цифровых контактах. В IDE Arduino версии 1.0 и выше для этих целей служит библиотека NewSoftSerial от Микала Харта (Mikal Hart)
- Stepper – для управления шаговыми моторами
- TFT – для рисования текста, изображений и фигур на TFT-дисплее Arduino
- WiFi – для подключения к интернету при помощи Arduino WiFi Shield
- Wire – для коммуникации (т.е. получения и отправки данных) с устройствами и датчиками при помощи шины TWI/I2C
Библиотеки Matrix и Sprite вместе с IDE Arduino больше не распространяются.
Только для Arduino 101
- CurieBLE
- CurieIMU – управление встроенными акселерометром и гироскопом
- CurieTimerOne – позволяет использовать функции таймера
Только для Arduino Due
- Audio – проигрывает аудиофайлы с SD-карты
- Scheduler – позволяет одновременно запускать несколько разных функций
Только для Arduino Due, Zero и MKR1000
- USBHost – коммуникация с периферийными USB-устройствами вроде мыши или клавиатуры
Только для Arduino Zero и MKR1000
- Audio Frequency Meter Library – позволяет брать образец аудиосигнала и определять его частоту
- AudioZero – проигрывает аудиофайлы с SD-карты
- RTC – часы реального времени для установления графика событий
Только для WiFi 101 и MKR1000
- WiFi101 – библиотека для использования только с WiFi Shield 101
Только для Esplora
- Esplora – библиотека, обеспечивающая упрощенный доступ к датчикам и контроллерам на плате Esplora
Только для Arduino Robot
- Robot – библиотека, обеспечивающая упрощенный доступ к функциям Arduino Robot
Только для Arduino Yun
- Bridge – для коммуникации между процессорами Linux и Arduino
USB-библиотеки (Leonardo, Micro, Due, Zero и Esplora)
- Keyboard – отсылает компьютеру, присоединенному к плате, информацию о нажатиях на клавиши
- Mouse – отсылает компьютеру, присоединенному к плате, информацию о перемещении курсора
Дополнительные библиотеки
Чтобы использовать эти библиотеки, их сначала нужно установить. Подробнее об этом читайте тут. О написании собственных библиотек читайте тут.
Коммуникация (сети и протоколы)
- CmdMessenger - для обработки текстовых сообщений от компьютера
- NewSoftSerial – улучшенная версия библиотеки SoftwareSerial
- OneWire – управление устройствами (от Dallas Semiconductor), использующими протокол One Wire
- PS2Keyboard – считывание символов с клавиатуры PS2
- SimpleMessageSystem – отправка сообщений между Arduino и компьютером
- SSerial2Mobile – отправка текстовых сообщений или эмейлов при помощи мобильного телефона и AT-команд (через SoftwareSerial)
- Webduino – расширенная веб-серверная библиотека (для использования с Arduino Ethernet Shield)
- X10 – отправка сигналов X10 по линиям переменного тока
- XBee – для коммуникации с XBee в API-режиме
- SerialControl – дистанционное управление Arduino через последовательное соединение
Датчики
- CapacitiveSensing – превращает два или более контакта Arduino в емкостные датчики
- Bounce – для считывания шумных входящих сигналов с цифровых контактов (например, от кнопок)
Дисплеи и светодиоды
- Adafruit GFX – базовый класс со стандартными функциями для работы с графикой (от Adafruit Industries)
- GLCD – функции для работы с графикой для LCD на базе чипсета KS0108 (или эквивалентного ему)
- Улучшенная LiquidCrystal – исправляет баги с инициализацией LCD в официальной LCD-библиотеке Arduino
- LedControl – для управления светодиодными матрицами или 7-сегментными дисплеями с MAX7221 или MAX7219
- LedControl – альтернатива библиотеке Matrix для управления несколькими светодиодами с чипами Maxim
- LedDisplay – управление LED-дисплеем HCMS-29xx с функцией скроллинга
- Matrix -
- PCD8544 – для LCD-контроллера на дисплеях вроде Nokia 55100 (от [www.adafruit.com Adafruit Industries])
- Sprite – библиотека для управления спрайтовыми изображениями (для анимации на LED-матрице)
- ST7735 – для LCD-контроллера на 1,8 дюймовом 128х160 TFT-экране (от Adafruit Industries)
Аудио и звуковые волны
- FFT – частотный анализ аудио и других аналоговых сигналов
- Tone – генерация квадратных звуковых волн на любом контакте микроконтроллера
Моторы и ШИМ
- TLC5940 – 16-канальный 12-битный ШИМ-контроллер
Синхронизация
- Time – библиотека для слежения за текущей датой и временем в ПО
- Metro – помогает распределять действия по регулярным интервалам
- MsTimer2 – использует прерывания timer2 для запуска действий каждые N миллисекунд
- FlexiTimer2 - Это библиотека, позволяющая использовать timer2 на Arduino.