Arduino: отличное введение в программирование
Традиционно кривая обучения программированию была довольно крутой. Не только синтаксис является чужеродным, но и логика программирования может занять некоторое время. Для многих это разочаровывающий опыт.
Хорошая новость в том, что код Arduino прощает ошибок. По-прежнему есть кривая обучения, но это определенно проще, чем пытаться написать код для своего первого мобильного приложения или игры.
Программирование на Arduino возможно на любом языке, но лучше всего начать с Arduino IDE (интегрированной среды разработки). Вы найдете его версии для Windows, macOS, Linux и других платформ. IDE поддерживает C и C ++ и включает библиотеки для различных аппаратных компонентов, таких как светодиоды и переключатели. Когда программа, известная как «эскиз», завершена, она загружается на плату Arduino через USB-кабель. Здесь его можно запустить и он останется в памяти до замены.
Конечно, программирование для Arduino не идеально. Во-первых, снисходительный характер кода Arduino означает, что легко писать небрежный код и развивать вредные привычки. Вы легко можете не понять, что на самом деле означает этот код.
Программирование Arduino также является относительно простым, поэтому вы, вероятно, не изучите с его помощью сложные методы кодирования.
Но если вы ищете способ постичь абсолютные основы программирования, Arduino отлично подойдет.
Если идея кодирования вас пугает, вы можете изучить и другие языки, совместимые с Arduino, помимо официального. Например, Scratch 4 Arduino – это визуальная альтернатива, более понятная для новичков. Вы изучите концепции кодирования, не беспокоясь о синтаксисе.
Немного поигравшись с кодом Arduino, вы можете понять, что он вам действительно нравится.
Выбор порта подключения платы Arduino
Также перед началом работы в Arduino IDE необходимо выбрать правильный последовательный (COM) порт, к которому подключена плата Arduino. Иначе вы не сможете загрузить код программы в плату. Для выбора номера порта откройте пункт меню “Tools” -> “Port” и в нем выберите правильный COM порт, к которому подключена плата. Если в этом пункте меню вы видите несколько COM портов и вы не знаете какой из них выбрать, отключите плату Arduino от USB порта и заново откройте этот пункт меню. COM порт, который при этом исчезнет из данного пункта меню, и будет правильным COM портом. Заново подключите плату к USB порту и выберите правильный COM порт.
Также, чтобы не отключать плату Arduino от USB порта, можно посмотреть COM порт, к которому она подключена, в диспетчере устройств операционной системы Windows.
цифровая электроника вычислительная техника встраиваемые системы
Диммер своими руками на основе Arduino и триака
В домах большинство приборов питаются от источника переменного тока, например, светильники, телевизоры, вентиляторы и т. д. Мы можем включать / выключать их в цифровом виде, если это необходимо, используя Arduino и реле, создав систему домашней автоматизации. Но что, если нам нужно контролировать мощность этих устройств, например, чтобы уменьшить яркость лампы переменного тока или контролировать скорость вентилятора. В этом случае мы должны использовать технику контроля фазы и статические переключатели, такие как триак или тиристор, для контроля фазы напряжения питания переменного тока.
Итак, в этом примере мы рассмотрим, как сделать диммер лампы переменного тока, используя Arduino и триак. Здесь триак используется для коммутации лампы переменного тока, так как это силовое электронное устройство быстрого переключения, которое лучше всего подходит для этих применений.
Чтобы управлять напряжением переменного тока, первое, что мы должны сделать, это обнаружить пересечение нуля сигнала переменного тока. Частота сигнала переменного тока составляет 50 Гц и как бы чередуется синусоидальным образом. Следовательно, каждый раз, когда сигнал поступает в нулевую точку, мы должны обнаружить эту точку и после этого запустить триак в соответствии с требованиями по мощности. Нулевая точка пересечения сигнала переменного тока показана ниже.
Здесь в качестве триака мы будем использовать BT136.
Он представляет собой трехвыводной переключатель переменного тока, который может запускаться сигналом низкой энергии на его выводе затвора.
Как показано на рисунке выше, триак включается при угле 90 градусов при подаче на него небольшого сигнала импульса затвора. Время «t1» – это время задержки, которое мы должны дать согласно нашему требованию по уменьшению яркости. Например, в этом случае, поскольку угол составляет 90 градусов, следовательно, выходная мощность также будет уменьшена вдвое, и, следовательно, лампа также будет светиться с половиной интенсивности.
Мы знаем, что частота переменного сигнала здесь составляет 50 Гц. Таким образом, период времени будет 1/f, который будет 20 мс., поэтому для полупериода это будет 10 мс или 10000 микросекунд. Следовательно, для управления мощностью нашей лампы переменного тока диапазон «t1» может варьироваться от 0 до 10000 микросекунд.
Для управления триаком с целью развязки информационной части от силовой части следует использовать изолятор, например, оптопару.
Оптопара или оптрон используется для поддержания изоляции между двумя электрическими цепями, такими как сигналы постоянного и переменного тока. По сути, он состоит из светодиода, излучающего инфракрасный свет, и фотодатчика, который его обнаруживает. Здесь мы используем оптопару MOC3021 для управления лампой переменного тока от сигналов микроконтроллера. Принципиальная схема диммера переменного тока приведена далее.
На следующем рисунке представлена схема подключения триака и оптопары.
На макетной плате это будет выглядеть следующим образом.
Мы также припаяли оптопару MCT2E на отдельной плате для подключения ее к трансформатору для питания от сети переменного тока.
И полная схема диммера на основе Arduino будет выглядеть примерно так.
После успешного завершения сборки аппаратной части, пришло время программировать Arduino. Код программы диммера на Arduino следующий.
Ниже приведены фотографии, показывающие три стадии регулирования яркости лампы переменного тока с использованием Arduino и триака.
Для чего нужно Arduino
Ардуино создавалось для обучения студентов и школьников электротехнике, программированию, радиоэлектронике, системам автоматизации. С помощью микроконтроллеров можно делать не только учебные проекты, но и действительно полезные устройства. На Arduino создаются проекты автоматизации, устройства умного дома, портативные метеостанции, роботизированные манипуляторы и множество других полезных устройств.
Первоначальная цель Ардуино — это обучение. Детям гораздо интереснее учиться, если они могут сразу применять новые знания на практике, да еще и увидеть и потрогать плоды своих трудов. Гораздо интереснее обучаться экспериментируя, а не слушая сухую теорию.
Arduino API
Visit the Arduino Language Reference to explore the full Arduino API.
The Arduino API, aka the «Arduino Programming Language», consists of several functions, variables and structures based on the C/C++ language.
Main Parts
The Arduino API can be divided into three main parts: functions, variables and structure:
- Functions: for controlling the Arduino board and performing computations. For example, to read or write a state to a digital pin, map a value or use serial communication.
- Variables: the Arduino constants, data types and conversions. E.g. , , .
-
Structure: the elements of the Arduino (C++) code, such as
- sketch (, )
- control structure (, , , )
- arithmetic operators (multiplication, addition, subtraction)
- comparison operators, such as (equal to), (not equal to), (greater than).
The Arduino API can be described as a simplification of the C++ programming language, with a lot of additions for controlling the Arduino hardware.
Program Structure
The absolute minimum requirement of an Arduino program is the use of two functions:
- — this function executes only once, when the Arduino is powered on. Here we define things such as the mode of a pin (input or output), the baud rate of serial communication or the initialization of a library.
- — this is where we write the code that we want to execute over and over again, such as turning on/off a lamp based on an input, or to conduct a sensor reading every X second.
The above functions are always required in an Arduino sketch, but you are of course able to add several more functions, which is useful for longer programs.
The «Sketch»
In the Arduino project, a program is referred to as a «sketch». A sketch is a file that you write your program inside. It has the
The folder can include other files, such as a header file, that can be included in your sketch.
Below is an example of a standard Arduino sketch, which contains some popular Arduino programming elements.
Copy
Libraries
Arduino libraries are an extension of the standard Arduino API, and consists of thousands of libraries, both official and contributed by the community.
Libraries simplifies the use of otherwise complex code, such as reading a specific sensor, controlling a motor or connecting to the Internet. Instead of having to write all of this code yourself, you can just install a library, include it at the top of your code, and use any of the available functionalities of it. All Arduino libraries are open source and free to use by anyone.
To use a library, you need to include it at the top of your code, as the example below:
Copy
Most libraries also have a set of examples that are useful to get started with the library.
You can browse through all official and contributed libraries in the Arduino Libraries page.
Core Specific API
Every Arduino board requires a «core», or «package», that needs to be installed in order to program it. All packages contain the standard Arduino API, but also a specific API that can only be used with specific boards.
For example, the classic ArduinoCore-avr package, automatically includes the EEPROM, and SoftwareSerial libraries, and can be used freely without any additional installation. In this package you will find the classic Arduino UNO, Nano, Mega2560 and more.
Another example is the ArduinoCore-mbed package, which includes over 40 libraries, designed for specific board features, such as:
- PDM — used for sampling audio from microphones found onboard the Nano 33 BLE Sense and Nano RP2040 Connect.
- Ethernet — for using the Ethernet functionalities of the Portenta Vision Shield.
- GSM — to access GSM functionalities on the Portenta Cat. M1/NB IoT GNSS Shield.
These features are documented in the documentation landing page of each product. A list of all hardware can be found at docs.arduino.cc.
Из чего состоит
На аппаратном уровне это серия смонтированных плат, мозгом которых являются микроконтроллеры семейства AVR. Платы имеют на борту всё необходимое для комфортной работы, но их функциональности часто бывает недостаточно. Чтобы сделать свой проект более интерактивным, можно использовать различные модули и платы расширений, совместимые с платформой Arduino. Сюда входят датчики (температуры, освещения, влаги, газа/дыма, атмосферного давления), устройства ввода (клавиатуры, джойстики, сенсорные панели) и вывода (сегментные индикаторы, LCD/TFT дисплеи, светодиодные матрицы).
Как обозначаются конденсаторы на схеме.
Читать далее
Как отличается параллельное и последовательное соединение резисторов.
Читать далее
Масляные трансформаторы – что это такое, устройство и принцип работы.
Читать далее
На программном уровне платформа Arduino представляет собой бесплатную среду разработки Arduino IDE. Микроконтроллеры надо программировать на языке C++, с некоторыми отличиями и облегчениями, созданными для быстрой адаптации начинающих. Компиляцию программного кода и прошивку микроконтроллера среда разработки берёт на себя. Существует также — сервис, базирующийся на Scratch, позволяющий более наглядно вести разработку на Arduino. Он подойдёт для обучения детей, а также если вы разово хотите создать простое устройство без изучения языка программирования Arduino и различных документаций. Для остальных же случаев лучше придерживаться традиционного процесса разработки.
Дополнительные устройства для Arduino
Безусловно, Arduino сама по себе уже прекрасна. Но как отдельный узел она на многое не способна. Что-то надо к ней подключать. На просторах интернета огромное количество туториалов и проектов, из которых вы можете черпать идеи для своих проектов. В этой части мы сделаем небольшой обзор датчиков и шилдов (плат расширений) для Arduino.
Датчики (сенсоры)
С помощью коротенького кода и Arduino вы можете управлять широчайшим спектром датчиков — сенсоров, которые позволяют измерять уровень освещенности, температуру, давление, расстояние, силу, влажность, радиоактивность, ускорение и многое другое. На рисунке ниже приведены несколько из огромного количества датчиков, совместимых с Arduino:
Шилды (Shields) для Arduino
Помимо всего прочего, есть такая замечательная вещь как шилды — по сути это отдельная электросхема, которая имеет коннекторы и садится на вашу плату Arduino и обеспечивает упрощенное управление двигателями (Motor шилд), подключение к интернету (Ethernet шилд), радиосвязь, управление жидкокристаллическими и сенсорными экранами и т.д.
Некоторые из шилдов показаны на рисунке ниже:
Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!
Платы Arduino
Многие устройства для начинающих на основе Arduino не требуют серьезных знаний в технике или программировании.
Arduino называют аппаратно-программной платформой. Она изначально создана компанией Arduino Software и представляет собой плату с контактами для подключения дополнительных компонентов.
Одна из плат, Arduino Uno, в руке выглядит вот так:
Плата Arduino Uno в руке
Для сравнения — вот такой размер другой платы Ардуино, которая называется Nano:
Плата Arduino Nano в руке
Ниже на фото я привел пример того как выглядит простое собранное устройство на основе платы Уно:
На фото сразу можно заметить главное достоинство платы — нам не нужно было ничего припаивать и мы использовали минимум комплектующих. Таким же образом можно собрать множество интереснейших устройств.
Технические характеристики зависят от модели используемого микроконтроллера, а с внешним видом двух самых популярных моделей вы уже познакомились — это Arduino Uno и Nano.
Что такое Arduino?
Ардуино (Arduino) — специальный инструмент, позволяющий проектировать электронные устройства, имеющие более тесное взаимодействие с физической средой в сравнении с теми же ПК, фактически не выходящими за пределы виртуальной реальности.
В основе платформы лежит открытый код, а само устройство построено на печатной плате с «вшитым» в ней программным обеспечением.
Другими словами, Ардуино — небольшое устройство, обеспечивающее управление различными датчиками, системами освещения, принятия и передачи данных.
В состав Arduino входит микроконтроллер, представляющий собой собранный на одной схеме микропроцессор. Его особенность — способность выполнять простые задачи. В зависимости от модели устройство Ардуино может комплектоваться микроконтроллерами различных типов.
Существует несколько моделей плат, самые распространённые из них – UNO, Mega 2560 R3.
Не менее важная особенность печатной платы заключается в наличии 22 выводов, которые расположены по периметру изделия. Они бывают аналоговыми и цифровыми.
Особенность последних заключается в управлении с помощью только двух параметров — логической единицы или нуля. Что касается аналогового вывода, между 1 и 0 имеется много мелких участков.
Сегодня Arduino используется при создании электронных систем, способных принимать информацию с различных датчиков (цифровых и аналоговых).
Устройства на Ардуино могут работать в комплексе с ПО на компьютере или самостоятельно.
Что касается плат, их можно собрать своими руками или же приобрести готовое изделие. Программирование Arduino производится на языке Wiring.
ЧИТАЙТЕ ПО ТЕМЕ: Умный дом Xiaomi Smart Home, обзор, комплектация, подключение и настройка своими руками, сценарии.
Как начать работу с Arduino
К настоящему времени вы должны понять, почему изучение Arduino – хорошая идея. От простого языка программирования и простой интеграции с другими компонентами до доступного хобби, более универсального, чем использование Raspberry Pi, – преимущества обучения использованию Arduino очевидны.
Если вы готовы, сейчас самое время прочитать наше руководство для начинающих по Arduino.
Начало работы с Arduino: руководство для начинающих
Arduino – это платформа для создания прототипов электроники с открытым исходным кодом, основанная на гибком, простом в использовании аппаратном и программном обеспечении. Он предназначен для художников, дизайнеров, любителей и всех, кто интересуется созданием интерактивных объектов или сред.
Программирование (эскизы)
Arduino IDE — это инструмент разработчика кросс-платформенных инструментов, написанный на Java. Он позволяет вам контролировать все функции программного обеспечения вашего Arduino.
Каждая программа, которую вы пишете, называется эскизом и скомпилирована и загружена в ваш Arduino с помощью среды IDE.Многие эскизы доступны в Интернете, а IDE даже поставляется с множеством примеров, чтобы вы начали с почти каждой функции, на которую способен Arduino.Eclipse и Notepad ++ являются популярными альтернативами написанию ваших эскизов, но им не хватает доступа к примерам эскиза и компиляции / выгрузки готового эскиза в Arduino.
Аналоговые и цифровые выходы на Ардуино
Для этого занятия нам потребуется:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- макетная плата;
- светодиод;
- резистор 220 Ом;
- провода «папа-папа».
Если вы хотите регулировать выходное напряжение, то следует использовать пины, помеченные символом «~». Для Arduino Uno — это 3, 5, 6, 9, 10, 11. С помощью аналоговых портов можно выдавать любое напряжение 0 до 5 Вольт, а цифровые выходы можно только включать и выключать. Аналоговые порты используют ШИМ (широтно-импульсную модуляцию), по английски PWM (pulse-width modulation), с помощью которой имитируется аналоговый сигнал.
Аналоговые выходы на плате Ардуино имеют, отметку тильда «~»
Чтобы понять разницу между цифровым и аналоговым сигналом, соберите на макетной плате схему из светодиода и резистора, как на первом занятии — Подключение светодиода. Но в этот раз подключите светодиод к аналоговому выходу ~9. Откройте скетч для мигания светодиодом из первого занятия и измените в нем порт выхода с Pin13 на Pin9. Загрузите скетч в плату Arduino NANO или UNO.
На Arduino аналоговый выход будет работать, как цифровой
9 порт может работать, как цифровой выход. Но если функцию digitalWrite изменить на analogWrite, то вместо значения HIGH (1) и LOW (0) можно поставить любое значение от 0 до 255. Именно в этом интервале можно менять напряжение на аналоговых выходах. Загрузите программу для плавного включения и затухания светодиода. Подробное описание работы данной программы даны ниже в пояснении к коду.
Скетч. Аналоговый сигнал Ардуино и светодиод
int svet = 0; // начальная яркость свечения светодиода int fade = 5; // шаг изменения яркости свечения светодиода void setup() { pinMode(9, OUTPUT); // используем Pin9 для операции вывода } void loop() { // устанавливаем яркость светодиода на Pin9 analogWrite(9, svet); // изменяем яркость, прибавляя заданную величину fade в каждом цикле svet = svet + fade; // меняем порядок затухания при минимальной и максимальной яркости if (svet == 0 || svet == 255) { fade = -fade; } delay(20); // устанавливаем паузу для эффекта }
Пояснения к коду:
- Функция , где pin — порт выхода на который подается сигнал, value — значение между 0 (полностью выключено) и 255 (полностью включено), используется для управления яркостью светодиода или скоростью электродвигателя, посредством Широтно-Импульсной Модуляции (ШИМ);
- Переменная имеет начальное значение «0» при каждом выполнении цикла к величине прибавляется заданное значение (в данном скетче fade = 5);
- При достижении переменной максимального значения равного 255, принимает отрицательное значение -5. Теперь при каждом выполнении цикла к величине прибавляется -5, т.е. каждый раз из вычитается .
- Если сопоставить работу скетча с графиком процесса квантования, размещенным на рисунке в начале статьи, то — это шаг квантования, т.е. величина на которую увеличивается подаваемое напряжение, а — это шаг дискретизации, т.е. период времени через который меняется значение .
Отсутствие проектного пространства, разбиения кода и приличной интегрированной среды разработки
Для меня это большая неприятность. Я понимаю, что не следует перегружать новичков переизбытком опций, но среда Arduino IDE выглядит как насмешка над приличной записью кода. Может быть, нужно преклонить колени, чтобы уговорить их сделать цветовое выделение переменных, но для начала хотя бы дайте возможность просмотра их определений. Посмотрите, как это выглядит в Code::Blocks [] на Рисунке 1. Другой момент состоит в том, что весь код необходимо писать в одном «эскизе» (скетче). Если нужно написать серьезную программу с функциями, которые будут использоваться позже, то хорошая практика (или даже похвальная) заключается в создании модульных фрагментов кода. Запись всего в один длинный файл идет в разрез с этой целью и стимулирует написание неструктурированного кода, называемого «макароны», с запутанным порядком выполнения и определениями переменных везде и нигде.
Рисунок 1. | Опция поиска определений переменных и их реализация в среде Code::Blocks. |
Общие соображения, касающиеся того, почему так важны заголовочные файлы, очень хорошо изложены на сайте []. Кроме того, замечательное руководство по модульному программированию в Си (на английском языке) можно найти в (почитайте посты на форуме). Чтобы получить четкое представление о том, как это делается правильно, загляните, пожалуйста, в подробное руководство по заголовочным файлам в Си, выпущенном MIT [] (на английском языке):
«Правильно организованная программа на Си имеет хороший выбор модулей и правильно сконструированные заголовочные файлы, которые упрощают понимание и доступ к функциям модуля. Кроме того, это может гарантировать, что в программе используются одинаковые объявления и определения для всех ее компонентов
Это важно, поскольку в соблюдении Правила Одного Определения компиляторам и компоновщикам нужна помощь»
Написанию модульного кода отлично помогает возможность поиска определений и реализаций файлов. Но Arduino IDE не обеспечивает простых способов создания других Си- и h-файлов, а также не позволяет искать определения в своих собственных файлах кода. (Кто сможет сказать, что на самом деле делает функция «digitalWrite»)? Изучая программирование на Си, пожалуйста, научитесь правильно использовать заголовочные файлы.
ESP32
ESP32
- На плате стоит бортовой USB и CH340 или CP2102 (обычно это указано на странице товара).
- Установка драйверов описана выше на этой странице.
- Arduino IDE/Файл/Настройки/
- В окошко “Дополнительные ссылки…” Вставить
- https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Нажать ОК
- Arduino IDE/Инструменты/Плата/Менеджер плат… Начать вводить в поиске “esp”. Выбрать и установить esp32
- В списке плат Инструменты/Плата/ появится семейство плат на esp32. Выбираем плату согласно купленной модификации
- Выбираем порт, к которому подключена плата
Проекты Arduino для начинающих
Arduino Варианты
Аппаратное обеспечение Arduino «с открытым исходным кодом» означает, что вы можете просматривать схемы каждой доступной платы. Это означает, что вы можете свободно покупать аппаратные компоненты и самостоятельно паять плату, если вы так склонны. Для начала, мы, вероятно, просто рекомендуем потратить $ 30 и посмотреть, сколько вы действительно хотите инвестировать..
Изображение ниже было создано с использованием Fritzing и является макетом для базового Arduino с использованием макета.
Arduino выпускается во множестве различных типов, которые затрудняют выбор правильного, но разнообразие также обеспечивает гибкость в выборе идеального решения..
Мы не можем охватить каждый вариант Arduino, но вот несколько примечательных вариантов для начала.
Arduino Uno
Uno — отличный стартовый Arduino, он обеспечивает прочную основу для тех, кто только начинает работать, и имеет множество вариантов, которые вам понадобятся при изучении платформы. Он также работает практически со всеми доступными щитами (подробнее об этом позже).
Arduino Nano
Nano — почти то же самое, что и Arduino Uno, но он составляет около 1/3 размера и не может легко использовать щиты. Uno предназначен для использования в качестве постоянного приспособления в проектах или с макетами для тестирования.
Ардуино Лилипад
Lilypad имеет уникальный дизайн, который может быть сшит в ткани для носимых проектов или искусства. Конечно, вы не ограничены этими приложениями, но щиты не будут работать на этом Arduino, поэтому расширение может стать трудным.
Arduino Mega 2560
Mega 2560 имеет больше памяти и больше выводов ввода / вывода, чем любой другой Arduino. Это самый большой и лучший Arduino, который вы можете получить, но вам может не понадобиться такая большая мощность, если ваши проекты не требуют этого. Это также будет более дорогой Arduino, чтобы оставить в проекте навсегда.
Netduino
Нетдуино — двоюродный брат Ардуино. Это по-прежнему аппаратное решение для взлома и создания прототипов с открытым исходным кодом. Но Netduino использует .NET Micro Framework для своей программной базы. Он совместим по выводам со щитами Arduino, но для запуска некоторых из них могут потребоваться драйверы.
Присоединяйтесь к команде Arduino против Raspberry Pi
Поскольку Arduino и Raspberry Pi появились примерно в одно время, люди могут подумать, что это одно и то же. По правде говоря, хоть и есть кроссовер, но эти две платы разные.
Arduino – это плата микроконтроллера, а Raspberry Pi – одноплатный компьютер. Arduino должен быть запрограммирован с другого устройства, тогда как Raspberry Pi может запускать операционную систему. Вы можете запрограммировать Arduino с Raspberry Pi, но не наоборот.
Эти различия привели к некоторому разделению сообществ. Что лучше: Arduino или Raspberry Pi?
Чтобы узнать это, вам нужно попробовать их оба. Но вы, вероятно, обнаружите, что если у вас врожденный интерес к электронике и созданию проектов, Arduino решает эту проблему.
Плюсы Ардуино
Самый главный плюс плат Arduino для начинающих, как я уже упомянул выше, — это то, что нам не нужно использовать паяльник и не нужно ничего паять.
На платах Ардуино сделаны удобные контакты, которые можно соединять удобными перемычками с любыми сторонними модулями, дисплеями, сенсорами и многим другим.
Пример сборки устройства с помощью перемычек
Кроме того, чтобы плата заработала всего лишь достаточно подключить её к компьютеру через USB.
Дополнительные плюсы я перечислю ниже, но не пугайтесь, если какие-то термины вы не поймете, со временем вы с ними разберетесь:
- Плата обладает встроенным программатором (не нужен компилятор);
- Использование языка программирования близкого к C/C++, что делает её простой в использовании и изучении;
- Наличие множества библиотек для модулей, сенсоров, дисплеев и т.п., доступных для свободного использования;
- Для сбора устройства не требуется пайка, компоненты соединяются при помощи специальной макетной платы, перемычек и проводов;
- Возможность автономной работы, т.е. использование батареек или аккумуляторов;
- Наличие версии для работы с популярной мобильной операционной системой Android;
- Огромное количество различных модулей, сенсоров, дисплеев, датчиков и т.п..
- Наличие большого количества плат расширения — shields или «шилды».
Есть еще один очень существенный плюс Arduino — просто невероятно огромное сообщество любителей этих плат и любителей посоздавать различные устройства на ее основе своими руками.
Также замечу, что можно создать устройство как стационарным, так и автономным или переносным.
Наличие портативных аккумуляторов и беспроводных источников передачи данных способствуют созданию ряда интересных проектов.