Читаем Программируем Arduino. Основы работы со скетчами полностью

Используется для представления кодов символов 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

tone

tone(8, 440, 1000);

Генерирует на контакте 8 серию импульсов с частотой 440 Гц продолжительностью 1000 мс

noTone

noTone;

Прерывает любые серии импульсов, запущенные вызовом tone

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

analogRead

int r;

r = analogRead(0);

Присваивает переменной r значение в диапазоне от 0 до 1023. Значение 0 соответствует напряжению 0 В на контакте 0, а значение 1023 — напряжению 5 В (или 3,3 В, если для питания платы используется напряжение 3,3 В)

analogWrite

analogWrite(9, 127);

Выводит широтно-импульсный сигнал. Протяженность положительного импульса может изменяться в диапазоне от 0 до 255, где число 255 соответствует 100%. Этой функции можно передавать номера контактов, обозначенных на плате как PWM (контакты 3, 5, 6, 9, 10 и 11)

Команды для работы со временем

millis

unsigned long l;

l = millis;

Переменные типа long в Arduino хранят 32-битные значения. Значение, возвращаемое функцией millis, — это число миллисекунд, прошедших с момента последнего сброса платы. Примерно через 50 дней значение обнуляется и счет начинается заново

micros

long l;

l = micros;

Действует подобно millis, но возвращает число микросекунд, прошедших с момента последнего сброса платы. Значение обнуляется примерно через 70 минут

delay

delay(1000);

Приостанавливает работу скетча на 1000 мс, или на 1 с

delayMicroseconds

delayMicroseconds(10000)

Приостанавливает работу скетча на 10 000 мкс. Обратите внимание: минимальная задержка составляет 3 мкс, максимальная — около 16 мс

Прерывания (глава 3)

attachInterrupt

attachInterrupt(1, myFunction, RISING);

Устанавливает функцию myFunction, как обработчик положительного фронта прерывания 1 (контакт D3 в UNO)

detachInterrupt

detachInterrupt(1);

Запрещает обработку сигналов от прерывания 1

Полный перечень всех команд Arduino вы найдете в официальной документации на сайте Arduino: http://arduino.cc6.

В заключение

Из-за ограниченного объема книги в этой главе было дано очень краткое введение в мир Arduino. Более подробную информацию об основах вы найдете на многочисленных онлайн-ресурсах, включая бесплатные руководства по Arduino на сайте http://www.learn.adafruit.com.

В следующей главе мы заглянем под капот Arduino и посмотрим, как действует эта плата и что происходит у нее внутри, используя для этого удобную среду программирования Arduino.

2 Монк С. Программируем Arduino. Основы работы со скетчами. — СПб.: Питер, 2015. — Примеч. пер.

3 Существует замечательный сайт об Arduino на русском языке:— Примеч. пер.

4 В новых версиях Arduino IDE этот пункт называется Arduino/Genuino Uno. — Примеч. пер.

5 В русифицированной версии формат сообщений не всегда совпадает с форматом англоязычных сообщений. — Примеч. пер.

6 Аналогичный справочник с описанием команд на русском языке можно найти по адресу— Примеч. пер.

2. Под капотом

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

А. Алексашин , Дэвид Томас , Эндрю Хант

Программирование / Книги по IT