Найти в Дзене
В мире ИТ 🌌

Что нужно знать об Arduino начинающим

Многие из тех, кто увлечен информационными технологиями и программным обеспечением в какой-то момент увлекались и аппаратной частью компьютера. Сегодня такой интерес поддерживать все сложнее. В первую очередь мешает риск повредить дорогие детали, многие из которых невозможно в дальнейшем отремонтировать. Но в последние десятилетия появилась возможность реализовать мечты увлеченных техникой. Множество микроконтроллеров, представляющих собой идеальное и доступное средство для экспериментов, особенно для начинающих, заблистали прекрасной перспективой для всех увлеченных техносферой. Одним из самых успешных проектов стал язык Arduino, разработанный в Италии в 2005 году и предназначенный для приобщения к технике нового поколения. Главная цель разработчиков - упростить работу с электроникой. Не нужно иметь инженерное образование или быть экспертом в программировании, чтобы создавать различные проекты с помощью Arduino. Язык прост в использовании и позволяет тысячам людей на практике воплощат
Оглавление

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

Одним из самых успешных проектов стал язык Arduino, разработанный в Италии в 2005 году и предназначенный для приобщения к технике нового поколения. Главная цель разработчиков - упростить работу с электроникой. Не нужно иметь инженерное образование или быть экспертом в программировании, чтобы создавать различные проекты с помощью Arduino. Язык прост в использовании и позволяет тысячам людей на практике воплощать идеи самых разнообразных электронных приспособлений. Написание кода к микроконтроллеру на языке Arduino - достаточно быстрое дело. И в этой заметке подписчики и читатели узнают, каким образом это осуществляется.

Если вы дадите человеку программу, то займете его на один день. Если вы научите человека программировать, то займете его на всю жизнь. Waseem Latif
-2

Что такое Arduino

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

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

  • GSTduino,
  • Freaduino или
  • CraftDuino.

Их базовая структура сходна. Эти платы оснащены разъемами питания, последовательным портом, основной микросхемой и несколькими мелкими деталями, с которыми не нужно работать напрямую. В более современных моделях порт #USB можно использовать как для последовательного подключения, так и для подключения питания.

К плате прилагается набор модулей. Их можно использовать для подключения к Arduino внешних компонентов, экранов или датчиков. Плата расширения похожа на дополнительную плату, которая может обеспечивать управление двигателем, работу #ЖК-дисплеев и аналогичные функции. Используя различные типы датчиков, Arduino может воспроизводить практически всё (движение, звук, давление, свет и т. д.), и действовать согласно заданной программе (например, избегать препятствий во время движения). Платы расширения и #датчики нужно покупать отдельно, но по доступным ценам.

AnalogInput | Arduino 1.0.5
AnalogInput | Arduino 1.0.5

Язык Arduino

С момента появления в 2005 году Arduino, сочетание настраиваемых аппаратных устройств и специализированного программного обеспечения обеспечило успех проекта среди студентов, любителей техники и энтузиастов #DIY. Для технологии характерен открытый исходный код и обширная документация, в совокупности способствующие тому, что первые шаги в робототехнике становятся максимально простыми даже для тех, у кого нет опыта в программировании или инженерии.

Помимо математических способностей, жизненно важным качеством программиста является исключительно хорошее владение родным языком.
Edsger W. Dijkstra
ArduBlock
ArduBlock

Программирование платы: IDE и язык Arduino

Для создания проектов и загрузки их на плату Arduino, потребуется программное обеспечение Arduino (интегрированная среда разработки или IDE). Самый простой вариант — использовать онлайн-платформу Arduino Web Editor. Она позволяет использовать облако для хранения проектов. Получить доступ к облачному хранилищу можно из любого места, при условии наличия стабильного подключения к Интернету. Использование онлайн-версии позволяет не беспокоиться об обновлениях. Если пользователю удобнее работать в офлайн-версии, её можно скачать с официальной страницы.

Остается определиться, какой язык использует Arduino. Многие считают, что C++ и есть язык программирования Arduino. Этот вопрос можно назвать одним из самых часто задаваемых новичками вопросов. У большинства из них нет большого опыта программирования, поэтому требовалось максимально упростить задачу.

Синтаксис и команды языка Arduino подготовлены до появления аппаратного обеспечения. Они были разработаны в 2003 году Эрнандо Барраганом, в период разработки системы Wiring для своей магистерской диссертации. В ходе эксперимента он тестировал языковые концепции разных программ со студентами: полученный язык должен был быть достаточно простым как для художников и дизайнеров, так и для инженеров.

Многие разработчики расходятся во мнениях относительно языка Arduino. Если быть точнее, некоторые утверждают, что это даже не язык. Из-за сходства с C++ некоторые считают его библиотекой. Но при изучении этого языка удобнее придерживаться официальной терминологии разработчиков Arduino, и поэтому на страницах блога "В мире ИТ" речь будет идти именно о языке программирования Arduino.

Программисты — не математики, как бы нам этого ни хотелось.
Richard P. Gabriel
Проекты на Arduino
Проекты на Arduino

Основы языка Arduino

Программы, которые пишутся с помощью Arduino IDE настолько просты, что их называют скетчами. Это текстовые файлы, написанные на языке Arduino. Чтобы сохранить и загрузить их на плату Arduino, нужно использовать расширение *.ino.

Язык Arduino включает три основные части:

  • функции, которые позволяют управлять платой и анализировать символы,
  • математические операции и
  • функции для выполнения других самых разнообразных задач - например, digitalRead() и digitalWrite() позволяют читать или записывать значение на определенном выводе.

Каждый скетч, написанный на языке #Arduino, содержит две функции. Это setUp() и loop(). Скетч всегда начинается с функции setUp(), выполняемой после включения питания или перезагрузки платы. Затем используется loop() для многократного зацикливания программы Arduino до того момента, пока плата не будет выключена или перезагружена.

Также есть значения Arduino, которые представляют собой константы и переменные. Большинство используемых типов данных (array, boolean, char, float и т. д.) аналогичны #C++. Также доступно преобразование типа. Последняя часть языка Arduino называется структурой. Она содержит небольшие фрагменты программного кода Arduino, например, операторы.

Простота — залог надежности.
Edsger W. Dijkstra
Arduino
Arduino

Требования к синтаксису

Cинтаксис языка во многом схож с C++. Прежде всего, это использование фигурных скобок для обертывания блоков кода Arduino. Если не добавить закрывающую фигурную скобку после использования открывающей скобки, система отобразит ошибку. Для удобства Arduino IDE автоматически выделяет закрывающую скобку, если ввести открывающую скобку, так что это довольно легко контролировать. Как и в C++, в Arduino требуется заканчивать строки точкой с запятой. Если не соблюдать это условие, будет отображаться ошибка.

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

// a comment here
# define LED_PIN 5
void setup() {
pinMode(LED_PIN, OUTPUT);

Если строка кода Arduino слишком мала для заметок, можно добавить многострочный комментарий, начинающийся с косой черты и звездочки и заканчивающийся звездочкой и косой чертой:

/* a comment here
a comment there
there are comments everywhere */
# define LED_PIN 5
void setup() {
pinMode(LED_PIN, OUTPUT);

Добавляя комментарии, нужно помнить, что компилятор Arduino их полностью проигнорирует. Он не будет экспортировать их в процессор и не будет использовать память микроконтроллера.

При помощи C вы легко можете выстрелить себе в ногу. При помощи C++ это сделать сложнее, но если это произойдёт, вам оторвёт всю ногу целиком.
Bjarne Stroustrup

Как расширить возможности языка программирования Arduino

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

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

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

Проекты на Arduino
Проекты на Arduino

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

В теории, теория и практика неразделимы. На практике это не так. Yoggi Berra
-8

В мире ИТ от А до Я

-9