Содержание
- 1 Самые простые проекты для начинающих
- 2 Добавить ваш
- 3 Симулятор Ардуино от PaulWare
- 4 Меню вкладок
- 5 Работа устройства
- 6 Разнородное соединение
- 7 Tinkercad для ардуино
- 8 Circuit Lab
- 9 Структура кода
- 10 После установки
- 11 Скачать программу
- 12 Когда необходимо подобное соединение
- 13 BT Voice Control for Arduino
- 14 Простые проекты Ардуино
- 15 Критерии выбора хорошего биокамина и принцип его работы
- 16 Монитор последовательной связи (Serial Monitor)
- 17 Знакомство с интерфейсом Ардуино
- 18 PSpice
- 19 Из чего состоит программа
- 20 Установка Ardublock
- 21 Открытие доступа к вашим скетчам
- 22 Схемы утепления и их особенности
- 23 Модели Ардуино
- 24 Arduino Web Editor и Платформа Создателей
- 25 Программа Ардуино
- 26 Симулятор или эмулятор Arduino?
Самые простые проекты для начинающих
Приведем примеры нескольких простых самоделок на Ардуино, которые может сделать даже неопытный в конструировании электронных приборов человек:
- Arduino RFID дверной замок. RFID обозначает радиочастотную идентификацию. Каждая RFID-карта имеет уникальный идентификатор, встроенный в нее, и считыватель RFID используется для считывания RFID-карты no. EM-18 RFID-считыватель работает на частоте 125 кГц, поставляется со встроенной антенной и может питаться от источника питания 5 В. Он обеспечивает последовательный выход вместе с выходом Weigand. Диапазон составляет около 8-12 см. Параметры последовательной связи – 9600 бит/с, 8 бит данных, 1 стоповый бит. Эта беспроводная RF-идентификация используется во многих системах.
- Знаменитый Аrduino проект – взаимодействующий датчик наклона с микроконтроллером. Переключатель датчика наклона представляет собой электронное устройство, которое определяет ориентацию объекта и дает свой выход, высокий или низкий, соответственно. В нем есть ртутный шар, который перемещается. Таким образом, датчик наклона может включать или выключать схему, в зависимости от ориентации. В этом проекте мы взаимодействуем с датчиком Mercury/Tilt с Arduino UNO. Мы контролируем светодиод и зуммер в соответствии с выходом датчика наклона. Всякий раз, когда мы наклоняем датчик, будильник включается.
- На Ардуино делается элементарный проект – цифровой вольтметр. С простым знанием цепи Arduino и Voltage Divider Circuit мы можем превратить Arduino в цифровой вольтметр и измерить входное напряжение с помощью Arduino и ЖК-дисплея 16×2. Arduino имеет несколько аналоговых входных контактов, которые соединяются с аналого-цифровым преобразователем (АЦП) внутри Arduino. Arduino ADC – это десятибитовый преобразователь. Это означает, что выходное значение будет находиться в диапазоне от 0 до 1023. Мы получим это значение, используя функцию analogRead. Если вы знаете опорное напряжение, вы можете легко рассчитать текущее напряжение на аналоговом входе. Мы можем использовать схему делителя напряжения для расчета входного напряжения.
Добавить ваш
Симулятор Ардуино от PaulWare
Как следует из названия, этот симулятор Arduino был создан разработчиком по имени Пол. Симулятор с открытым исходным кодом и собрал свою собственную долю фанатов, которые одновременно добавляют свои идеи и создают учебники о том, как использовать симулятор. Этот бесплатный продукт был сделан преимущественно для экосистемы Windows и обеспечивает достаточную поддержку для новичков.
Основными компонентами, которые он обеспечивает для поддержки вашего проекта, являются светодиодный кратковременный выключатель, матричная клавиатура 4 на 4, матричная клавиатура 4 на 4 с ЖК-дисплеем, поворотный переключатель и т.д. YouTube видео предоставит вам достаточно информации для начала использования этого симулятора Arduino.
Для него также предусмотрен специальный раздел на форуме производителя Ардуино, на котором вы можете стать участником, чтобы узнать больше об обновлениях и схемах проектирования.
Меню вкладок
Меню вкладок
Система вкладок в Arduino IDE работает крайне необычным образом и очень отличается от понятия вкладок в других программах:
- Вкладки относятся к одному и тому же проекту, к файлам, находящимся с ним в одной папке
- Вкладки просто разбивают общий код на части, то есть в одной вкладке фигурная скобка { может открыться, а в следующей – закрыться }. При компиляции все вкладки просто объединяются в один текст по порядку слева направо (с левой вкладки до правой). Также это означает, что вкладки должны содержать код, относящийся только к этому проекту, и сделать в одной вкладке void loop() и в другой – нельзя, так как loop() может быть только один
- Вкладки автоматически располагаются в алфавитном порядке, поэтому создаваемая вкладка может оказаться между другими уже существующими. Это означает, что разбивать блоки кода по разным вкладкам (как во втором пункте, { на одной вкладке, } на другой вкладке) – крайне не рекомендуется.
- Также не забываем, что переменная должна быть объявлена до своего вызова, то есть вкладка с объявлением переменной должна быть левее вкладки, где переменная вызывается. Создавая новую вкладку нужно сразу думать, где она появится с таким именем и не будет ли из за этого проблем. Также название вкладок можно начинать с цифр и таким образом точно контролировать их порядок. Во избежание проблем с переменными, все глобальные переменные лучше объявлять в самой первой вкладке.
- Вкладки сохраняются в папке с проектом и имеют расширение .ino, при запуске любой вкладки откроется весь проект со всеми вкладками.
- Помимо “родных” .ino файлов Arduino IDE автоматически подцепляет файлы с расширениями .h (заголовочный файл), .cpp (файл реализации) и .pde (старый формат файлов Arduino IDE). Эти файлы точно так же появляются в виде вкладок, но например заголовочный файл .h не участвует в компиляци до тех пор, пока не будет вручную подключен к проекту при помощи команды include. То есть он висит как вкладка, его можно редактировать, но без подключения он так и останется просто отдельным текстом. В таких файлах обычно содержатся классы или просто отдельные массивы данных.
Работа устройства
Каждый раз, когда мы нажимаем кнопку:
- диод меняет свое состояние
- Arduino отправляет фактическое состояние светодиода Arduino
- веб-страница получает сообщение и перерисовывает изображение диода
Когда мы нажимаем на светодиод на веб-странице:
- веб-страница отправляет сообщение в Arduino
- Arduino изменяет состояние светодиода
- Arduino отправляет сообщение с фактическим состоянием диода
Когда страница обновляется, она запрашивает у Arduino фактическое состояние диода и отображает это состояние в браузере.
В итоговом видео ниже вы можете увидеть, как это работает. Сама веб-страница открывается в трех браузерах, и все они постоянно показывают фактическое состояние светодиода и позволяют включать и выключать его.
Разнородное соединение
Tinkercad для ардуино
Тинкеркад (Tinkercad Circuits Arduino) – бесплатный, удивительно простой и одновременно мощный эмулятор Arduino, с которого можно начинать обучение электронике и робототехнике. Он предоставляет очень удобную среду для написания своих проектов. Не нужно ничего покупать, ничего качать – все доступно онлайн. Единственное, что от вас потребуется – зарегистрироваться.
Что такое Tinkercad?
Tinkercad – это онлайн сервис, который сейчас принадлежит мастодонту мира CAD-систем – компании Autodesk. Тинкеркад уже давно известен многим как простая и бесплатная среда для обучения 3D-моделированию. С ее помощью можно достаточно легко создавать свои модели и отправлять их на 3D-печать. Единственным ограничением для русскоязычного сегмента интернета долгое время являлось отсутствие русскоязычного интерфейса, сейчас эта ситуация исправляется.
Совсем недавно Тинкеркад получил возможность создания электронных схем и подключения их к симулятору виртуальной платы ардуино. Эти крайне важные и мощные инструменты способны существенно облегчить начинающим разработчикам Arduino процессы обучения, проектирования и программирования новых схем.
История создания
Tinkercad был создан в 2011 году, его авторы – Кай Бекман (Kai Backman) и Микко Мононен (Mikko Mononen). Продукт изначально позиционировался как первая Web-платформа для 3D-проектирования, в которой пользователи могли делиться друг с другом результатами. В 2013 году сервис был куплен компанией Autodesk и дополнила семейство продуктов 123D. За все это время в рамках сервиса пользователями было создано и опубликовано более 4 млн. проектов (3D-моделей).
В июне 2017 г. Autodesk решил перенести часть функционала другого своего сервиса Electroinics Lab Circuits.io, после чего Tinkercad получил крайне важные и мощные инструменты, способные существенно облегчить начинающим разработчикам Arduino процессы обучения, проектирования и программирования новых схем. Если вы уже пользовались Circuits.io, то имейте в виду, что все старые проекты Circuits.io могут быть экспортированы в Tinkercad без каких-либо проблем (о сервисе Circuits.io от Autodesk Electroinics Lab мы постараемся подробно рассказать в одной из следующих статей).
Возможности симулятора Tinkercad для разработчика Arduino
Список основного функционала и полезных фич Tinkercad Circuits:
- Онлайн платформа, для работы не нужно ничего кроме браузера и устойчивого интернета.
- Удобный графический редактор для визуального построения электронных схем.
- Предустановленный набор моделей большинства популярных электронных компонентов, отсортированный по типам компонентов.
- Симулятор электронных схем, с помощью которого можно подключить созданное виртуальное устройство к виртуальному источнику питания и проследить, как оно будет работать.
- Симуляторы датчиков и инструментов внешнего воздействия. Вы можете менять показания датчиков, следя за тем, как на них реагирует система.
- Встроенный редактор Arduino с монитором порта и возможностью пошаговой отладки.
- Готовые для развертывания проекты Arduino со схемами и кодом.
- Визуальный редактор кода Arduio.
- Возможность интеграции с остальной функциональностью Tinkercad и быстрого создания для вашего устройства корпуса и других конструктивных элементов – отрисованная модель может быть сразу же сброшена на 3D-принтер.
- Встроенные учебники и огромное сообщество с коллекцией готовых проектов.
Звучит фантастично, не правда ли? Не нужно скачивать Arduino IDE, не нужно искать и скачивать популярные библиотеки и скетчи, не нужно собирать схему и подключать плату – все, что нам нужно, находится сразу на одной странице. И, самое главное – это все действительно работает! Давайте уже перейдем от слов к делу и приступим к практическому знакомству.
Circuit Lab
Circuit Lab Arduino Simulator — простой схематичный и мощный инструмент моделирования. Этот симулятор был разработан после PSpice, и он был построен преимущественно для использования электриками и инженерами электроники. Его функции позволяют пользователю изучить внутреннюю работу Arduino, реализовать отладку проектов и схем проектирования.
Приложение Circuit Lab не является бесплатным, и это может быть ограничивающим фактором для студентов, которые ищут доступный симулятор Arduino для работы. Приложение работает как в операционных системах Windows, так и в Linux. Развитие программы держится на большом сообществе и имеет достаточное количество вспомогательных материалов, тематических исследований и примеров, которые рассказывают о его возможностях и использовании.
Структура кода
Прежде чем переходить к структуре и порядку частей кода, нужно кое-что запомнить:
- Переменная любого типа должна вызываться после своего объявления. Иначе будет ошибка
- Объявление и использование классов или типов данных из библиотеки/файла должно быть после подключения библиотеки/файла
- Функция может вызываться как до, так и после объявления, потому что C++ компилируемый язык, компиляция проходит в несколько этапов, и функции “выделяются” отдельно, поэтому могут вызываться в любом месте программы
При запуске Arduino IDE даёт нам заготовку в виде двух обязательных функций: setup и loop
Код в блоке выполняется один раз при каждом запуске микроконтроллера. Код в блоке выполняется “по кругу” на всём протяжении работы микроконтроллера, начиная с момента завершения выполнения .
Для любознательных: если вы уже знакомы с языком C++, то вероятно спросите “а где же и вообще файл main.cpp?”. Всё очень просто: за вас уже написали внутри файла main.cpp, который лежит глубоко в файлах “ядра”, а и встроены в него следующим образом:
// main.cpp // где-то в глубинах ядра Arduino int main() { setup(); for (;;) { loop(); } return 0; }
На протяжении нескольких лет работы с Arduino я сформировал для себя следующую структуру скетча:
- Описание прошивки, полезные ссылки, заметки, авторство
- Константы настройки (define и обычные)
- Служебные константы (которые следует менять только с полным осознанием дела)
- Подключаемые библиотеки и внешние файлы, объявление соответствующих им типов данных и классов
- Глобальные переменные
- setup()
- loop()
- Свои функции
/* Данный скетч плавно крутит сервопривод туда-обратно между мин. и макс. углами by AlexGyver */ // -------- НАСТРОЙКИ --------- #define SERVO_PIN 13 // сюда подключена серво #define SERVO_SPEED 3 // скорость серво #define MIN_ANGLE 50 // мин. угол #define MAX_ANGLE 120 // макс. угол // ------- БИБЛИОТЕКИ ------- #include <Servo.h> Servo myservo; // ------- ПЕРЕМЕННЫЕ ------- uint32_t servoTimer; boolean servoDirection; int servoAngle; // --------- SETUP ---------- void setup() { myservo.attach(SERVO_PIN); } // ---------- LOOP ---------- void loop() { turnServo(); } // --------- ФУНКЦИИ -------- void turnServo() { if (millis() - servoTimer >= 50) { // каждые 50 мс servoTimer = millis(); if (servoDirection) { servoAngle += SERVO_SPEED; if (servoAngle >= MAX_ANGLE) { servoAngle = MAX_ANGLE; servoDirection = false; } } else { servoAngle -= SERVO_SPEED; if (servoAngle <= MIN_ANGLE) { servoAngle = MIN_ANGLE; servoDirection = true; } } myservo.write(servoAngle); } }
Это удобная структура для “скетча”, крупные проекты так писать не рекомендуется и следует приучать себя к более взрослым подходам, описанным в уроке по разработке крупных проектов.
После установки
После того, как программное обеспечение установлено на вашем компьютере, откройте его. Вы запустили Arduino IDE и всё волшебство будет происходить именно здесь. Не торопитесь и потратьте некоторое время, чтобы осмотреться и освоиться в этой программе. Нам предстоит много программировать в неё.
В программе есть основные инструменты:
- Меню (англ. — Menu Bar). Предоставляет вам доступ к инструментам, необходимым для создания и сохранения эскизов Arduino.
- Кнопка подтверждения (англ. — Verify Button). Компилирует ваш код и проверяет ошибки в написании или синтаксисе.
- Кнопка загрузки (англ. — Upload Button). Отправляет код на подключенную плату, такую как Arduino Uno. Светодиоды на плате будут быстро мигать при загрузке.
- Новый скетч (англ. — New Sketch). Открывает новое окно, содержащее пустой скетч (эскиз).
- Имя скетча (англ. — Sketch Name). Когда скетч сохранен, здесь отображается его имя.
- Открыть скетч (англ. — Open Existing Sketch). Позволяет открыть сохраненный эскиз или один из сохраненных примеров.
- Сохранение скетча (англ. — Save Sketch). Сохранить скетч, который у вас есть в данный момент.
- Последовательный монитор (англ. — Serial Monitor). Когда плата подключена, здесь отобразится последовательная информация вашего Arduino.
- Область написания кода (англ. — Code Area). В этой области вы пишете код, который будет «говорить» плате что делать.
- Область сообщений (англ. — Message Area). В этой области можно наблюдать различные сообщения, которые транслируют вам статус сохранения, компиляции кода, информацию об ошибках и многое другое.
- Текстовая консоль (англ. — Text Console). Показывает детали сообщений об ошибках, размер программы, которая была скомпилирована и дополнительную информацию.
- Плата и последовательный порт (англ. — Board and Serial Port). Сообщает, какая плата используется и к какому последовательному порту она подключена.
В целом, мы разобрали как скачать Arduino IDE и какие инструменты есть у этой среды разработки. Далее мы уже перейдем к практической части написания кода и начнем использовать программу на практике.
Кстати, совсем недавно вышла новая версия Arduino Pro IDE.
Скачать программу
На данный момент мы готовы скачать это бесплатное программное обеспечение Arduino IDE, в которой мы будем писать скетчи, которые будут «говорить» плате что делать.
Важно! Русский язык входит в базовый пакет установки Arduino IDE.
1.8.7 | Код на Github |
1.8.6 | Код на Github |
1.8.5 | Код на Github |
1.8.4 | Код на Github |
1.8.3 | Код на Github |
Скачать более ранние версии можно по этой ссылке.
Для установки программного обеспечения вам нужно будет кликнуть на ссылку, соответствующую операционной системе вашего компьютера выше. Далее вам нужно будет пройти стандартные шаги как при установке любой программы Windows (и других операционных систем).
Когда необходимо подобное соединение
Необходимость в соединениях подобного типа возникает в следующих случаях:
- подключение к уже имеющемуся металлическому (чаще всего чугунному) стояку полимерной подводки от мойки, раковины, ванны и т. п.;
- монтаж стальной арматуры на трубопровод ПНД;
- подсоединение к системе с высокой рабочей температурой, которую полиэтилен низкого давления (ПНД) не выдержит;
- подключение к металлическому выводу из дома огородной поливной системы;
- врезка в центральную магистраль, проводка до которой проходит через участок с повышенной нагрузкой. В этом месте используют более прочные металлические сегменты, а до него идут полимерные трубы.
BT Voice Control for Arduino
С помощью этого приложения можно отправлять и получать данные с таких устройств, как ультразвуковой датчик, подключенный к Arduino через Bluetooth. Для подключения устройства Arduino к мобильному телефону через Bluetooth был использован модуль HC-05. После подключения ультразвуковой датчик будет передавать расстояние до ближайшего объекта, и это будет отображаться на мобильном телефоне в этом приложении.
Arduino был запрограммирован на список распознаваемых команд, таких как «Вперед», «Назад», «Влево», «Вправо» и «Стоп»
Важно знать, что ультразвуковой датчик отправляет расстояние до ближайшего объекта в Arduino, а затем отправляет его в приложение с помощью модуля Bluetooth HC-05
Рейтинг на Google Play: 4.4 из 5
Количество скачиваний: более 10.000
Простые проекты Ардуино
Давайте начнем наш обзор с традиционно самых простых, но очень важных проектов, включающих в себя минимальное количество элементов: светодиоды, резисторы и, конечно же, плату ардуино. Все примеры рассчитаны на использование Arduino Uno, но с минимальными изменениями будут работать на любой плате: от Nano и Mega до Pro, Leonardo и даже LilyPad.
Проект с мигающим светодиодом – маячок
Все без исключения учебники и пособия для начинающих по ардуино стартуют с примера мигания светодиодом. Этому есть две причины: такие проекты требуют минимального программирования и их можно запустить даже без сборки электронной схемы – уж что-что, а светодиод есть на любой плате ардуино. Поэтому и мы не станем исключением – давайте начнем с маячка.
Нам понадобится:
- Плата Ардуино Uno, Nano или Mega со встроенным светодиодом, подключенным к 13 пину.
- И все.
Что должно получиться в итоге:
Светодиод мигает – включается и выключается через равные промежутки времени (по умолчанию – 1 сек). Скорость включения и выключения можно настраивать.
Схема проекта
Схема проекта довольно проста: нам нужен только контроллер ардуино со встроенным светодиодом, подсоединенным к пину 13. Именно этим светодиодом мы и будем мигать. Подойдут любые популярные платы: Uno, Nano, Mega и другие.
Подсоединяем Arduino к компьютеру, убеждаемся, что плата ожила и замигала загрузочными огоньками. Во многих платах «мигающий» скетч уже записан в микроконтроллер, поэтому светодиод может начать мигать сразу после включения.
С помощью такого простого проекта маячка вы можете быстро проверить работоспособность платы: подключите ее к компьютеру, залейте скетч и по миганию светодиода сразу станет понятно – работает плата или нет.
Программирование в проекте Ардуино
Если в вашей плате нет загруженного скетча маячка – не беда. Можно легко загрузить уже готовый пример, доступный в среде программирования Ардуино.
Открываем программу Arduino IDE, убеждаемся, что выбран нужный порт.
Проверка порта Ардуино – выбираем порт с максимальным номером
Затем открываем уже готовый скетч Blink – он находится в списке встроенных примеров. Откройте меню Файл, найдите подпункт с примерами, затем Basics и выберите файл Blink.
Открываем пример Blink в Ардуино IDE
В открытом окне отобразится исходный код программы (скетча), который вам нужно будет загрузить в контроллер. Для этого просто нажимаем на кнопку со стрелочкой.
Кнопки компиляции и загрузки скетча
Информация в Arduino IDE – Загрузка завершена
Ждем немного (внизу можно отследить процесс загрузки) – и все. Плата опять подмигнет несколькими светодиодами, а затем один из светодиодов начнет свой размеренный цикл включений и выключений. Можно вас поздравить с первым загруженным проектом!
Проект маячка со светодиодом и макетной платой
В этом проекте мы создадим мигающий светодиод – подключим его с помощью проводов, резистора и макетной платы к ардуино. Сам скетч и логика работы останутся таким же – светодиод включается и выключается.
Графическое изображение схемы подключения доступно на следующем рисунке:
Другие идеи проектов со светодиодами:
- Мигалка (мигаем двумя свтодиодами разных цветов)
- Светофор
- Светомузыка
- Сонный маячок
- Маячок – сигнализация
- Азбука Морзе
Подробное описание схемы подключения и логики работы программы можно найти в отдельной статье, посвященной проектам со светодиодами.
Критерии выбора хорошего биокамина и принцип его работы
Монитор последовательной связи (Serial Monitor)
В Arduino Web Editor монитор последовательной связи Serial Monitor доступен в боковой панели.
Монитор последовательной связи считывает данные с платы, которая в данный момент выбрана в списке плат. Если вы хотите сменить плату (например, у вас к компьютеру подсоединено несколько плат), то просто выберите необходимую плату в списке плат. При смене платы автоматически обновится и используемый последовательный порт.
Если хотите протестировать работу монитора последовательной связи, можете открыть пример Examples > 03.Analog > AnalogInOutSerial. Загрузите код этого примера в плату и после этого вы увидите результат его работы.
В то время когда код программы будет загружаться панель будет серого цвета как показано на следующем рисунке.
Если в это время никакой платы к компьютеру не подсоединено высветится сообщение о том, что последовательный порт недоступен.
Если этот же самый порт используется и другими программами (например, Processing или десктопными приложениями), появится предупреждающее сообщение о том, что порт используется другим программным обеспечением.
Если вы хотите освободить этот порт для работы других приложений просто нажмите кнопку Disconnect (разъединиться) на панели.
Знакомство с интерфейсом Ардуино
Одним из основных элементов ардуино является главное меню программы, которое позволяет получить доступ ко всем доступным функциям нашей программы.
Ниже расположена панель с иконками, которые отображают наиболее используемые функции Arduino IDE:
- загрузка программы;
- проверка на наличие ошибок;
- создание нового скетча;
- сохранение скетча;
- загрузка сохранения;
- открытие окна порта микроконтроллера;
Следующим по важности элементом является вкладка с файлами проекта. Если это простой скетч, то файл будет всего один
Однако сложные скетчи могут состоять из нескольких файлов. В таком случае на панели вкладок можно быстро переключить просмотр с одного файла на другой. Это очень удобно.
Самым большим из блоков является поле редактора наших скетчей. Тут мы можем просмотреть и, при необходимости, отредактировать нужный нам программный код. Отдельно реализовано поле для вывода системных сообщений. С его помощью можно убедиться, что сохранение вашего скетча или его загрузка были проведены успешно, и вы можете приступать к следующим действиям. Также в программе существует окно, отображающее наличие в ходе компиляции вашего скетча.
Компиляция – преобразование исходного кода языка высокого уровня в машинный код или на язык ассемблера.
PSpice
Каждый студент, занимающийся электротехникой и электроникой, должен был столкнуться с PSpice в течение месяцев, потраченных на изучение основ проектирования схем и программирования. Но для тех кто не знает что такое PSpice — это интуитивный симулятор, который можно использовать для моделирования Arduino из-за множества функций, интегрированных в приложение. PSpice поддерживается операционной системой Windows и Linux и поставляется в разных модулях или типах.
Студенты могут использовать PSpice Lite, который абсолютно свободен, чтобы изучить основы программирования Ардуино, в то время как компании, преподаватели и другие эксперты могут использовать платный PSpice. PSpice в настоящее время используется в различных отраслях промышленности — автомобилестроении, образовании, энергоснабжении и т.д.
Из чего состоит программа
Для начала стоит понять, что программу нельзя читать и писать как книгу:
от корки до корки, сверху вниз, строку за строкой. Любая программа состоит
из отдельных блоков. Начало блока кода в C/C++ обозначается левой фигурной
скобкой , его конец — правой фигурной скобкой .
Блоки бывают разных видов и какой из них когда будет исполняться зависит от внешних
условий. В примере минимальной программы вы можете видеть 2 блока. В этом
примере блоки называются определением функции. Функция — это просто
блок кода с заданным именем, которым кто-то затем может пользоваться из-вне.
В данном случае у нас 2 функции с именами и . Их присутствие обязательно
в любой программе на C++ для Arduino. Они могут ничего и не делать, как в нашем случае,
но должны быть написаны. Иначе на стадии компиляции вы получите ошибку.
Установка Ardublock
Для начала работы с программой необходимо ее установить. Для этого выполним несколько простых действий, алгоритм таков:
- Открыть Arduino IDE/Menu /Arduino/ Preferences, там вы найдете строку Sketchbook location
- Создайте папку “tools/ArduBlockTool/tool” внутри папки “Arduino” в строке “Sketch location” и скопируйте архив “ardublock-all.jar” в папку “tool”. Например, если имя пользователя “user”, то путь в среде Windows будет таким: “C:\Users\user\Documents\Arduino”
- Перезапустите Arduino IDE и у Вас должен появиться пункт “ArduBlock” в меню “Tool”
При установки на Mac для пользователя user путь будет следующим: “/Users/user/Documents/Arduino/tools/ArduBlockTool/tool/ardublock-all.jar”
При установке на Linux: “/home/user/sketchbook/tools/ArduBlockTool/tool/ardublock-all.jar”
Открытие доступа к вашим скетчам
Каждый созданный вами скетч будет иметь уникальный URL (адрес в сети интернет) как, к примеру, и любой документ в сервисе Google Docs. Нажмите кнопку ‘Share’ (поделиться, расшарить) и скопируйте предоставленный URL в новую вкладку вашего браузера чтобы проверить его работоспособность.
Если вы дадите этот URL кому то еще он сможет увидеть ваш код, добавить его копию в свой Sketchbook в облаке или скачать его. Если вы написали обучающее руководство в Project Hub и добавили ссылку в разделе программного обеспечения (Software section), ваш код будет включен в него и будет всегда оставаться актуальным.
Мы считаем что скетч Arduino представляет собой структурную единицу информации, которая содержит все что нужно для претворения идеи в жизнь. Когда кто-нибудь предоставляет вам (расшаривает) доступ к своему скетчу, вы будете иметь доступ к его коду, схеме проекта и даже к его описанию (если оно имеется). То есть вы получаете всю информацию, чтобы создать копию проекта-оригинала.
Вы даже можете встроить ваш скетч в веб-страницу скопировав код находящийся в Share window (окне для предоставления доступа).
Схемы утепления и их особенности
Выбирая одну из схем, по которой проводится утепление фундамента пенополистиролом, необходимо определиться между двумя разновидностями:
- Наружная теплоизоляция
- Внутренняя
Второй вариант можно отбросить, так как он малоэффективен. В 90% случае прибегают в наружному утеплению, простейшая схема которого следующая:
- Фундамент
- Слой гидроизоляции
- Пенополистирол
- Слой гидроизоляции
- Армирующая сетка
- Внешняя отделка цоколя
Более подробно возможная схема представлена на рисунке ниже.
В зависимости от особенностей климата местности и пожеланий к гидроизоляционному слою в схему можно внести некоторые изменения. Например, вместо одного слоя утеплителя укладывают два, а вместо армирующей сетки снаружи делают кирпичную кладку.
Модели Ардуино
Платы Arduino
Вот мы и добрались до самих плат Ардуино, которых на данный момент появилось великое множество благодаря открытости платформы: все схемы и исходные коды находятся в открытом доступе, и вы можете сделать свою версию платы и продавать её, чем активно занимаются китайцы. Единственный пункт: слово Arduino – зарегистрированная торговая марка, и свою плату вам придется назвать как-то по-другому, отсюда и появились всякие Искры, Бузины и прочие так называемые Arduino совместимые платы. Разновидностей плат очень много, но используют они одни и те же модели микроконтроллеров. От модели микроконтроллера зависит объем памяти и количество ног, ну и есть некоторые специальные фишки. На большинстве моделей Arduino стоят 8-битные МК от AVR с кварцевым генератором на 16 МГц (либо ниже), то есть по производительности платы на ATmega не отличаются, отличаются только объемом памяти, количеством ног и интерфейсов/таймеров. Модели Ардуино с МК от производителя ARM, например Arduino DUE, в разы мощнее своих собратьев за счёт 32-битного процессора, но это совсем другая история.
Параметр | ATtiny85 | ATmega328 | ATmega32u4 | ATmega2560 |
Кол-во ног | 8 | 32 | 44 | 100 |
Из них доступны | 5 | 23 | 24 | 86 |
Flash память | 8 Kb | 32 Kb | 32 Kb | 256 Kb |
EEPROM память | 512 bytes | 1 Kb | 1 Kb | 4 Kb |
SRAM память | 512 bytes | 2 Kb | 2.5 kB | 8 Kb |
Каналов АЦП | 3 (4 с rst) | 6 (8 в SMD корпусе) | 12 | 16 |
Каналов PWM | 3 | 6 | 7 | 15 |
Таймеры | 2х 8bit | 2х 8bit | 2х 8bit | 2х 8bit |
1х 16bit | 2х 16bit | 4х 16bit | ||
Serial интерфейс | Нет | х1 | х1 | х4 |
I2C интерфейс | Нет | Да | Да | Да |
Прерывания | 1 (6 PCINT) | 2 (23 PCINT) | 5 (44 PCINT) | 8 (32 PCINT) |
Платы на его основе | Digispark, LilyTiny | Uno, Nano, Pro Mini, Lilypad, Strong | Leonardo, Micro, Pro Micro, BS Micro | Mega, Mega Pro |
Таким образом вы должны сразу понять, что, например, Ардуино Уно=Нано=Про Мини=Лилипад по своим возможностям и взаимозаменяемости. Или Леонардо=Про Микро. Ссылки на недорогие китайские Ардуины вы можете найти у меня на сайте. Точно там же вы найдёте ссылки на кучу датчиков, модулей и другого железа, которое можно подключить к Arduino. О возможностях ардуино по работе с другими железками поговорим в одном из следующих уроках.
Arduino Web Editor и Платформа Создателей
Веб-редактор Arduino позволяет писать код и загружать эскизы на любую официальную плату Arduino с помощью веб-браузера (Chrome, Firefox, Safari и Edge). Мы рекомендуем вам использовать Google Chrome.
Эта IDE (интегрированная среда разработки) является частью Arduino Create, онлайн-платформы, которая позволяет разработчикам писать код, получать доступ к учебным пособиям, настраивать платы и обмениваться проектами. Официальное видео от создателей линейки этих плат:
Созданный для обеспечения непрерывного рабочего процесса, Arduino Create соединяет все этапы разработки — от вдохновения до внедрения. Это означает, что теперь у вас есть возможность управлять всеми аспектами вашего проекта прямо в одной панели.
Arduino Web Editor размещается в Интернете, поэтому приложение всегда в курсе новейших функций и поддерживает новые платы.
Эта среда разработки позволяет вам писать код и сохранять его в облаке, всегда резервируя его и делая доступным с любого устройства. Она автоматически распознает любую плату Arduino (Genuino), подключенную к вашему ПК, и настраивается соответствующим образом.
Аккаунт Arduino — это все, что вам нужно для начала работы.
Программа Ардуино
Вы можете скопировать программу ниже.
Перед программированием устройств вам необходимо заполнить несколько строк:
- WIFI_NAME — название Wi-Fi
- WIFI_PASSWORD — пароль Wi-Fi
- DEVICE_ID — deviceId также является адресом устройства в системе remoteMe, в нашем случае это 203
- DEVICE_NAME — имя устройства, которое будет зарегистрировано в системе
- TOKEN — токен из вкладки токенов в remoteme.org
После заполнения этих полей вы можете загрузить программу в Arduino и запустить ее.
Когда мы перейдем на вкладку устройства, то увидим, что наше устройство уже добавлено, а зеленый значок будет означать, что устройство подключено прямо сейчас.
Симулятор или эмулятор Arduino?
Давайте сразу договоримся, что в статье мы будем использовать оба этих термина, хотя их значение вовсе не идентично. Симулятором называют устройство или сервис, имитирующие определенные функции другой системы, но не претендующим на создание точной копии. Это некоторая виртуальная среда, в которой мы просто моделируем другую систему. Эмулятор – это полноценный аналог, способный заменить оригинал. Например, Tinkercad симулирует работу электронных схем и контроллера, но при этом он является эмулятором ардуино, реализуя практически все базовые функции Arduino IDE – от среды редактирования и компилятора до монитора порта и подключения библиотек.
С помощью этого класса программ можно не только рисовать электронные схемы, но и виртуально подключать их к электрической цепи с помощью встроенного симулятора. В режиме реального времени можно наблюдать за поведением схемы, проверять и отлаживать ее работоспособность. Если в такой симулятор добавить виртуальнyю плату Arduino, то можно отследить поведение схемы и в ардуино-проектах. Для отладки скетчей во многих известных сервисах присутствует также возможность загрузки настоящих скетчей, которые “загружаются” в модель и заставляют вести схему с подключенными элементами так же, как и со включенной реальной платой. Таким образом, мы сможем эмулировать работу достаточно сложных проектов без физического подключения Arduino, что существенно ускоряет разработку.