Получите бесплатно 4 курса для лёгкого старта работы в IT
Получить бесплатно
Главная БлогЯзык программирования Ардуино: что собой представляет
Как создать приложение для iOS

Язык программирования Ардуино: что собой представляет

Дата публикации: 07.04.2022
18 512
Время чтения: 16 минут
Дата обновления: 18.09.2023
В статье рассказывается:
В статье рассказывается: 
  1. Какой язык программирования на Ардуино
  2. Другие языки программирования, подходящие для Ардуино
  3. Команды языка программирования Ардуино С++
  4. Пример простой программы на Ардуино
  5. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.
    Бесплатно от Geekbrains

Язык программирования Ардуино – прикладной язык. Используется для работы с микроконтроллерами. Это яркий пример того, как код может быть воплощен не просто в какую-то потенциальную программу, а в действие в прямом смысле этого слова. Всё, что вы запрограммируете, будет двигаться, выполняя определенные функции.

Основой для Ардуино является язык C/C++, однако для работы с микроконтроллерами используются и другие. О том, что собой представляет эта интересная среда разработки, вы узнаете из нашего материала.

Какой язык программирования на Ардуино

Стать хорошим специалистом в сфере IT бывает непросто из-за трудности с первоначальным выбором конкретного направления деятельности. Речь о многообразии современных технологий, и о том, что приходится определяться, к чему сильнее ваш интерес, к «железу» или всё-таки к программному обеспечению.

Вам хотелось бы создавать уникальные по внешнему виду и возможностям устройства, или контролировать их функционал, процессы обработки данных, быстродействие? Чтобы стать специалистом по Ардуино, не нужно быть ни виртуозным разработчиком, ни опытным «технарём».

Ардуино, как язык программирования, предназначен для непрофессионального использования в роботостроении и для создания простейших автоматических систем управления. Спектр задач, которые будет способно выполнять готовое устройство, определяется набором входящих в его состав плат.

Какой язык программирования на Ардуино
Какой язык программирования на Ардуино

Самый простой пример – автоматическая кормушка для домашних питомцев из подобных плат, а вообще с вариантами их применения можно фантазировать до бесконечности.

Говоря прямо, микроконтроллер сам по себе «глуп». Он не наделен способностями мыслить или импровизировать, действует строго по инструкциям, для написания которых как раз и используется язык программирования со строгим синтаксисом и нормами оформления. Это упрощает работу и программистов, и тех, кто будет устранять возможные синтаксические ошибки, из-за которых нарушается компиляция кода, либо прошитое им устройство начинает работать некорректно.

Бинарный машинный код, по виду представляющий собой беспорядочный набор цифр и букв, загружается в созданный микроконтроллер. Код этот может создаваться с помощью разных языков программирования, что определяется с учетом среды разработки и интерпретатора.

На каком языке программирования работает Ардуино? На давно заработавшем себе популярность С++, который на сегодняшний день один из самых мощных (официальная среда разработки — Arduino IDE). Используемому новому языку разработчики дали название Arduino Wiring, потому что в стандартную библиотеку Arduino.h включен инструментарий и функционал из фреймворка Wiring. Что касается синтаксиса, то он берется именно из языка С++, поэтому если берётесь за язык программирования Ардуино с нуля, то придется изучить не только стандартные функции, но ещё какие-то справочники по С++.

Узнай, какие ИТ - профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

pdf иконка

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

pdf 3,7mb
doc 1,7mb
Уже скачали 31987 pdf иконка

Именно в них вы почерпнете кучу полезных сведений о языке, а конкретно — о его синтаксисе (а не о функционале Wiring). Даже в специальных уроках по Ардуино не найдётся столько ценной информации.

Другие языки программирования, подходящие для Ардуино

Какие ещё языки программирования используются в Ардуино? Есть среды разработки, в которых можно задействовать JavaScript (для него среда — Espruino WEB IDE), либо Basic (среда — B4R). А в XOD программы пишутся с помощью специальных блоков.

Ardublock

По сути, Ardublock – детский язык, представляющий собой адаптированный Scratch. Всё, что тут есть – подстроено под вашу платформу (блоки разных цветов, названия на русском языке, конструктор, упрощённые блоки). Данной адаптацией может пользоваться кто угодно, не имея вообще никаких представлений о программировании. В Logo, например, вы задаёте движение для виртуальной черепашки по виртуальной плоскости. Так и здесь можно показать ребенку, каким образом интерпретируются те либо иные действия в программе.

Для стандартной среды Arduino IDE потребуется установка плагина. Выбирайте версии примерно конца 2013 года, потому что более поздние – гораздо сложнее. Как устанавливать? Скачать файл, переименовать его на «ardublock-all» и положить в папку «Мои документы/Arduino/tools/ArduBlockTool/tool». Если изначально такой нет, значит нужно создать.

Snap!

Тут уже есть возможности использования функций, списков, имеются дополнительные блоки, которые отсутствуют в Ardublock. В общем, по своему функционалу уже более «взрослый» язык программирования для использования в Ардуино, хотя по сути – это всё тот же конструктор.

Чтобы его задействовать, придется дополнить свою операционку необходимыми компонентами (скачать на snap4arduino.org). Как устанавливать и пользоваться – смотрите на этом же сайте, там же есть и видеопримеры.

Snap! подходит для младшей возрастной группы, либо тех, кто обучался программированию, но успел многое подзабыть. Либо если вам хочется вовлечь ребенка в ITсферу посредством знакомства с Scratch и Snap!.

Python

Ардуино работает на любом языке программирования, формально – даже на Piet можно скомпилировать любые операции в машинный код.

Дарим скидку от 60%
на курсы от GeekBrains до 01 декабря
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку

Однако всё-таки Python лучше сбалансирован с точки зрения сложности и возможностей, недаром он считается одним из самых популярных языков. И, разумеется, он применяется в Arduino.

Что для этого нужно? Собственно, vPython и библиотеки PySerial (может они у вас уже есть, и вы применяли их для взаимодействия с портами компьютера).

Go и другие языки

Посредством библиотеки PySerial Аурдино может общаться не только с Python, но вообще с чем угодно, в частности, с Go, Java, HTML и проч. Платформа Arduino пользуется большой популярностью, и необходимость выбирать язык вряд ли остановит тех, кто хочет ею пользоваться. И уж если у вас в руках оказалась эта небольшая плата, придумайте с ней действительно нечто интересное. А инструментария для этого — предостаточно.

Команды языка программирования Ардуино С++

В состав языка входят операторы, данные, функции и библиотеки.

Язык Пример Описание
Операторы
setup() void setup()
{
pinMode(3, INPUT);
}
Функция идентифицирует переменные, задает выводам на плате режим работы и т.д. Функция запускается в работу один раз, всегда, когда на микроконтроллер подается питание.
loop() void loop()
{
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(3, LOW);
delay(1000);
}
Функция loop – циклическая, по её управлением программа в нужный момент совершает вычисления и выдает на них запрограммированную реакцию. Наличие функций setup() и loop() в каждом скетче обязательно, даже если они вообще нигде не задействованы в программе.
Операторы управления
if
if (x > 100) digitalWrite(3, HIGH);
if (x < 100) digitalWrite(3, LOW);
Это оператор if применяется вместе с операторами сравнения и проверяет, является ли указанное условие истинным. В примере: если значение переменной х больше 100, то на выходе 13 срабатывает светодиод, а если это значение меньше – то светодиод гаснет.
if..else
if (x > 100) digitalWrite(3, HIGH);
else digitalWrite(3, LOW);
Данный оператор запускает проверку, отличную от той, которую делает оператор if. Это нужно для того, чтобы не выполнять повторяющиеся взаимоисключающие проверки. Если по результату одной из проверок не получилась ИСТИНА, то выполняются действия, прописанные в блоке else.
switch…case
switch (x)
{
case 1: digitalWrite(3, HIGH);
case 2: digitalWrite(3, LOW);
case 3: break;
default: digitalWrite(4, HIGH);
}
Оператор switch работает по аналогии с if, то есть задает порядок действий при выполнении того или иного условия. Break – команда выхода из оператора switch. А в default прописываются действия на случай, если ни одна из альтернатив не окажется выбранной.
for void setup()
{
pinMode(3, OUTPUT);
}
void loop()
{
for (int i=0; i <= 255; i++){
analogWrite(3, i);
delay(10);
}
}
for запускает повторения операций, описанных внутри фигурных скобок. Это может, например, быть плавное угасание затемнение светодиода. В заголовке цикла for имеется три раздела: for (initialization; condition; increment). 

Initialization запускается на выполнение один раз. Затем идет проверка условия condition. Если оно выполняется, то запускается приращение increment. Все эти действия повторяются до тех пор, пока condition не станет ложным.

while void loop()
{
while (x < 10)
{
x = x + 1;
Serial.println(x);
delay(200);
}
}
while запускает цикличное выполнение определенных операций до тех пор, пока остается истинным условие, указанное внутри круглых скобок. В приведенном примере заданные действия будут выполняться циклично бессчетное количество раз всё время, пока переменная х меньше десяти.
do…while void loop()
{
do
{
x = x + 1;
delay(100);
Serial.println(x);
}
while (x < 10);
delay(900);
}
По принципу работы do…while схож с предыдущим. С той лишь разницей, что если условие, описанное в круглых скобках, оказывается выполненным, то осуществляется не выход из цикла, а продолжение его работы. Здесь приведен пример, в котором если х становится больше 10, все равно буде выполняться сложение, но с паузой 1000мс.
break
continue
switch (x)
{
case 1: digitalWrite(3, HIGH);
case 2: digitalWrite(3, LOW);
case 3: break;
case 4: continue;
default: digitalWrite(4, HIGH);
}
Оператор break в принудительном порядке выводит программу из циклов switch, do, for и while, даже если они не закончены. 

Оператор continue выявляет в текущем шаге цикла операторы, оставшиеся невыполненными, и пропускает их.

Синтаксис
;
(точка с запятой)

digitalWrite(3, HIGH);
Точка с запятой ставится в конце оператора. В компиляции произойдет ошибка, если точку с запятой поставить в конце строки случайно.
{}
(фигурные скобки)
void setup()
{
pinMode(3, INPUT);
}
Фигурные скобки ставятся только в паре, то есть, должно быть и открытие “{”  и закрытие “}”. Если стоит лишь одна из скобок, это станет причиной скрытых ошибок.
//
(комментарий)
x = 5; // комментарий Комментарии – это пояснения к программе. Компилятор их не воспринимает, в память они не экспортируются и место там не занимают.
#define #define ledPin 3 Задает имя константе. Это нужно лишь для того, чтобы программа лучше читалась.
#include // библиотека для серво
#include <Servo.h>
С помощью данной директивы становится возможным введение в скетч сторонних библиотек. Важно: после #include и #define точка с запятой не ставится.
Типы данных
boolean boolean val = false; Любая переменная типа boolean занимает в памяти устройства один байт и может принимать значение true либо false.
char // оба значения эквивалентны
char val = ‘A’;
char val = ’65’;
Это обозначение для символьных типов данных. В памяти занимает 1 байт. Символ заключается в одинарные кавычки (‘А’), но в памяти хранятся в виде числовых значений.
byte byte val = 255; Цифровой тип данных для чисел от 0 до 255. Размер одной переменной – один байт.
int int val = 32767; Этим типом данных обозначаются целые числа. Имеются в иду целочисленные 16-битные значения, по величине – от -32768 до 32767.
unsigned int unsigned int val = 65535; Эта переменная предназначена для хранения еще и двухбайтовых значений. Но только не отрицательных, а лишь положительных, зато в большем диапазоне, от 0 до 65535.
float float val = 25.1547; Это переменная которой заименовываются числа с десятичным разделителем. Благодаря числам с плавающей точкой удается точнее (по сравнению с целыми числами) описывать аналоговые величины. Допускается использование дробных чисел, состоящих из 6-7 знаков (не после запятой, а всех вместе).
Только до 25.11
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300

 

Пример простой программы на Ардуино

Процесс реализации проекта с использованием языка программирования Ардуино складывается из 3 основных этапов: написание кода, прототипирование (создание макета), прошивка. Для написания кода и прошивки платы нужна среда разработки.

Привлекает мир кодирования и создания программ? На курсе программиста с нуля до Junior вы освоите основы, познакомитесь с языками и инструментами разработки, и станете готовы к созданию своих первых проектов в IT-индустрии.

Набросок программы, написанный на Ардуино, называется скетчем. Структура кода выглядит так:

main(){

void setup(){

}

void loop(){

}

}

Важный момент: процессор Arduino сам создаёт функцию main() , которая в С++ является обязательной. И вот что видит в итоге разработчик:

void setup(){

}

void loop(){

}

Пример простой программы на Ардуино
Пример простой программы на Ардуино

Обязательная функция setup() используется единожды лишь при запуске микроконтроллера. Она же и задает базовые настройки.

Обязательная функция loop() является циклической. В процессе работы микроконтроллера обращение к ней происходит постоянно.

Принцип работы платформы понятнее выглядит на примере. Пусть это будет два варианта простейшей программы (Blink), которые отличаются лишь сборкой.

int Led = 13; // объявляем переменную Led на 13 пин (выход)

void setup(){

pinMode(Led, OUTPUT); // определяем переменную

}

void loop(){

digitalWrite(Led, HIGH); // подаём напряжение на 13 пин

delay(1000); // ожидаем 1 секунду

digitalWrite(Led, LOW); // не подаём напряжение на 13 пин

delay(1000); // ожидаем 1 секунду

}

Это работает так: светодиод горит в течение 1 секунды, а потом на 1 секунду потухает. Для реализации первого варианта придется собрать макет, потому что в платформе Arduino в 13-м пине есть встроенный светодиод.

Из всего вышесказанного становится ясно, что плата Arduino дает широкие возможности для экспериментов. Причем тут не понадобится ни сложное программирование, ни какие-то серьёзные материальные расходы. Имея представление о том, что такое Ардуино, вы можете решить для себя, хотите ли вы заниматься электроникой, действительно ли это вам интересно.

Главное, как и в любом начинании – сделать первый шаг. И может быть, именно вы станете автором уникального изобретения, которое однажды покорит весь мир!
Оцените статью:
3.67
Добавить комментарий

Сортировать:
По дате публикации
По рейтингу
Читайте также
prev
next
Бесплатные вебинары:
prev
next
Как работает дизайн-студия на примере одного кейса 

Как работает дизайн-студия на примере одного кейса 

Узнать подробнее
Инновационные подходы к обучению информационным технологиям

Инновационные подходы к обучению информационным технологиям

Узнать подробнее
Как стать Python-разработчиком

Как стать Python-разработчиком

Узнать подробнее
Что нужно знать разработчику

Что нужно знать разработчику

Узнать подробнее
Кто такой тестировщик и как им стать

Кто такой тестировщик и как им стать

Узнать подробнее
Чем занимается программист и как им стать

Чем занимается программист и как им стать

Узнать подробнее
Как искусственный интеллект помогает и мешает задачам кибербезопасности

Как искусственный интеллект помогает и мешает задачам кибербезопасности

Узнать подробнее
Бесплатный вебинар про внедрение искусственного интеллекта

Бесплатный вебинар про внедрение искусственного интеллекта

Узнать подробнее
Какие есть профессии в ИТ

Какие есть профессии в ИТ

Узнать подробнее
Смените профессию,
получите новые навыки,
запустите карьеру
Поможем подобрать обучение:
Забрать подарок

Получите подробную стратегию для новичков на 2023 год, как с нуля выйти на доход 200 000 ₽ за 7 месяцев

Подарки от Geekbrains из закрытой базы:
Осталось 17 мест

Поздравляем!
Вы выиграли 4 курса по IT-профессиям.
Дождитесь звонка нашего менеджера для уточнения деталей

Иван Степанин
Иван Степанин печатает ...