Ардуино что такое библиотека
Как только вы освоитесь с программным обеспечением Ардуино и в совершенстве овладеете стандартными функциями, вам наверняка захочется расширить возможности вашего Ардуино с помощью дополнительных библиотек.
Что такое библиотека?
Библиотека — это набор функций, предназначенных для того, чтобы максимально упростить работу с различными датчиками, ЖК-экранами, модулями и пр. Например, встроенная библиотека LiquidCrystal позволяет легко взаимодействовать с символьными LCD-экранами. Существуют сотни дополнительных библиотек, которые можно скачать в Интернете. Стандартные библиотеки Ардуино и ряд наиболее часто используемых дополнительных библиотек перечислены в справке. Но перед тем, как использовать дополнительные библиотеки, необходимо сперва установить их.
Как установить библиотеку
Чаще всего библиотеки выкладываются в виде ZIP-архива или просто папки. Название этой папки является названием библиотеки. Внутри папки будет файл с расширением .cpp, файл с расширением .h, а также текстовый файл keywords.txt, папка с примерами examples и другие файлы, требуемые библиотекой.
Автоматическая установка
Начиная с версии 1.0.5, устанавливать сторонние библиотеки можно прямо в среде разработки.
Не распаковывайте скачанный архив с библиотекой — оставьте его, как есть.
В среде разработки Ардуино выберите меню Sketch > Import Library. В самом верху выпадающего списка выберите пункт Add Library (Добавить библиотеку).
Появится диалоговое окно, предлагающее вам выбрать библиотеку, которую вы хотели бы добавить. Перейдите к скачанному zip-файлу и откройте его.
Снова откройте меню Sketch > Import Library. Вы должны увидеть новую библиотеку в самом низу выпадающего списка. Теперь библиотеку можно использовать в программах.
zip-файл будет уже распакован в директории libraries внутри вашей рабочей папки Ардуино.
Примечание: после выполнения указанных действий библиотеку можно будет полноценно использовать в своих программах, однако примеры из установленной библиотеки появятся в меню File > Examples только после перезапуска среды Ардуино.
Установка вручную
Перед установкой библиотеки закройте среду разработки Ардуино.
Затем распакуйте ZIP-архив с библиотекой. Допустим, вы устанавливаете библиотеку «ArduinoParty» — распакуйте файл ArduinoParty.zip. В нем должна быть папка ArduinoParty с файлами ArduinoParty.cpp и ArduinoParty.h. (Если файлы с расширением .cpp и .h лежат не в папке, то необходимо ее создать. В данном случае вам нужно создать папку с именем ArduinoParty и перенести в нее все файлы из ZIP-архива, например — ArduinoParty.cpp и ArduinoParty.h).
Перетащите папку ArduinoParty в директорию с библиотеками Ардуино. В Windows она будет лежать примерно здесь: «My Documents\Arduino\libraries», у пользователей Mac — здесь: «Documents/Arduino/libraries», а в Linux-системах директория «libraries» будет внутри рабочей папки со скетчами.
После перемещения ваша директория с библиотеками должна выглядеть примерно так (под Windows):
My Documents\Arduino\libraries\ArduinoParty\ArduinoParty.cpp My Documents\Arduino\libraries\ArduinoParty\ArduinoParty.h My Documents\Arduino\libraries\ArduinoParty\examples .
Documents/Arduino/libraries/ArduinoParty/ArduinoParty.cpp Documents/Arduino/libraries/ArduinoParty/ArduinoParty.h Documents/Arduino/libraries/ArduinoParty/examples .
и аналогично на Linux.
Помимо файлов .cpp и .h здесь могут быть и другие файлы — просто убедитесь, что все они теперь лежат здесь.
(Если файлы .cpp и .h расположены в корне папки «libraries» или вложены внутрь еще одной папки, то скачанная библиотека работать не будет. Например:
Documents\Arduino\libraries\ArduinoParty.cpp and Documents\Arduino\libraries\ArduinoParty\ArduinoParty\ArduinoParty.cpp
— не рабочий пример.)
Перезапустите среду Ардуино. Убедитесь, что новая библиотека появилась в меню Sketch->Import Library.
Вот и все! Вы установили библиотеку!
В основе этого урока лежит текст автора Limor Fried.
Текст данного руководства опубликован под лицензией Creative Commons Attribution-ShareAlike 3.0. Примеры кода, встречающиеся в руководстве, являются свободным контентом.
Ардуино что такое библиотека
Библиотеки
Как и на многих других платформах, возможности среды программирования Arduino могут быть существенно расширены за счет использования библиотек. Библиотеки расширяют функциональность программ и несут в себе дополнительные функции, например, для работы с аппаратными средствами, функции по обработке данных и т.д. Ряд библиотек устанавливается автоматически вместе со средой разработки, однако вы также можете скачивать или создавать собственные библиотеки. Инструкции по установке библиотек см. здесь. См. также инструкции по написанию собственных библиотек.
Для подключения библиотеки к программе, выберите ее из меню Sketch > Import Library.
Стандартные библиотеки
- EEPROM — чтение и запись в «постоянную» память.
- Ethernet — для подсоединения к Интернету через плату расширения Arduino Ethernet.
- Firmata — для взаимодействия с приложениями на компьютере по стандартному последовательному протоколу.
- GSM — для соединения с сетью GSM/GRPS через GSM-плату расширения.
- LiquidCrystal — для работы с жидкокристаллическими дисплеями ( LCD ).
- SD — для чтения и записи данных на SD-карту памяти.
- Servo — для управления серводвигателями.
- SPI — для взаимодействия с периферийными устройствами по последовательному интерфейсу SPI.
- SoftwareSerial — для реализации последовательных интерфейсов на любых цифровых выводах. Начиная с версии Ардуино 1.0, в качестве библиотеки SoftwareSerial используется библиотека NewSoftSerial (автор Mikal Hart).
- Stepper — для управления шаговыми двигателями.
- TFT — для вывода текста, изображений и графических примитивов на TFT-экране Arduino.
- WiFi — для соединения с Интернетом через плату расширения Arduino WiFi.
- Wire — библиотека для работы с двухпроводным интерфейсом (TWI/I2C), позволяющим принимать или отправлять данные между сетью устройств или датчиков.
Библиотеки Matrix и Sprite больше не входят в состав стандартного распространяемого ПО.
Специализированные библиотеки Arduino Due
- Audio — проигрывание аудио-файлов с SD-карты памяти.
- Scheduler — реализация многозадачности.
- USBHost — взаимодействие с USB-гаджетами, такими как мышь или клавиатура.
Специализированные библиотеки Esplora
- Esplora — данная библиотека позволяет легко взаимодействовать с различными датчиками и приводами на плате Arduino Esplora.
Специализированные библиотеки Arduino Robot
- Robot — библиотека обеспечивает доступ к функциям Arduino Robot.
Библиотеки для работы с USB (для Leonardo, Micro, Due и Esplora)
- Keyboard — отправка сигналов нажатия клавиш подсоединенному компьютеру.
- Mouse — управление указателем мыши на подсоединенном компьютере.
Вспомогательные библиотеки
Для использования какой-либо из этих библиотек, необходимо сначала ее установить. Подробности процесса установки описаны в соответствующих инструкциях. См. также инструкции по написанию собственных библиотек.
Связь (сети и протоколы):
- Messenger — для обработки текстовых сообщений, поступающих от компьютера.
- NewSoftSerial — усовершенствованная версия библиотеки SoftwareSerial .
- OneWire — управление устройствами (от Dallas Semiconductor), работающими по протоколу One Wire.
- PS2Keyboard — считывание символов с PS2-клавиатуры.
- Simple Message System — отправка сообщений между компьютером и Ардуино.
- SSerial2Mobile — отправка текстовых сообщений и электронной почты с мобильного телефона (посредством AT-команд и библиотеки SoftwareSerial).
- Webduino — реализация расширяемого веб-сервера (для использования с платой расширения Arduino Ethernet).
- X10 — отправка сигналов через линии электропередач по протоколу X10.
- XBee — для связи с беспроводными модулями XBees в режиме API.
- SerialControl — удаленное управление другими Ардиуно по последовательному интерфейсу.
Обработка сигнала с датчиков:
- Capacitive Sensing — использование двух или более выводов Ардуино в качестве емкостных датчиков.
- Debounce — для считывания зашумленного сигнала с цифровых выводов (может использоваться, например, для обработки дребезга контактов при нажатии кнопки).
Дисплеи и светодиоды:
- GFX — базовый класс со стандартными графическими процедурами (от Adafruit Industries).
- GLCD — графические процедуры для LCD-дисплеев на основе чипсета KS0108 или эквивалентного.
- Усовершенствованная библиотека LCD — исправлены ошибки инициализации LCD в официальной библиотеке LCD от Arduino.
- LedControl — для управления светодиодными матрицами или семисегментными индикаторами, работающих с драйвером MAX7221 или MAX7219 .
- LedControl — альтернатива библиотеке Matrix для управления несколькими светодиодами с помощью микросхем Maxim.
- LedDisplay — управление светодиодной бегущей строкой HCMS-29xx.
- Matrix — базовая библиотека для работы с матрицей светодиодов.
- PCD8544 — библиотека для работы с LCD-контроллером экранов, подобных Nokia 55100 (от Adafruit Industries).
- Sprite — базовая библиотека для работы со спрайтами и анимацией на светодиодных матрицах.
- ST7735 — библиотека для работы с LCD-контроллером TFT-экранов диагонально 1.8″ и разрешением 128×160 (от Adafruit Industries).
Синусоидальные и аудио-сигналы:
- FFT — частотный анализ аудио- и других аналоговых сигналов.
- Tone — генерирование прямоугольного сигнала звуковой частоты на любом выводе микроконтроллера в фоновом режиме.
Двигатели и ШИМ:
- TLC5940 — 16-канальный 12-разрядный ШИМ-контроллер.
Работа с временными интервалами:
- DateTime — библиотека для отслеживания в программе текущей даты и времени.
- Metro — выполнение определенных действий через равные промежутки времени.
- MsTimer2 — использует прерывание от Таймера 2 для выполнения определенного действия каждые N миллисекунд.
- PString — небольшой класс для осуществления вывода в буферы.
- Streaming — метод упрощения работы с операторами вывода.
Инструкции по написанию собственных библиотек см. здесь.
Используем библиотеки
Библиотеки являются очень мощным инструментом при работе с Ардуино, особенно для новичка. Библиотека является файлом (набором файлов), содержащим точно такой же С++ код, на котором мы пишем скетч. Мы можем подключить библиотеку в свой код и использовать возможности, которые она даёт, а вариантов там весьма много: готовые “инструменты” для работы с внешними датчиками и модулями, для работы с внутренней периферией микроконтроллера (таймеры, АЦП, память), библиотеки различных математических инструментов и многое многое другое. Мой личный список интересных библиотек, составленный за годы работы с платформой, можно посмотреть здесь.
Прелесть работы с библиотекой заключается в том, что нам необязательно знать, каким образом работает код внутри неё, мы просто пользуемся готовыми инструментами, которые предоставил разработчик. Очень часто к библиотекам есть описание/документация и примеры использования.
Хотите написать свою библиотеку? Читайте урок.
Как установить библиотеку
Как я уже говорил, библиотека это набор текстовых файлов с кодом. Библиотеку можно установить двумя способами: из официального репозитория или вручную. У Ардуино есть своя база библиотек (около 4000), которые можно устанавливать и обновлять прямо из Arduino IDE при помощи встроенного менеджера библиотек. Это удобно, но в этом списке есть не все существующие библиотеки. Переходим в Скетч/Подключить библиотеку/Управлять библиотеками… Откроется менеджер библиотек, в котором можно найти и в один клик установить библиотеку из списка.
Ручная установка библиотеки подразумевает перемещение папки с библиотекой в папку, в которой Arduino IDE будет эту библиотеку искать. Таких папок две: одна находится в папке с программой:
- 64-битная версия Windows – C:\Program Files (x86)\Arduino\libraries\
- 32-битная версия Windows – C:\Program Files\Arduino\libraries\
Вторая находится по пути, указанному в настройках. По умолчанию это Документы/Arduino. Я рекомендую устанавливать библиотеки в папку с программой, так как этот путь не содержит кириллицы и проблем с ним никогда не возникнет. Перемещать библиотеку в папку библиотек нужно так, чтобы в папке с названием библиотеки были файлы библиотеки (файлы с расширениями .h , . cpp , файл keywords , папка examples …).
Библиотеку можно разместить в папке со скетчем, например если в код библиотеки вносятся изменения, необходимые только для этого проекта. В этом случае рядом с файлом скетча .ino должны лежать файлы библиотеки, а в скетче подключать библиотеку необходимо через двойные кавычки, чтобы компилятор начал искать библиотеку с папки со скетчем:
В то же время библиотеки, содержащие несколько файлов в разных папках, таким образом работать отказываются. Возможно это проблема самой IDE:
Где брать библиотеки?
Очень часто можно встретить опубликованный кем-то проект, в котором используются библиотеки. Автор может приложить непосредственно файлы библиотек, которые он использовал, может дать ссылку на библиотеку, или просто указать её название. Также интересные библиотеки попадаются на форумах, где люди просто написали для себя и поделились с другими. На официальном сайте библиотеки или на её странице на GitHub можно встретить подробное описание, советы по использованию, схемы и другую полезную информацию.
Большинство библиотек публикуется на GitHub, у неподготовленного человека могу возникнуть проблемы со скачиванием файлов с этого ресурса. Допустим, вы наткнулись на какую-то интересную библиотеку и захотели её скачать. Например, IRLremote – библиотека для работы с ИК приёмниками. Неважно, в какую папку репозитория вы попали – всегда можно нажать на название библиотеки (Имя автора/Название репозитория) и попасть на главную страницу: С главной страницы можно скачать весь репозиторий как архив, нажав Clone or download, затем Download ZIP. Данный способ универсален для всех библиотек.
Таким образом вы скачаете исходный код библиотеки, в котором могут быть не относящиеся к самой библиотеке файлы. Большинство авторов выпускают релизы, которые находятся во вкладке Releases: Со вкладки Releases можно загрузить архив с библиотекой нужной версии
Также GitHub позволяет открыть для чтения или скачать единичный файл из репозитория. Для этого нужно открыть файл и нажать кнопку Raw
Решение конфликтов
Если Arduino IDE найдёт на компьютере несколько одинаковых библиотек, будет конфликт. Об этом сообщается в логе компиляции предупреждением: “несколько библиотек найдено… используется то, не используется сё“. Если вы ставили некоторые библиотеки через менеджер, они будут воевать с библиотеками, установленными вручную в папку с программой. Где вообще лежат библиотеки?
- Стандартные общие библиотеки – в папке с программой/libraries
- 64-битная версия Windows – C:\Program Files (x86)\Arduino\libraries\
- 32-битная версия Windows – C:\Program Files\Arduino\libraries\
- Стандартное ядро Arduino – C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries
- Другие ядра – C:\Users\username\AppData\Local\Arduino15\packages\ядро\hardware\платформа\версия\libraries
Конфликтовать могут и ядра, поэтому решением всех проблем может стать чистая установка Arduino IDE с удалением остатков от предыдущей версии. Удаляем программу через “Установку и удаление программ” и вручную сносим папки:
- Папка с программой
- 64-битная версия Windows – C:\Program Files (x86)\Arduino\libraries\
- 32-битная версия Windows – C:\Program Files\Arduino\libraries\
“Внутри” библиотеки
Библиотека, в зависимости от объема кода и настроения программиста, может быть оформлена как очень компактно, так и подробно, с кучей файлов и дополнительных папок. Рассмотрим классический состав библиотеки. Для удобства работы рекомендую включить видимость расширений файлов (Windows).
Все перечисленные ниже файлы являются обычными текстовыми файлами, открыть их можно обычным блокнотом. Рекомендую использовать “блокнот программиста” – Notepad++ (ссылка на официальный сайт), который подсвечивает синтаксис и в целом является очень удобным инструментом разработчика.
- название_библиотеки.h – заголовочный файл, самый главный файл библиотеки. Он настолько главный, что библиотека может состоять только из него одного. Находится обычно в корне библиотеки, либо в папке src(source, исходник). В этом файле обычно перечислены все классы/методы/функции/типы данных, находится информация о библиотеке, часто встречается расширенное описание для каждого метода или функции. Часто заголовочный файл является мини-документацией на библиотеку.
- Файл с расширением .cpp – файл реализаци, в котором находится основной исполнительный код программы. Обычно идёт парой к своему заголовочному .h файлу, т.е. название_библиотеки.cpp .
- keywords.txt – файл, в котором перечислены подсвечиваемые в коде названия функций, методов и прочих рабочих имён библиотеки.
- Файл library.properties содержит информацию о библиотеке для менеджера библиотек (название, версия, автор, категория и проч.)
- Папка src – в этой папке могут находиться основные файлы библиотеки ( .h , .cpp , .c ).
- Папка examples – папка с примерами использования библиотеки. Помимо перечисленных файлов и папок в папке с библиотекой могут находиться и другие служебные файлы и папки, иногда можно встретить даже полную документацию в виде текстовых файлов или html страниц.
Как работать с библиотекой?
Допустим, вы купили какой то модуль или датчик, загуглили по нему информацию, нашли статью с примером. Примеры обычно простенькие, показать как подключается и работает. Скачали библиотеку из статьи, попробовали, всё работает. Что дальше? Дальше следует открыть папку с библиотекой и посмотреть официальные примеры, разобраться как они работают и что умеют. Примеры находятся в папке examples в папке с библиотекой. Примеры обычно не раскрывают всех возможностей библиотеки, поэтому открываем и читаем заголовочный файл, который название_библиотеки.h. В нем можно найти буквально список инструментов библиотеки, очень часто с описанием для каждого. Вооружившись этой информацией, можно выжать из инструмента все возможности, которые ему прописал разработчик библиотеки.
Давайте рассмотрим стандартную библиотеку Servo, я думаю большинство с ней уже работали (смотри мой видеоурок по работе с Servo). Посмотрим примеры, которые лежат в папке с библиотекой:
/* Controlling a servo position using a potentiometer (variable resistor) by Michal Rinott modified on 8 Nov 2013 by Scott Fitzgerald http://www.arduino.cc/en/Tutorial/Knob */ #include Servo myservo; // create servo object to control a servo int potpin = 0; // analog pin used to connect the potentiometer int val; // variable to read the value from the analog pin void setup() < myservo.attach(9); // attaches the servo on pin 9 to the servo object >void loop() < val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023) val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180) myservo.write(val); // sets the servo position according to the scaled value delay(15); // waits for the servo to get there >
/* Sweep by BARRAGAN This example code is in the public domain. modified 8 Nov 2013 by Scott Fitzgerald http://www.arduino.cc/en/Tutorial/Sweep */ #include Servo myservo; // create servo object to control a servo // twelve servo objects can be created on most boards int pos = 0; // variable to store the servo position void setup() < myservo.attach(9); // attaches the servo on pin 9 to the servo object >void loop() < for (pos = 0; pos for (pos = 180; pos >= 0; pos -= 1) < // goes from 180 degrees to 0 degrees myservo.write(pos); // tell servo to go to position in variable 'pos' delay(15); // waits 15ms for the servo to reach the position >>
Из этих примеров мы узнали, что есть класс Servo, и нужно создать объект этого класса. В блоке setup() мы можем указать, к какому пину подключена серво (метод attach()), и можем повернуть серво на нужный угол (в градусах) при помощи метода write(). Это в принципе всё, что мы узнали из официального примера.
Теперь откроем заголовочный файл Servo.h, который находится в папке src:
#define Servo_VERSION 2 // software version of this library #define MIN_PULSE_WIDTH 544 // the shortest pulse sent to a servo #define MAX_PULSE_WIDTH 2400 // the longest pulse sent to a servo #define DEFAULT_PULSE_WIDTH 1500 // default pulse width when servo is attached #define REFRESH_INTERVAL 20000 // minumim time to refresh servos in microseconds #define SERVOS_PER_TIMER 12 // the maximum number of servos controlled by one timer #define MAX_SERVOS (_Nbr_16timers * SERVOS_PER_TIMER) #define INVALID_SERVO 255 // flag indicating an invalid servo index #if !defined(ARDUINO_ARCH_STM32F4) typedef struct < uint8_t nbr :6 ; // a pin number from 0 to 63 uint8_t isActive :1 ; // true if this channel is enabled, pin not pulsed if false >ServoPin_t ; typedef struct < ServoPin_t Pin; volatile unsigned int ticks; >servo_t; class Servo < public: Servo(); uint8_t attach(int pin); // attach the given pin to the next free channel, sets pinMode, returns channel number or 0 if failure uint8_t attach(int pin, int min, int max); // as above but also sets min and max values for writes. void detach(); void write(int value); // if value is < 200 its treated as an angle, otherwise as pulse width in microseconds void writeMicroseconds(int value); // Write pulse width in microseconds int read(); // returns current pulse width as an angle between 0 and 180 degrees int readMicroseconds(); // returns current pulse width in microseconds for this servo (was read_us() in first release) bool attached(); // return true if this servo is attached, otherwise false private: uint8_t servoIndex; // index into the channel data for this servo int8_t min; // minimum is this value times 4 added to MIN_PULSE_WIDTH int8_t max; // maximum is this value times 4 added to MAX_PULSE_WIDTH >;
Что мы можем узнать из этого кода? Достаточно много всего интересного!
- Минимальный импульс – 544 мкс
- Максимальный импульс – 2400 мкс
- Стандартный импульс после attach() – 1500 мкс – значит серво повернётся на соответствующий угол после подключения!
- Максимальное количество серво можно узнать, выведя дефайн MAX_SERVOS в порт ( Serial.print(MAX_SERVOS); ) – для Arduino NANO это будет 12 штук
- В классе Servo мы можем увидеть методы, которые не были раскрыты в примерах:
- Версия attach() с возможностью указать мин. и макс. длину импульса вручную
- detach() – отключить серво от управления
- writeMicroseconds() – подать управляющий сигнал в мкс, а не в градусах
- read() – считать текущее положение серво (последнее отправленное через write() )
- И некоторые другие
Перед кодом также находится весьма подробное описание библиотеки и расписаны некоторые тонкости. Что я хочу этим сказать: очень часто именно заголовочный файл несёт основную массу полезной информации по возможностям библиотеки, и в “статьях” о модулях и датчиках вы эту информацию скорее всего не найдёте. Всегда изучайте заголовочный файл, если нужно серьёзно поработать с каким-то модулем или вообще библиотекой в целом!
Полезные страницы
- Набор GyverKIT – большой стартовый набор Arduino моей разработки, продаётся в России
- Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress у проверенных продавцов
- Подборка библиотек для Arduino, самых интересных и полезных, официальных и не очень
- Полная документация по языку Ардуино, все встроенные функции и макросы, все доступные типы данных
- Сборник полезных алгоритмов для написания скетчей: структура кода, таймеры, фильтры, парсинг данных
- Видео уроки по программированию Arduino с канала “Заметки Ардуинщика” – одни из самых подробных в рунете
- Поддержать автора за работу над уроками
- Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])
Урок 3. Библиотеки в Arduino: что это такое и как использовать?
Всем привет! В этом уроке мы познакомимся с назначением библиотек в среде разработки Arduino IDE , о том какие функции они выполняют и как их устанавливать и применять. Начнем!
Сперва, покажу следующий код:
#include
Servo myservo;
void setup()
<
myservo.attach(9);
myservo.write(90);
>
void loop() <>В данном скетче мы управляем сервоприводом и поворачиваем вал на ней на 90 градусов. В начале кода с помощью директивы #include (нужна для подключения и внесения в работу кода различных файлов) мы подключаем специальную библиотеку под названием Servo.h
Кстати, если кому интересно, скачать ее вы можете вот здесь:
Дак вот, если убрать строчку кода с подключением этой библиотеки, то программа не заработает. Более того, компилятор выдаст вам ошибку, что не знает таких функций, как myservo.attach и Servo.h
Все эти функции мы можем использовать только с помощью библиотеки Servo.h (в таких случаях говорят, что это ее собственный синтаксис).
В библиотеке содержится определенный код, поддерживающий функции для управления сервоприводом и занимающий немало места, и поэтому для упрощения скетча мы просто подключим библиотеку и используем необходимые функции.
Если этого не сделаем, то размер кода, время на его написание и занимаемое им место в памяти намного увеличатся.
Мы выяснили, что библиотеки экономят наше время и упрощают скетч, делая его более практичным, удобным, а самое главное – более понятным!
А все потому, что в ней уже содержится большая часть кода, которую вам не нужно будет писать.
Библиотек для одной только Arduino существует несколько тысяч. Они делятся на встроенные в среду разработки Arduino IDE и не встроенные, то есть, которые необходимо самому скачивать и устанавливать.
Узнать, какие библиотеки уже встроены или подключены в Arduino IDE можно, нажав на раздел Файл – Примеры, как на фото ниже:
Далее перейдем к тем, что нужно самим искать и устанавливать. Чаще всего таковыми являются библиотеки для подключения различных датчиков или модулей. Например:
LiquidCrystal.h — для подключения LCD дисплея
UTFT.h — для подключения TFT экрана
RTClib.h — для работы с модулем часов реального времени
Скачать их можно на сайте https://github.com/
Просто введите в поиске нужное название и скачайте.
Библиотеки при скачивании хранятся, как правило, в ZIP файлах. Их нужно распаковать (например, с помощью программы WinRAR) в папку libraries.
Вот и все. Вы самостоятельно установили библиотеку. Чтобы она фигурировала в вашем коде, подключайте ее с помощью функции #include
Пример: #include
Также для каждой библиотеки вы можете прочитать своеобразную инструкцию, если погуглить. Там будут описаны команды и функции, которая она содержит и в каких случаях их применять.
Поздравляю! Теперь вы научились подключать и использовать библиотеки. Надеюсь, данный урок был для вас полезен и вы продолжите также резво изучать мир Arduino.
Данная статья — является собственностью интернет-магазина РОБОТОТЕХНИКА