Чтение онлайн

ЖАНРЫ

Программируем Arduino. Основы работы со скетчами
Шрифт:

Подключение выполняется добавлением директив #include в начало скетча. Добавить инструкции include для подключения любых библиотек, поставляемых в составе Arduino IDE, можно с помощью пунктов меню Sketch—>Import Library… (Скетч—>Подключить библиотеку).

В состав Arduino IDE входит большая коллекция официальных библиотек, в том числе:

• EEPROM — для сохранения данных в электрически стираемую программируемую постоянную память (ЭСППЗУ) (Electrically Erasable Programmable Read-Only Memory);

• Ethernet — для реализации сетевых взаимодействий;

• Firmata —

стандартная библиотека для реализации взаимодействий через последовательный порт;

• LiquidCrystal — для работы с алфавитно-цифровыми жидкокристаллическими дисплеями;

• SD — для чтения и записи данных на карты флеш-памяти;

• Servo — для управления сервоприводами;

• SPI — для реализации взаимодействий по шине последовательного периферийного интерфейса;

• Software Serial — для реализации взаимодействий по последовательным линиям с использованием любых цифровых выходов;

• Stepper — для управления шаговыми электромоторами;

• WiFi — для доступа к беспроводной сети WiFi;

• Wire — для реализации взаимодействий с периферией по протоколу I2C.

Некоторые библиотеки предназначены для конкретных моделей плат Arduino:

• Keyboard — позволяет платам Arduino имитировать USB-клавиатуру (Leonardo, Due и Micro);

• Mouse — позволяет платам Arduino имитировать USB-мышь (Leonardo, Due и Micro);

• Audio — утилиты для проигрывания звука (только Due);

• Scheduler — для управления выполнением нескольких потоков (только Due);

• USBHost — для подключения USB-периферии (только Due).

Наконец, существует огромное число библиотек, написанных другими пользователями Arduino, которые можно загрузить из Интернета. Далее перечислены некоторые из них, пользующиеся особой популярностью:

• OneWire — для чтения данных из цифровых устройств с интерфейсом 1-wire, выпускаемых компанией Dallas Semiconductor;

• Xbee — для реализации беспроводных взаимодействий;

• GFX — графическая библиотека для работы с разными дисплеями, выпускаемыми компанией Adafruit;

• Capacitive Sensing — для работы с емкостными датчиками;

• FFT — библиотека частотного анализа.

Новые библиотеки появляются постоянно, и их можно найти на официальном сайте Arduino или с помощью поисковых систем.

Если вам понадобится использовать одну из сторонних библиотек, ее нужно установить, загрузив и сохранив в папку Libraries, находящуюся в папке Arduino (в папке Documents (Документы)). Обратите внимание на то, что в случае отсутствия папки Libraries ее сначала нужно создать и только потом добавлять в нее библиотеки.

Чтобы среда разработки Arduino IDE обнаружила вновь установленную библиотеку, ее нужно перезапустить.

Типы данных в Arduino

Для переменных типа int в Arduino C отводится 2 байта памяти. Если только скетч не предъявляет особых требований к экономии памяти, значения int используются практически для любых видов информации, даже для логических значений и маленьких целых

чисел, которые можно было бы хранить в однобайтовом значении.

Полный список доступных типов данных приводится в табл. 1.1.

Таблица 1.1. Типы данных в Arduino C

Тип

Занимаемая память, байт

Диапазон значений

Примечания

boolean

1

true или false (1 или 0)

Используется для представления логических значений

char

1

–128…+128

Используется для представления кодов символов ASCII, например, A имеет код 65. Отрицательные значения обычно не используются

byte

1

0…255

Часто используется как элементарная единица данных при обмене через последовательные интерфейсы. Подробнее об этом рассказывается в главе 9

int

2

–32 768…+32 767

Целые 16-битные значения со знаком

unsigned int

2

0…65 535

Используется для увеличения точности в расчетах, где не используются отрицательные числа. Применяйте с осторожностью, так как при использовании в выражениях совместно со значениями типа int могут получаться неожиданные результаты

long

4

–2 147 483 648…+ 2 147 483 647

Требуется только для представления очень больших чисел

unsigned long

4

0…4 294 967 295

См. описание типа unsigned int

float

4

–3,4028235E+38…+3,4028235E+38

Используется для представления вещественных чисел

double

4

Как для типа float

Этот тип должен был бы занимать 8 байт и иметь более широкий диапазон и более высокую точность по сравнению с типом float. Но в Arduino тип double является полным аналогом типа float

Команды Arduino

В библиотеке Arduino доступно большое число команд. В табл. 1.2 перечислены наиболее часто используемые из них вместе с примерами.

Таблица 1.2. Функции из библиотеки Arduino

Команда

Пример

Описание

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

pinMode

pinMode(8, OUTPUT);

Переводит контакт 8 в режим работы цифрового выхода. Поддерживаются также режимы INPUT и INPUT_PULLUP

digitalWrite

digitalWrite(8, HIGH);

Устанавливает высокий уровень напряжения на контакте 8. Чтобы установить низкий уровень напряжения, используйте константу LOW вместо HIGH

digitalRead

int i;

i = digitalRead(8);

Присваивает переменной i значение HIGH или LOW в зависимости от уровня напряжения на указанном контакте (в данном случае — на контакте 8)

pulseIn

i = pulseIn(8, HIGH);

Возвращает продолжительность в микросекундах следующего импульса с напряжением HIGH на контакте 8

Поделиться с друзьями: