Arduino:Содержание

Материал из ВикиСправочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 1493 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Содержание

Справочник языка Arduino

Конструкции языка

Управляющие операторы

Синтаксис

Арифметические операторы

Операторы сравнения

Логические операторы

Указатели

Побитовые операторы

Унарные операторы

Данные

Константы

Типы данных

Преобразование типов данных

Область видимости переменных и квалификаторы

Utilities

Функции

Цифровой ввод/вывод

Аналоговый ввод/вывод

Due & Zero

Дополнительные функции ввода/вывода

Работа со временем

Математические функции

Тригонометрические функции

Функции для символьного анализа

Генераторы случайных значений

Работа с битами и байтами

Внешние прерывания

Прерывания

Функции передачи данных

Serial

Stream

USB (Leonardo based boards and Due only)

Примеры

Стандартные функции

Простые программы, которые демонстрируют основные команды Arduino.

Они включены в среду Arduino; чтобы открыть их, нажмите кнопку Открыть на панели инструментов и посмотрите в папке примеров.

Основы

  • BareMinimum - Допустимый минимум кода для начала работы.
  • Blink - Включаем и отключаем светодиод.
  • DigitalReadSerial - Считывание последовательной передачи данных через цифровой контакт.
  • AnalogReadSerial - Считывание последовательной передачи данных через аналоговый контакт.
  • Fade - Затухание-загорание светодиода с помощью Arduino.
  • ReadAnalogVoltage - Считывание напряжения, проходящего через аналоговый контакт.

Цифровой сигнал

  • BlinkWithoutDelay - Моргание без команды Delay
  • Button - Управление светодиодом при помощи кнопки
  • Debounce - Антидребезг
  • ButtonStateChange - Определение изменения состояния кнопки
  • InputPullupSerial - Отслеживание состояния кнопки с помощью встроенного подтягивающего резистора
  • Tone - Проигрывание мелодии с помощью функции Tone
  • Pitch follower - Звук, реагирующий на изменяющуюся информацию
  • Simple keyboard - Простая клавиатура при помощи функции Tone
  • Tone4 - Проигрывание нот на разных динамиках с помощью функции Tone

Аналоговый сигнал

  • AnalogInOutSerial - «Сырые» данные на входе, преобразованные на выходе, вывод результата на Serial Monitor
  • AnalogInput - Управление миганием светодиода при помощи потенциометра.
  • AnalogWriteMega - Затухание/загорание (один за одним) 12 светодиодов. Используется плата Arduino Mega.
  • Calibration - Определение максимума и минимума для данных от аналогового датчика.
  • Fading - Использование выходного аналогового контакта (ШИМ) для затухания/загорания светодиода.
  • Smoothing - Сглаживание серии данных, считанных с входного аналогового контакта.

Связь

Эти примеры позволяют Arduino «общаться» со скетчами для Processing, запущенными на компьютере. Для более подробной информации о Processing пройдите сюда – processing.org (там же можно скачать программу).

Здесь также представлены патчи Max/MSP, связанные со скетчами Arduino. Более подробно о Max/MSP читайте на Cycling 74. О патчах для Pd, которые могут работать с этими примерами, читайте в примерах Скотта Фитцджеральда.

  • ReadASCIIString - Анализ строки, состоящей из разделенных запятыми int-значений, и их последующее использование для управления RGB-светодиодом.
  • ASCII Table - Демонстрирует продвинутые способы вывода данных на Serial Monitor.
  • Dimmer - Изменение яркости светодиода при помощи движения мышкой.
  • Graph - Отправка данных на компьютер и их графическое отображение в скетче Processing.
  • Physical Pixel - Включение/выключение светодиода путем отправки данных со скетча Processing (или Max/MSP) на Arduino.
  • Virtual Color Mixer - Отправка с Arduino на компьютер сразу нескольких значений, а затем их считывание при помощи скетча для Processing или Max/MSP.
  • Serial Call Response - Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»).
  • Serial Call Response ASCII - Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»). До передачи данные зашифровываются в ASCII.
  • SerialEvent - Демонстрирует использование SerialEvent().
  • Serial input (Switch (case) Statement) - Как совершать различные действия, беря за основу символы, присланные через последовательный порт.
  • MIDI - Передача через последовательный порт сообщений с MIDI-нотами.
  • MultiSerialMega - Использование двух последовательных портов на Arduino Mega.

Управляющие структуры

  • If Statement - Как использовать оператор «if» для создания условий, опирающихся на входные аналоговые данные, при которых светодиод будет либо включаться, либо оставаться выключенным.
  • For Loop - Управление несколькими светодиодами, чтобы они мигали, как LED-полоска у автомобиля Китт из сериала «Рыцарь дорог».
  • Array - Вариация примера «For Loop», но с использованием массива.
  • While Loop - Использование цикла while() для калибровки датчика. Калибровка включается при нажатии на кнопку.
  • Switch Case - Как совершать какие-либо действия в зависимости от значений, полученных от датчика. Эквивалент примера «If Statement», но если бы условий было не два, а четыре. Этот пример демонстрирует, как дробить диапазон данных от датчика на четыре «суб-диапазона», а затем в зависимости от полученных результатов совершать одно из четырех действий.
  • Switch Case 2 - Второй пример, демонстрирующий использование оператора switch. Показывает, как совершать различные действия в зависимости от определенных символов, полученных через последовательный порт.

Датчики

  • ADXL3xx - Считывание данных с акселерометра ADXL3xx.
  • Knock - Определение стука при помощи пьезоэлемента.
  • Memsic2125 - Считывание данных с 2-осевого акселерометра Memsic2125.
  • Ping - Определение объектов при помощи ультразвукового дальномера.

Дисплей

Примеры, объясняющие основы управления дисплеем:

  • LED Bar Graph - Как сделать светодиодную шкалу.
  • Row Column Scanning - Как управлять матрицей светодиодов 8x8.

Строки

  • StringAdditionOperator - Добавление строк друг к другу различными способами
  • StringAppendOperator - Прибавление данных к строкам.
  • StringCaseChanges - Смена регистра в строках.
  • StringCharacters - Как задать/сосчитать значение определенного символа в строке.
  • StringComparisonOperators - Алфавитное сравнение строк.
  • StringConstructors - Как инициализировать строковые объекты.
  • StringIndexOf - Поиск символов в строке по принципу «столько-то позиций от начала» или «столько-то позиций от конца»
  • StringLength & StringLengthTrim - Как определить длину строки и обрезать ее.
  • StringReplace - Замена отдельных символов в строке.
  • StringStartsWithEndsWith - Как проверить, какими символами/подстроками начинается или заканчивается строка.
  • StringSubstring - Поиск в строке определенных «фраз».

USB (для Leonardo, Micro и Due плат)

В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.

  • KeyboardAndMouseControl - Демонстрирует использование библиотек Mouse и Keyboard в одной программе.

Клавиатура

  • KeyboardMessage - Отправка текстовой строки при нажатии на кнопку.
  • KeyboardLogout - Выход из текущей пользовательской сессии при помощи клавиатурных комманд.
  • KeyboardSerial - Считывает байт, присланный через последовательный порт, а в ответ отсылает другой байт.
  • KeyboardReprogram - Открывает новое окно в среде разработки Arduino, а затем перешивает Leonardo скетчем «Моргание».

Мышь

  • ButtonMouseControl - Управление экранным курсором при помощи пяти кнопок.
  • JoystickMouseControl - Управление экранным курсором при помощи джойстика (условие – нажатая кнопка).

Библиотеки

Примеры к библиотекам, входящим в состав ПО для Arduino.

Библиотека Bridge (для Arduino Yún)

  • Bridge - Доступ к контактам платы через веб-браузер.
  • Console ASCII Table - Демонстрирует, как выводить на консоль символы в разных форматах.
  • Console Pixel - Управление светодиодом при помощи консоли.
  • Console Read - Анализ информации, пришедшей через консоль, а затем отправка ее обратно.
  • Datalogger - Сохранение информации от датчика на SD-карте.
  • File Write Script - Демонстрирует, как при помощи класса Process записывать shell-скрипт в файловую систему Yun, а затем исполнять его.
  • HTTP Client - Создает простой клиент, который загружает веб-страницу и выводит ее на Serial Monitor.
  • Process - Демонстрирует, как использовать класс Process для запуска Linux-команд.
  • Shell Commands - Использует класс Process для запуска shell-команд.
  • Temperature Web Panel - После запроса через браузер постит на веб-странице данные от датчика.
  • TimeCheck - Берет информацию о текущем времени от сетевого сервера времени, а затем выводит ее на Serial Monitor.
  • WiFiStatus - Запускает преднастроенный скрипт, который в ответ сообщает о мощности сигнала в текущей WiFi-сети.
  • Yun Serial Terminal - Доступ к Linux Terminal через Serial Monitor.
  • MailboxReadMessage - Отправляет процессору Arduino текстовые сообщения через браузер и при помощи REST API.

Примеры для Temboo На сайте Temboo есть отдельная секция о библиотеке Temboo и примерах с использованием IDE Arduino. Смотрите здесь.

Примеры для Spacebrew Для Yun и Spacebrew существует множество примеров. Подробнее смотрите на страницах с проектной документацией.

Советы и хитрости при работе с Linux

  • Pacakage Manager - Как установить на Yun дополнительное ПО.
  • Expanding Yún disk space - Как расширить дисковое пространство Yun при помощи SD-карты.

Библиотека EEPROM

  • EEPROM Clear - Очищает байты с EEPROM.
  • EEPROM Read - Считывает данные с EEPROM и отсылает их на компьютер.
  • EEPROM Write - Записывает на EEPROM значения, считанные с аналогового входа.
  • EEPROM Crc – Проверка содержимого EEPROM-памяти на предмет того, изменилось/повредилось ли оно. Проверка осуществляется при помощи CRC. Содержимое EEPROM-памяти рассматривается как массив
  • EEPROM Get – Считывание данных с EEPROM-памяти и их вывод на монитор порта в виде числа с плавающей точкой (float)
  • EEPROM Iteration – Несколько разных способов пробежаться по всей EEPROM-памяти
  • EEPROM Put – Запись данных в EEPROM-память разными способами
  • EEPROM Update – Запись в EEPROM-память данные, считанные с 0-ого аналогового контакта (A0). Запись осуществляется только в том случае, если новые данные отличаются от предыдущих – это позволяет увеличить срок службы EEPROM-памяти

Библиотека Esplora

Esplora для начинающих

  • EsploraBlink - Моргание RGB-светодиодом Esplora.
  • EsploraAccelerometer - Считывание данных с акселерометра.
  • EsploraJoystickMouse - Использует джойстик для управления экранным курсором компьютера.
  • EsploraLedShow - Использует джойстик и слайдер для создания «светового шоу» при помощи светодиода.
  • EsploraLedShow2 - Использует микрофон, слайдер и световой датчик Esplora для того, чтобы менять цвет встроенного светодиода.
  • EsploraLightCalibrator - Калибрует данные от светового датчика, встроенного в Esplora.
  • EsploraMusic - Создание музыки при помощи Esplora.
  • EsploraSoundSensor - Считывает значения с микрофона Esplora.
  • EsploraTemperatureSensor - Считывает данные с температурного датчика в Фаренгейтах или Цельсиях.

Esplora для экспертов

  • EsploraKart - Использует Esplora в качестве контроллера для игры в гоночный симулятор.
  • EsploraTable - Выводит информацию от датчика Esplora в табличном формате.
  • EsploraRemote - Подключение Esplora к Processing и удаленное управление ее устройствами вывода.
  • EsploraPong - Игра в Pong при помощи Esplora и Processing.

Библиотека Ethernet

  • Chat Server - Настройка простого чат-сервера.
  • Web Client - Генерация HTTP-запроса.
  • Web Client Repeating - Генерация повторяющихся HTTP-запросов.
  • Web Server - Создание веб-сервера, который после запроса выдает HTML-страницу, отображающую данные от аналоговых датчиков.
  • Barometric Pressure Web Server - Отображает на веб-странице данные от датчика атмосферного давления.
  • UDP Send Receive String - Отправляет и получает текстовые строки через UDP.
  • Udp Ntp Client - Создание клиента, запрашивающего время через NTP.
  • Dns Web Client - Создание веб-клиента на базе DNS и DHCP.
  • Dhcp Chat Server - Простой чат-сервер через DHCP.
  • Dhcp Address Printer - Получение IP-адреса через DHCP, а затем его отображение на Serial Monitor.
  • Telnet Client - Простой Telnet-клиент.

Библиотеки Firmata

Библиотека GSM

Примеры для GSM

Инструменты для GSM

Библиотека LiquidCrystal

  • LiquidCrystal Hello World - Показывает надпись «Hello, World!» и секунды с последнего RESET’а.
  • LiquidCrystal Blink - Управление блокообразным курсором.
  • LiquidCrystal Cursor - Управление курсором в виде нижнего подчеркивания.
  • LiquidCrystal Display - Как быстро погасить дисплей, при этом не теряя имеющейся на нем информации.
  • LiquidCrystal TextDirection - Управление тем, в какую сторону от курсора будет перемещаться текст.
  • LiquidCrystal Scroll - Изменение направления двигающегося текста.
  • LiquidCrystal Serial input - Принимает данные, пришедшие черед последовательный порт и отображает их.
  • LiquidCrystal SetCursor - Устанавливает позицию курсора.
  • LiquidCrystal Autoscroll - Автоматическое смещение текста.

Библиотека SD

  • Card Info – Получение информации о SD-карте
  • Yún Datalogger – Запись на SD-карту логов от трех аналоговых датчиков
  • Datalogger – Регистрация данных от датчиков при помощи SD-карты
  • Dump File – Считывание файла с SD-карты
  • Files – Создание/удаление файла с SD-карты
  • List Files – Отображение списка файлов и папок, находящихся в указанной директории на SD-карте
  • Read Write – Считывание/запись данных на SD-карту

Библиотека Robot

  • Robot Logo - Как задать направление движения для робота при помощи встроенной клавиатуры.
  • Robot Line Following - Рисуем «гоночный трек» и программируем робота, чтобы он по нему ехал.
  • Robot Disco Bot - Превращаем робота в музыкальный проигрыватель, который, к тому же, умеет еще и танцевать.
  • Robot Compass - Настраиваем компас и ищем карту сокровищ (опционально).
  • Robot Inputs - Учимся, как управлять потенциометром и кнопками на верхней (контрольной) плате Arduino Robot.
  • Robot Wheel Calibration - Регулируем точность колес.
  • Robot Runaway Robot - Оснащаем робота дальномером, а затем играем с ним в пятнашки (опционально).
  • Robot Remote control - Удаленное управление роботом при помощи пульта от телевизора.
  • Robot Picture browser - Хотите просматривать на экране Arduino Robot собственные картинки?
  • Robot Rescue - «Спасение пострадавших».
  • Robot Hello User - Взламываем приветственное демо Arduino Robot и делаем на его основе собственное.
  • Robot Calibrate Compass - Калибруем компас-модуль, чтобы он вращался равномерно (для старых моделей, использующих Honeywell HMC 6352).

Библиотека SPI

  • BarometricPressureSensor - Считываем с датчика данные об атмосферном давлении и температуре при помощи протокола SPI.
  • SPIDigitalPot - Управление цифровым потенциометром AD5206 при помощи протокола SPI.

Библиотека Servo

  • Knob - Как настроить Arduino Robot таким образом, чтобы при кручении потенциометра вращался вал сервомотора.
  • Sweep - Вращение валом сервомотора вперед и назад.

Библиотека Software Serial

  • Software Serial Example - Объясняет, как использовать библиотеку SoftwareSerial... потому что иногда одного последовательного порта просто недостаточно.
  • Two Port Receive - Как работать с несколькими портами типа Software Serial.

Библиотека Stepper

  • Motor Knob – Управление очень точным шаговым мотором при помощи потенциометра
  • Stepper One Revolution – Поворот вала на один оборот по часовой стрелке и на один оборот против часовой стрелки
  • Stepper One Step At A Time – Пошаговый поворот вала для проверки того, правильно ли подключен мотор
  • Stepper Speed Control – Управление скоростью «шагов» при помощи потенциометра

Библиотека TFT

Esplora

  • Esplora TFT Bitmap Logo - Считываем файл-картинку с карты micro-SD, а затем показываем ее в случайных местах экрана.
  • Esplora TFT Color Picker - При помощи джойстика и слайдера меняем фоновый цвет TFT-экрана.
  • Esplora TFT Etch a Sketch - Esplora-вариация на тему классической игрушки «Волшебный экран».
  • Esplora TFT Graph - Графическое отображение на TFT-экране значений от светового датчика.
  • Esplora TFT Horizon - Отображение на TFT-экране «линии горизонта», чье положение зависит от наклона акселерометра.
  • Esplora TFT Pong - Упрощенная вариация на тему игры Pong.
  • Esplora TFT Temperature - Проверка температуры при помощи встроенного сенсора, а затем ее отображение на TFT-экране.

Arduino

  • TFT Bitmap Logo - Считываем с карты micro-SD файл-картинку ,а затем отображаем ее в случайных местах экрана.
  • TFT Display Text - Считываем значение датчика, а затем выводим его на экран.
  • TFT Pong - Упрощенная вариация на тему игры Pong.
  • TFT Etch a Sketch - Arduino-вариация классической игрушки «Волшебный экран».
  • TFT Color Picker - Изменение фонового цвета TFT-экрана при помощи трех датчиков.
  • TFT Graph - Графическое отображение на TFT-экране значений от переменного резистора.

Библиотека Wire

  • SFRRanger Reader - При помощи I2C-коммуникации считывает данные с ультразвукового дальномера Devantech SRFxx.
  • Digital Potentiometer - Управление цифровым потенциометром AD5171 при помощи библиотеки Wire.
  • Master Reader - Настройка двух (или более) плат Arduino таким образом, чтобы они делились информацией по принципу «ведущая плата считывает / ведомая плата отсылает».
  • Master Writer - Настройка двух (или более) плат Arduino таким образом, чтобы они делились информацией по принципу «ведущая плата отсылает / ведомая плата считывает».

Библиотека WiFi

  • Connect No Encryption - Демонстрирует, как подключаться к открытой сети.
  • Connect With WEP - Демонстрирует, как подключаться к WEP-зашифрованной сети.
  • Connect With WPA - Демонстрирует, как подключаться к сети, зашифрованной через WPA2 Personal.
  • Scan Networks - Показывает все доступные WiFi-сети.
  • WiFi Chat Server - Настраиваем простой чат-сервер.
  • WiFi Web Client - Подключаемся к удаленному веб-серверу.
  • WiFi Web Client Repeating - Делаем повторяющиеся HTTP-запросы на сервер.
  • WiFi Web Server - Настраиваем Arduino и WiFi Shield, чтобы они служили веб-сервером с веб-страницей.
  • WiFi Send Receive UDP String – Отправка и получение текстовых строк через UDP при помощи WiFi-модуля
  • WiFi Udp NTP Client – Создание при помощи WiFi-модуля клиента, запрашивающего время через NTP

Только для Arduino 101

Библиотека CurieBLE

Библиотека Curie IMU

Библиотека Curie Timer One

  • Curie Timer One Interrupt – Устанавливает таймер и запускает прерывание
  • Curie Timer One PWM – Генерация ШИМ-сигнала на цифровом контакте (полное управление всеми параметрами)

Только для Arduino Due

Библиотека Audio

Библиотека Scheduler

  • MultipleBlinks – Мигание несколькими светодиодами, выполняемое в их собственных loop-функциях.

Только для Arduino Due, Zero и MKR1000

Библиотека USBHost

  • MouseController – Скетч, демонстрирующий работу функций MouseController
  • KeyboardController – Скетч, демонстрирующий работу функций KeyboardController

Только для Arduino Zero и MKR1000

Библиотека Audio Frequency Meter Library

Библиотека AudioZero

Библиотеки RTC

  • Simple RTC - Простые часы реального времени (RTC)
  • Simple RTC Alarm - Простой будильник для часов реального времени (RTC)
  • Sleep RTC Alarm - RTC-будильник, выводящий плату из спящего режима

Только для WiFi 101 и MKR1000

  • wifi101ConnectNoEncryption – Демонстрирует, как подключиться к открытой сети.
  • wifi101ConnectWithWEP – Демонстрирует, как подключаться к WEP-зашифрованной сети. wifi101ConnectWithWPA – Демонстрирует, как подключаться к сети, зашифрованной через WPA2 Personal.
  • wifi101ConnectWithWPA - Демонстрирует, как подключаться к WPA2 Personal - зашифрованной сети.
  • wifi101ScanNetworks – Показывает все доступные WiFi-сети.
  • wifi101WiFiChatServer – Настройка простого чат-сервера.
  • wifi101WiFiWebClient – Подключение к удаленному веб-серверу.
  • wifi101WiFiWebClientRepeating – Генерация повторяющихся HTTP-запросов на сервер.
  • wifi101WiFiWebServer – Настройка Arduino и WiFi-модуля, чтобы они служили веб-сервером с веб-страницей.
  • Wifi101WiFiUdpSendReceiveString – Отправка и получение текстовых строк через UDP при помощи WiFi-модуля
  • wifi101UdpNTPClient – Демонстрирует, как при помощи WiFi-модуля создать клиент, запрашивающий время через NTP

Библиотека CmdMessenger

  • Receive – Настройка PC-переключателя для светодиода, встроенного в Arduino.
  • SendandReceive – Расширенная версия Receive. Теперь Arduino отсылает обратно статус.
  • SendandReceiveArguments – Расширенная версия SendandReceive. Теперь Arduino получает и отправляет множество float-значений.
  • SendandReceiveBinaryArguments – Расширенная версия SendandReceiveArguments. Теперь Arduino принимает и отсылает множество двоичных значений, тем самым демонстрируя более эффективный способ коммуникации
  • DataLogging – Расширенная версия SendandReceiveBinaryArguments. Теперь при перемещении ползунка PC будет отправлять команды на Arduino.
  • ArduinoController – Расширенная версия Receive. Теперь Arduino отправляет обратно статус.
  • SimpleWatchdog – Демонстрирует настройку автоматического подключения между PC и Arduino.
  • TemperatureControl – Расширенная версия ArduinoController. Демонстрирует, как создать адаптивный интерфейс (в данном случае для отображения температурных данных).
  • ConsoleShell – Демонстрирует, как использовать ConsoleShell в качестве оболочки и коммуницировать с нею при помощи консоли. Этот пример отличается от других тем, что для него нет PC-кода.

Библиотека OneWire

  • DS18x20 Temperature - Этот пример демонстрирует, как при помощи библиотеки OneWire считывать данные с температурных датчиков типа 1-Wire. Поддерживаются модели DS18S20, DS18B20 и DS1822.
  • DS2408 Switch - Этот пример показывает, как при помощи библиотеки OneWire работать с PIO-чипом DS2048.
  • DS250x PROM - Этот пример показывает, как считывать данные с PROM-чипа семейства DS250x.

Библиотека PS2Keyboard

Библиотека SimpleMessageSystem

Библиотека SSerial2Mobile

Библиотека Webduino

  • Web AjaxBuzzer - Управление зуммером через браузерный интерфейс (AJAX)
  • Web AjaxRGB - Управление RGB-светодиодом через браузерный интерфейс
  • Web AjaxRGB mobile - Управление RGB-светодиодом при помощи смартфона
  • Web Authentication - HTTP-аутентификация
  • Web Buzzer - Управление зуммером через браузерный интерфейс
  • Web Demo - Запрос значений на контактах через браузерный интерфейс
  • Web HelloWorld - Показ в браузере надписи «Hello, World!»
  • Web Image - Показ в браузере иконки со светодиодом
  • Web Net Setup - Браузерный интерфейс для настройки сети
  • Web Parms - Передача и анализ параметров

Библиотека X10

  • x10Blink - Мигание лампочкой
  • x10Fade - Управление яркостью лампочки
  • x10Multi - Включение/выключение нескольких лампочек

Библиотека XBee

  • AtCommand - Отправка AT-запросов к XBee-модулю
  • Echo Callbacks - Прослушка входящих пакетов и отправка идентичных ответов
  • RemoteAtCommand - Отправка AT-команд на удаленный XBee-модуль
  • Series1 IoSamples - Получение данных от удаленного XBee-модуля
  • Series1 Rx - Получение пакетов и преобразование в ШИМ-сигнал
  • Series1 Tx - Отправка пакетов
  • Series2 IoSamples - Получение данных от удаленного XBee-модуля (Series 2)
  • Series2 Rx - Получение пакетов и преобразование в ШИМ-сигнал (Series 2)
  • Series2 Rx Nss - Получение и отображение пакетов (Series 2)
  • Series2 Sleep - Введение и выведение XBee-модуля из режима ожидания
  • Series2 Tx - Отправка пакетов (Series 2)
  • ZdpScan - Поиск узлов в XBee-сети

Библиотека CapacitiveSensing

Библиотека Bounce

  • Bounce - Устранение дребезга при нажатии на кнопку (вариант с одной кнопкой)
  • Bounce2Buttons - Устранение дребезга при нажатии на кнопку (вариант с двумя кнопками)
  • Change - Определение перехода из HIGH в LOW
  • Duration - Определение продолжительности нажатия на кнопку
  • Retrigger - Перезапуск события

Библиотека GLCD

  • BigNums - Использование текстовых областей
  • clockFace - Аналоговые часы
  • GLCDdemo - Пример работы нескольких графических функций
  • GLCDdiags - Тест памяти и интерфейса GLCD-модуля
  • HelloWorld - «Привет, мир!»
  • ks0108example - Пример работы нескольких графических функций (версия для ks0108)
  • life - Игра «Жизнь»
  • Rocket - Игра «Ракета»
  • Serial2GLCD - Показ символов, введенных через монитор порта
  • GLCD BigDemo - Большое демо

Библиотека LedControl

Библиотека LedDisplay

Библиотека Matrix

Библиотека PCD8544

Библиотека ST7735

  • graphicstest - Графический тест
  • rotationtest - Тест функций вращения
  • shieldtest - Перемещение картинки на TFT-дисплее (при помощи джойстика)
  • soft spitftbitmap - Вывод изображения на 1,8-дюймовый TFT-дисплей
  • spitftbitmap - Вывод изображения на 1,8-дюймовый или 1,44-дюймовый TFT-дисплей

Библиотека FFT

  • fft adc - Применение БПФ на данных от АЦП и отправка результата посредством write()
  • fft adc serial - Применение БПФ на данных от АЦП и отправка результата посредством println()
  • fft codec - Применение БПФ на данных от модуля Codec Shield

Библиотека Tone

  • DTMFTest - Тональный сигнал
  • RTTTL - RTTTL
  • ToneTest - Одновременное проигрывание нот

Библиотека TLC5940

Библиотека Time

  • TimeArduinoDue - Синхронизация времени с помощью RTC (для Arduino Due)
  • TimeGPS - Синхронизация времени с помощью GPS
  • TimeNTP - Синхронизация времени с помощью NTP-сервера
  • TimeNTP ESP8266WiFi - Синхронизация времени с помощью NTP-сервера и WiFi
  • TimeRTC - Синхронизация времени с помощью RTC (для остальных Arduino)
  • TimeRTCLog - Учет изменений состояний на контактах с помощью RTC
  • TimeRTCSet - Установка RTC-времени
  • TimeSerial - Настройка библиотеки Time при помощи последовательного порта
  • TimeSerialDateStrings - Настройка библиотеки Time при помощи последовательного порта (со строковыми сообщениями)
  • TimeTeensy3 - Синхронизация времени с помощью RTC на Teensy

Библиотека Metro

  • blinking - Периодическое мигание светодиодом
  • blinking 2 instances - Периодическое мигание двумя светодиодами
  • blinking 2 intervals - Мигание светодиодом с использованием двух периодичностей
  • serialInterval - Периодическая отправка сообщений по последовательному порту

Библиотека MsTimer2

  • FlashLed - Периодическое включение и выключение светодиода

Библиотека FlexiTimer2

Библиотека PString

Библиотека Streaming

Библиотеки[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.

Прочее

  • PString – легковесный класс для печати в буфер
  • Streaming – метод, упрощающий операторы вывода

См.также

Внешние ссылки

  1. Arduino.cc - Libraries