Arduino:Содержание
Поддержать проект | Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Добро пожаловать в раздел Arduino |
|
|
|
|
Справочник языка Arduino
Конструкции языка
Управляющие операторы
Синтаксис
- ; (точка с запятой)
- () (фигурные скобки)
- // (однострочный комментарий)
- /* */ (многострочный комментарий)
- #define
- #include
Арифметические операторы
- = (оператор присваивания)
- + (оператор сложения)
- - (оператор вычитания)
- * (оператор умножения)
- / (оператор деления)
- % (оператор деления по модулю)
Операторы сравнения
- == (оператор равенства)
- != (оператор неравенства)
- < (оператор меньше)
- > (оператор больше)
- <= (оператор меньше или равно)
- >= (оператор больше или равно)
Логические операторы
Указатели
Побитовые операторы
- Побитовый оператор AND (&)
- Побитовый оператор OR
- Побитовый оператор XOR (^)
- Побитовый оператор NOT (~)
- Побитовый оператор сдвига влево (<<)
- Побитовый оператор сдвига вправо (>>)
Унарные операторы
- ++ (инкремент)
- -- (декремент)
- += (сложение с присваиванием)
- -= (вычитание с присваиванием)
- *= (умножение с присваиванием)
- /= (деление с присваиванием)
- &= (побитовый оператор AND, совмещенный с присваиванием)
- |= (побитовый оператор OR, совмещенный с присваиванием)
Данные
Константы
- Константы
- HIGH
- LOW
- INPUT
- OUTPUT
- INPUT_PULLUP
- LED_BUILTIN
- true
- false
- Целочисленные константы
- Константы с плавающей запятой
Типы данных
Преобразование типов данных
Область видимости переменных и квалификаторы
Utilities
Функции
Цифровой ввод/вывод
Аналоговый ввод/вывод
Due & Zero
Дополнительные функции ввода/вывода
Работа со временем
Математические функции
Тригонометрические функции
Функции для символьного анализа
- isAlphaNumeric()
- isAlpha()
- isAscii()
- isWhitespace()
- isControl()
- isDigit()
- isGraph()
- isLowerCase()
- isPrintable()
- isPunct()
- isSpace()
- isUpperCase()
- isHexadecimalDigit()
Генераторы случайных значений
Работа с битами и байтами
Внешние прерывания
Прерывания
Функции передачи данных
Serial
- if (Serial)
- available()
- availableForWrite()
- begin()
- end()
- find()
- findUntil()
- flush()
- parseFloat()
- parseInt()
- peek()
- print()
- println()
- read()
- readBytes()
- readBytesUntil()
- readString()
- readStringUntil()
- setTimeout()
- write()
- serialEvent()
Stream
- available()
- read()
- flush()
- find()
- findUntil()
- peek()
- readBytes()
- readBytesUntil()
- readString()
- readStringUntil()
- parseInt()
- parsefloat()
- setTimeout()
USB (Leonardo based boards and Due only)
Примеры
Стандартные функции
Простые программы, которые демонстрируют основные команды Arduino.
Они включены в среду Arduino; чтобы открыть их, нажмите кнопку Открыть на панели инструментов и посмотрите в папке примеров.
Основы
- BareMinimum - Допустимый минимум кода для начала работы.
- Blink - Включаем и отключаем светодиод.
- DigitalReadSerial - Считывание последовательной передачи данных через цифровой контакт.
- AnalogReadSerial - Считывание последовательной передачи данных через аналоговый контакт.
- Fade - Затухание-загорание светодиода с помощью Arduino.
- ReadAnalogVoltage - Считывание напряжения, проходящего через аналоговый контакт.
Цифровой сигнал
- BlinkWithoutDelay - Мигание без команды Delay
- Button - Управление светодиодом при помощи кнопки
- Debounce - Антидребезг
- Debounce2 - Антидребезг2
- ButtonStateChange - Определение изменения состояния кнопки
- InputPullupSerial - Отслеживание состояния кнопки с помощью встроенного подтягивающего резистора
- Tone - Проигрывание мелодии с помощью функции Tone
- Pitch follower - Звук, реагирующий на изменяющуюся информацию
- Simple keyboard - Простая клавиатура при помощи функции Tone
- Tone4 - Проигрывание нот на разных динамиках с помощью функции Tone
Аналоговый сигнал
- AnalogInPotSerial - Чтение данных от потенциометра и вывод через последовательный порт
- 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 - Управление экранным курсором при помощи джойстика (условие – нажатая кнопка).
Разное
Использование сдвигового регистра 74HC595
Использование одного сдвигового регистра 74HC595
- ShftOut11 - Простая передача битов
- ShftOut12 - Один за одним
- ShftOut13 - Использование массива
- Управление светодиодами с помощью сдвигового регистра 74HC595
- Создание эффекта "бегущий всадник" с помощью сдвигового регистра 74HC595
- Гистограмма расстояния с помощью сдвигового регистра 74HC595 и ИК-датчика расстояния
Использование двух сдвиговых регистров 74HC595
- ShftOut21 - Два светодиодных счетчика от «0» до «255» (в двоичном формате)
- ShftOut22 - Поочередное зажигание 16 светодиодов
- ShftOut23 - Использование двух массивов
Использование сдвигового регистра CD4021B
Использование одного сдвигового регистра CD4021B
- ShftIn11 - Простой ввод данных
- ShftIn12 - Какая кнопка нажата?
- ShftIn13 - Проверка разных комбинаций
- ShftIn14 - Нажата ли кнопка?
Использование двух сдвиговых регистров CD4021B
- ShftIn21 - Простой ввод данных от двух сдвиговых регистров
- ShftIn22 - Проверка разных комбинаций на двух комплектах переключателей
- ShftIn23 - Печать включенных настроек
DHT
BMP180
Датчики дождя
Датчики влажности
Датчики освещенности
Температурные датчики
- Гайд по использованию температурного датчика DS18B20 с Arduino
- Пример подключения температурного датчика TMP36
Часы реального времени
Датчики газа/дыма
Ультразвуковые датчики
- Гайд по использованию ультразвукового датчика HC-SR04 с Arduino
- Подключение датчика HC-SR04 к Arduino
Датчики движения
Уклономеры
Датчики звука
Герконы
RFID
- Гайд по использованию RFID-ридера MFRC522 вместе с Arduino
- Защищенный доступ с помощью RFID-ридера MFRC522 и Arduino
Реле
nRF24L01
Приемники/передатчики RF 433 MHz
OLED-дисплеи
LCD-дисплеи
- Гайд по использованию LCD-дисплея Nokia 5110 вместе с Arduino
- Вывод на LCD-дисплей произвольного текста и значения счетчика
- Прогресс-бар на LCD-дисплее
- Термостат с отображением информации на LCD-дисплее
Светодиодные матрицы
Cветодиодные ленты
Клавиатуры
Роботы
Датчик цвета
Управление DC-моторами
- Управление DC-мотором при помощи Arduino
- Управление DC-мотором при помощи Arduino и потенциометра
- Управление двумя DC-моторами при помощи Arduino и Bluetooth
- Управление DC-мотором при помощи Arduino и драйвера моторов
Управление серводвигателями
- Управление серводвигателем с помощью потенциометра
- Радиальный ИК-датчик расстояния
- Радиальный ультразвуковой датчик расстояния
Управление RGB-светодиодом
- Управление RGB-светодиодом при помощи Arduino
- Управление RGB-светодиодом при помощи Arduino и Android-приложения
Источники звука
Последовательный порт
- Вывод значений потенциометра в последовательный порт
- Применение управляющих символов при выводе значений потенциометра в последовательный порт
- Эхо данных последовательного порта
- Различие между char и int
- Управление светодиодом отправкой одиночных символов
- Управление RGB-светодиодом отправкой последовательности цифр
- Управление цветом окна программы на Processing с помощью Arduino и потенциометра
- Управление RGB-светодиодом с помощью палитры цветов из программы на Processing
Использование библиотеки Keyboard
- Запись данных с датчиков в текстовый файл на ПК
- Блокировка ПК на основе показаний фоторезистора
- Управление курсором мыши
Использование библиотеки Wire
- Чтение данных с I2C-датчика температуры TC74A0-5.0VAT
- Чтение данных с I2C-датчика температуры TC74A0-5.0VAT с отображением данных на гистограмме и программе на Processing
Использование библиотеки SPI
- Регулировка яркости светодиодов с помощью двух SPI цифровых потенциометров MCP4231
- Регулировка яркости светодиодов и громкости динамика с помощью двух SPI цифровых потенциометров MCP4231
Использование библиотеки SD
- Запись произвольных данных на SD карту
- Чтение и запись произвольных данных на SD карту
- Чтение и запись произвольных данных на SD карту с использованием часов реального времени
- Регистратор прохода через дверь
Использование библиотеки Ethernet
Использование прерываний
Аппаратные прерывания
Прерывания по таймеру
- Мигаем светодиодом с помощью прерывания по таймеру
- Музыкальный инструмент с помощью прерывания по таймеру и аппаратного прерывания
Библиотеки
Примеры к библиотекам, входящим в состав ПО для 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-клиент.
- Веб-сервер из платы Arduino и шилда Arduino Ethernet, управляющий реле
Библиотеки Firmata
Библиотека GSM
Примеры для GSM
- GSM Examples Make Voice Call - Генерация телефонного звонка через Serial Monitor при помощи GSM Shield.
- GSM Examples Receive Voice Call - Проверка статуса модема и прием голосовых звонков.
- GSM Examples Send SMS - Использование Serial Monitor, чтобы печатать и отправлять SMS-сообщения на разные телефонные номера.
- GSM Examples Receive SMS - Получение SMS-сообщений и их показ на Serial Monitor.
- GSM Examples Web Client - Загрузка содержимого вебсайта на плату Arduino при помощи GPRS.
- GSM Examples Web Server
Инструменты для GSM
- GSM Examples Test Modem - Получение IMEI-номера модема.
- GSM Examples Test GPRS - Проверка функциональности GPRS-сети при помощи SIM-карты.
- GSM Examples GSM Scan Networks - Проверка доступных сетей.
- GSM Examples Pin Management - Управление PIN-кодом вашей SIM-карты.
- GSM Examples Band Management - Управление диапазон частот, к которым подключается GSM Shield.
- GSM Examples Test Web Server - Создание веб-сервера при помощи GSM Shield.
Библиотека 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
- Genuino101CurieBLEHeartRateMonitor - Отслеживание пульса
- Genuino101CurieBLEBatteryMonitor - Отслеживание уровня заряда батареи
- Genuino101CurieBLEButtonLED - Включение/выключение светодиода нажатием на кнопку
- Genuino101CurieBLECallbackLED - Включение/выключение светодиода нажатием на кнопку (с помощью функций внешнего вызова)
- Genuino101CurieBLELED - Включение/выключение светодиода
Библиотека Curie IMU
- Curie IMU Orientation Visualizer - 3D-визуализатор положения платы в пространстве
- Curie IMU Accelerometer - Считывание данных с акселерометра
- Curie IMU Accelerometer Orientation - Короткие уведомления о положении платы в пространстве
- Curie IMU Gyro - Считывание данных с гироскопа
- Curie IMU Raw Imu Data Serial - Считывание данных с гироскопа и акселерометра одной функцией
- Curie IMU Shock Detect - Определение удара
- Curie IMU Step Count - Счетчик шагов
- Curie IMU Tap Detect - Определение двойного нажатия
Библиотека Curie Timer One
- Curie Timer One Interrupt – Устанавливает таймер и запускает прерывание
- Curie Timer One PWM – Генерация ШИМ-сигнала на цифровом контакте (полное управление всеми параметрами)
Только для Arduino Due
Библиотека Audio
- Simple Audio Player - Простой аудиопроигрыватель
Библиотека Scheduler
- MultipleBlinks – Мигание несколькими светодиодами, выполняемое в их собственных loop-функциях.
Только для Arduino Due, Zero и MKR1000
Библиотека USBHost
- MouseController – Скетч, демонстрирующий работу функций MouseController
- KeyboardController – Скетч, демонстрирующий работу функций KeyboardController
Только для Arduino Zero и MKR1000
Библиотека Audio Frequency Meter Library
- Simple Audio Frequency Meter - Простой измеритель звуковой частоты
Библиотека AudioZero
- Simple Audio Player Zero - Простой аудиопроигрыватель для Arduino Zero
Библиотеки 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
- PS2Keyboard International - Работа с разными клавиатурными раскладками
- PS2Keyboard Simple Test - Отображение символов, введенных на клавиатуре
Библиотека SimpleMessageSystem
- SimpleMessageSystem example 1 - Управление функциями Arduino при помощи сообщений
Библиотека SSerial2Mobile
- SSerial2Mobile Example1 - Отправка SMS и имейлов
Библиотека 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
- Demo Sketch - Демо-скетч библиотеки CapacitiveSensor
- Threshold - Установление порога для запуска события
Библиотека Bounce
- Bounce - Устранение дребезга при нажатии на кнопку (вариант с одной кнопкой)
- Bounce2Buttons - Устранение дребезга при нажатии на кнопку (вариант с двумя кнопками)
- Change - Определение перехода из HIGH в LOW
- Duration - Определение продолжительности нажатия на кнопку
- Retrigger - Перезапуск события
Библиотека GLCD
- BigNums - Использование текстовых областей
- clockFace - Аналоговые часы
- GLCDdemo - Пример работы нескольких графических функций
- GLCDdiags - Тест памяти и интерфейса GLCD-модуля
- HelloWorld - «Привет, мир!»
- ks0108example - Пример работы нескольких графических функций (версия для ks0108)
- life - Игра «Жизнь»
- Rocket - Игра «Ракета»
- Serial2GLCD - Показ символов, введенных через монитор порта
- GLCD BigDemo - Большое демо
Библиотека LedControl
- Demo for a Led matrix - Управление матрицей светодиодов
- Demo for a 7-segment display - Управление 7-сегментным дисплеем
- Demo for driving more than one MAX72XX - Управление двумя и более MAX72xx
Библиотека LedDisplay
- LedDisplay fade - Печать функцией print() и изменение яркости дисплея
- LedDisplay print - Печать функцией print()
- LedDisplay printAnalog - Печать аналоговых данных
- LedDisplay scroll - Перемещение строки влево/вправо
- LedDisplay scroll multiple - Печать на трех LED-дисплеях
- LedDisplay scroll serial - Печать данных из последовательного порта
- LedDisplay writeCharacters - Печать функцией write()
Библиотека Matrix
- hello matrix - Приветственный смайлик
- sprite animation - Спрайтовая анимация
Библиотека PCD8544
- pcdtest - Тестовый скетч для библиотеки 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
Библиотека TLC5940
- BasicAnimations - Базовые анимации
- BasicUse - Базовое использование
- CircularLightBuffer - Анимированный «значок загрузки» из светодиодов
- FadeScope - Простой осциллограф
- Fades - Затухание светодиодов
- Servos - Сервомотор
- UsingProgmem - Использование PROGMEM
Библиотека 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
- FlashLedFlexiTimer2 - Периодическое включение и выключение светодиода (для FlexiTimer2)
Библиотека PString
- test pstring - Тестовый скетч для класса PString
Библиотека Streaming
- streaming example - Пример для библиотеки 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.