Программирование на arduino


Программирование без программирования — DRIVE2

На сегодняшний день Ардуино является одним из самых простых способов освоить микроконтроллеры: благодаря простому интерфейсу, простоте (можно сказать даже примитивности) "языка Ардуино" программирование микроконтроллеров становится доступно даже школьникам. Однако всегда находятся энтузиасты старающиеся улучшить даже то, что и так кажется простым. В данном случае речь идет о "визуальном программировании", т.е. графических средах позволяющих не писать программы, а рисовать их.
Итак встречаем: Scratch, ArduBloсk и FLProg — три попытки сделать так, чтобы программирование стало доступно даже дошкольникам :)

Scratch
Страница проекта — s4a.cat/
В 2003 году группа исследователей под руководством Митчела Резника из MIT Media Lab решила сделать общедоступный язык программирования. В результате через 4 года появился Scratch — "среда для обучения школьников программированию".
В этой среде можно создавать и играть с различными объектами, видоизменять их вид, перемещать их по экрану, устанавливать формы взаимодействия между ними. Это объектно-ориентированная среда, в основе которой лежит принцип конструктора LEGO и в которой программы собираются из разноцветных блоков-кирпичиков команд точно так же, как собираются из разноцветных кирпичиков конструкторы Лего.
Среда русифицирована, для нее есть много инструкций и руководств на русском языке. Проекты, создаваемые в Scratch, выкладываются на сайте проекта scratch.mit.edu/, все они доступны для скачивания и использования. Среда доступна для работы ребенка с раннего возраста, немного умеющего читать и пользоваться мышью.
Основа среды – блоки команд, разделенные на несколько групп: движение, внешность, звук, перо, контроль, сенсоры, операторы, переменные. Встроенная «рисовалка» позволяет нарисовать нужный объект, а блоки команд (их нужно перетаскивать мышью) – задать программу действий, в том числе с применением условных операторов и циклов. Конечно, у Scratch отсутствует масса функций реального языка программирования, но и имеющихся достаточно для создания довольно сложных программ и игр. В самой программе имеется довольно большая база уже готовых нарисованных животных, домов, предметов и так далее, а кроме того, в качестве образца можно использовать любой из тысяч опубликованных в сети интернет программ примеров, сделанных взрослыми и детьми.
В 2008 году появился проект Scratch для Arduino (в оригинале: Scratch For Arduino или сокращённо — S4A) — это модификация Scratch, которая предоставляет возможность простого визуального программирования контроллера Arduino, а так же содержит новые блоки для управления датчиками и исполнительными механизмами, подключаемыми к Arduino.
S4A представляет собой скетч прошивки s4a.cat/downloads/S4AFirmware15.ino, которая загружается в Ардуино, делает его исполнительным устройством, программа выполняется на компьютере, Ардуино её физически выполняет, передавая сигналы на выходы платы. Ардуино в этом случае через Serial-соединение получает от Скретча команды какие порты в какой уровень установить и передает на ПК измеренные уровни с входов.
Более подробно можно узнать либо на странице проекта, либо посмотрев видео от Амперки — www.youtube.com/playlist?…OzZQGDFdoRfldtqbmNU6a-PIp

ArduBloсk
Страница проекта -blog.ardublock.com/
Имен разработчиков и их локализации мне найти не удалось, но данный проект активно продвигается разработчиком плат sparkfun, поэтому ИМХО это их проект.
Ardublock это графический язык программирования для Arduino, предназначенный для непрограммистов и простой в использовании. В отличии от Скретча ArduBloсk встраивается в среду Arduino IDE и генерит программый скетч, загружаемый в МК. Причем, после закачки в платформу, исполнение кода будет происходить автономно, т.е. не требуется непосредственное управление с компьютера по проводной или беспроводной связи.
Среди руссоязычного сообщества проект известен благодаря учителю-энтузиасту из Лабинска Александру Сергеевичу Аликину — geektimes.ru/post/258834/

FLProg
Страница проекта — flprog.ru/
Проект развивается силами одного человека — Сергея Глушенко. Основная идея заключается в том, чтобы адаптировать применяющиеся в области программирования промышленных контроллеров языки FBD и LAD к Ардуино.

FBD (Function Block Diagram) — графический язык программирования стандарта МЭК 61131-3. Программа образуется из списка цепей, выполняемых последовательно сверху вниз. При программировании используются наборы библиотечных блоков. Блок (элемент) — это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.). Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов. К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения. Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход контроллера.

Ladder Diagram (LD, LAD, РКС) — язык релейной (лестничной) логики. Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Ориентирован на инженеров по автоматизации, работающих на промышленных предприятиях. Обеспечивает наглядный интерфейс логики работы контроллера, облегчающий не только задачи собственно программирования и ввода в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании. Программа на языке релейной логики имеет наглядный и интуитивно понятный инженерам-электрикам графический интерфейс, представляющий логические операции, как электрическую цепь с замкнутыми и разомкнутыми контактами. Протекание или отсутствие тока в этой цепи соответствует результату логической операции (истина — если ток течет; ложь — если ток не течет). Основными элементами языка являются контакты, которые можно образно уподобить паре контактов реле или кнопки. Пара контактов отождествляется с логической переменной, а состояние этой пары — со значением переменной. Различаются нормально замкнутые и нормально разомкнутые контактные элементы, которые можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях.
Результатом работы FLProg является конечный код, который может быть подгружен в МК.

Это не все проекты, позволяющие реализовать визуальный способ программирования. Есть и другие — возможно лучшие и более прогрессивные, но менее известные.

www.drive2.ru

Книги по Arduino для начинающих. Изучаем программирование

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

Изучаем Arduino. Инструменты и методы технического волшебства. Джереми Блум

Изучаем Arduino. Инструменты и методы технического волшебства

Аннотация

Одна из самых известных книг по работе на базе Ардуино от автора Джереми Блума рассказывает об основных принципах создания электронных устройств. Есть описания программной и аппаратной части микроконтроллера. Есть подробный разбор основных принципов программирования в специально разработанной среде Arduino IDE, приводится набор функций и операторов. Читатель научится правильно разбираться в описаниях компонентов, выбирать необходимые составляющие для создания своего уникального проекта, анализировать электронные схемы приборов. В книге можно найти примеры использования сенсоров, индикаторов, интерфейсов передачи информации. Все примеры снабжены списком необходимых составляющих, схемами примерами кода с пошаговым объяснением. Подходит для изучения новичкам.

Где купить или скачать

Программируем Arduino. Саймон Монк

Программируем Arduino

Аннотация

Книга Саймона Монка основное внимание уделяет программированию контроллеров. Рассмотрены и описаны примеры кодов и основы создания своих прошивок. После изучения книги пользователь сможет сам разработать свои скетчи для самых сложных проектов с большим количеством технических компонентов. Большим преимуществом является рассмотрение основных библиотек для Arduino IDE. Книга подходит для тех, кто уже знаком с платформой Ардуино и хочет подтянуть свои знания в изучении языка программирования.

Где купить или скачать

Проекты с использованием контроллера Arduino. Петин В.А

Проекты с использованием контроллера Arduino

Аннотация

Основной упор в книге идет на практическую составляющую работы на Ардуино. Есть схемы подключения с подробным описанием, примеры кодов, списки нужных компонентов и модулей. Книга Петина В. будет отличным дополнением для человека, разбирающегося в основах работы микроконтроллера Ардуино и знающего основы программирования. Автор дает подробное описание среды разработки Arduino IDE и использующегося в ней языка программирования.  каждой схеме приводится код с подробным описанием. На сайте издательства можно скачать архив с исходными скетчами и библиотеками, описанием электронных элементов.

Где купить или скачать

Arduino и Raspberry Pi в проектах Internet of Things. Виктор Петин

Arduino и Raspberry Pi в проектах Internet of Things

Аннотация

Еще одна книга от Виктора Петина, рассказывающая о создании простых проектов в рамках концепции Интернета вещей (IoT) на основе платы Ардуино и микрокомпьютера Raspberry Pi. В ней показано, как устанавливать и настраивать среду разработки Arduino IDE и среду макетирования Fritzing. Рассказано, как подключать датчики и исполнительные устройства, как они работают и взаимодействуют друг с другом, описаны их технические возможности. Приведена организация доступа проектов к интернету, отправка и прием данных с использованием облачных IoT сервисов. Имеется рассмотрение проекта собственного сервера сбора данных с устройств на базе Ардуино. Подходит для пользователей продвинутого уровня. В архиве размещены исходные коды программ и нужные библиотеки.

Где купить или скачать

5. Практическая энциклопедия Arduino. Петин В.А., Биняковский А.А.

Практическая энциклопедия Arduino

Аннотация

Отличная книга для людей, начинающих работать с Ардуино. В ней обобщены все данные по основным составляющим конструкции. Вся книга состоит из 33 глав, которые показывают эксперимент работы на плате Ардуино. Дается визуальная схема соединения деталей в среде Fritzing, список необходимых элементов, пример скетча с комментариями и полное описание опыта. Есть теоретическая сводка об используемых компонентах. В конце каждой главы имеется ссылка для загрузки кода, дополнительных программ и видеоурок опыта.

Где купить или скачать

6. Программирование микроконтроллерных плат Arduino/Freeduino. Улли Соммер

Программирование микроконтроллерных плат Arduino Freeduino

Аннотация

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

Приведено более 80 примеров разработки температурных реле, школьных часов, сигнализации и других устройств. Все примеры оснащены списком нужных элементов и кодами программы.

Где купить или скачать

7. Мобильные роботы на базе Arduino. Момот М.В.

Мобильные роботы на базе Arduino

Аннотация

Пособие для начинающих изобретателей создано в виде практических опытов по созданию роботов своими руками. Модель реализуется на базе платформы Ардуино. Проекты расположены по уровню сложности от простых к интеллектуальным. В книге описано, как управлять различными моторами, как правильно собирать робота, как его программировать. Расписаны основные функции и способы управления роботом.  Собранное изделие способно обходить препятствия, проходить лабиринты, определять цвета, ориентироваться по компасу. Дополнительно с книгой идет архив с деталями робота, которые распечатываются на 3D принтере, рисунки, коды и нужные библиотеки.

Где купить или скачать

8. Arduino для начинающих волшебников. Массимо Банци

Arduino для начинающих волшебников

Аннотация

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

Где купить или скачать

9. Электроника. Твой первый квадрокоптер. Теория и практика. Яценков В.С.

Электроника. Твой первый квадрокоптер. Теория и практика

Аннотация

Книга Яценкова В.С. подходит для людей, имеющих опыт работы с платформой Ардуино. Здесь в понятной форме изложены практические аспекты создания и управления квадрокоптером. Пошагово расписаны все этапы сборки – выбор нужных частей и их стоимость, настройка программного обеспечения, программирование в Arduino IDE, ремонт в случае аварии. Огромное внимание автор уделяет типичным ошибкам, которые совершают начинающие конструкторы. Подробно изложен процесс отладки системы ODS, беспроводного канала Bluetooth и различных навигационных систем. Имеются рекомендации по выбору оборудования FPV, обзор программ для ПК и телефонов, которые используются при работе коптера.

Где купить или скачать

10. Занимательная электроника. Ревич Ю.

Аннотация

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

Приводятся конкретные аналоговые и цифровые схемы с их подробным описанием. Описание работы на Ардуино поясняется примером создания домашней метеостанции с пошаговой инструкцией.

Где купить или скачать

arduinomaster.ru

Уроки Arduino. О платформе | AlexGyver Technologies

О платформе


Что же такое Arduino? Формально это – торговая марка, под которой выпускаются официальные платы и софт. Название Ардуино идёт от одноименного названия рюмочной в Италии, где создатели платформы любили пропустить по рюмочке. Предлагаемая Arduino платформа включает в себя железо (сами платы) и софт (среда разработки).

Семейство Ардуино – несколько моделей так называемых отладочных плат. Отладочная плата представляет собой как ни странно печатную плату, в сердце которой стоит микроконтроллер – та самая штука, которую мы будем программировать. Микроконтроллер это микросхема, содержащая в себе микропроцессор, интерфейсы ввода-вывода, память (оперативную и постоянную), таймеры и другие штуки. Да, микропроцессор – это другое, микропроцессор по сути может только выполнять вычисления (как процессор в компьютере), а микроконтроллер – это практически полноценный компьютер, размещенный в одном кристалле микросхемы. В большинстве плат Arduino используются микроконтроллеры серии ATmega от производителя AVR.

Запомнили сразу важную мысль – Ардуино – не микроконтроллер, не процессор, Ардуино – платформа. Плата ардуино это отладочная плата с микроконтроллером.

Железо


Помимо микроконтроллера на отладочной плате стоит обвязка, необходимая для его работы: это кварцевый генератор, задающий частоту работы процессора, и “рассыпуха” – конденсаторы и резисторы, выполняющие фильтрующие и подтягивающие функции.

Arduino “на минималках”: кварц, конденсаторы и прочее

Давайте так: что нужно сделать для того, чтобы собрать устройство на микроконтроллере? Нужно подключить к выходам микроконтроллера необходимые устройства (далее – “железо”), загрузить на микроконтроллер прошивку, которая будет управлять этим железом, и обеспечить всё это дело стабильным питанием. Цель разработчиков ардуино была совместить вышеуказанное с простотой и удобством работы и модульностью, тем самым превратив разработку электронных устройств в мощный универсальный конструктор. Эта цель была достигнута так: на плате, вместе с микроконтроллером, разместили “программатор” для загрузки прошивки, usb порт и стабилизатор питания, позволяющий питать плату от широкого диапазона постоянных напряжений: 5-19 вольт. Микроконтроллеру нужно 5 вольт, что стабилизатор ему и обеспечивает.

Загрузка прошивки


USBasp – ISP программатор для AVR (в том числе Arduino)

Что касается так называемого программатора: изначально способом загрузки прошивки в микроконтроллер является загрузка посредством ISP (in-system programming) программатора, который загружает прошивку напрямую в память микроконтроллера. Это способ хорош и надёжен, но он дороже и не такой универсальный как тот, который используется в Ардуино. Работает это так: вместо ISP программатора на плате стоит USB-TTL преобразователь, который позволяет Ардуино (на её стороне TTL – транзистор-транзистор логика) буквально общаться с компьютером (на его стороне – USB) и обмениваться данными. Но просто общаясь с компьютером загрузить прошивку не получится, поэтому в памяти микроконтроллера “живёт” загрузчик (он же bootloader), который умеет ловить данные, идущие с компьютера и загружать их во Flash память микроконтроллера. При каждом запуске микроконтроллера загрузчик ждёт команду от компьютера, мол желает ли тот загрузить новую прошивку. Если никто ему не отвечает какое-то время, он запускает уже имеющуюся в памяти МК прошивку. Отсюда вытекает несколько минусов:

  • Загрузчик сидит во Flash памяти и занимает место (около 6%, что довольно-таки много)
  • При подаче питания на МК прошивка стартует не сразу, каждый раз загрузчик ждёт команду от компьютера в течение какого-то времени (пару секунд), прежде чем передать управление имеющейся в памяти программе.

Оба этих минуса решаются частично или полностью:

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

Возвращаясь к USB-TTL преобразователю: почему именно такой способ загрузки прошивки выбрали разработчики Arduino? Да всё очень просто: микросхема USB-TTL преобразователя стоит дешевле микросхем, могущих в ISP (роль оных обычно выполняют микроконтроллеры), что прилично удешевляет платформу. Но самое главное – использование USB-TTL преобразователя добавляет нам возможность общаться с платой при помощи компьютера (смартфона, планшета) без использования дополнительного железа, т.е. мы можем как управлять какими-то устройствами (если это заложено в коде прошивки), так и получать от Ардуино данные, например показания с датчиков. Но самое-самое главное – это позволяет отлаживать код, вручную, но все таки отлаживать.

Софт


Что касается программной части, предоставленной Arduino, то это Arduino IDE (Integrated Development Environment – интегрированная среда разработки), включающая в себя редактор кода, компилятор и всё остальное необходимое для загрузки прошивки в плату. Подробнее о ней поговорим в отдельном уроке.

Модели Ардуино


Платы 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. О возможностях ардуино по работе с другими железками поговорим в одном из следующих уроках.

Программирование


Код. Ничего лишнего

Ардуино программируется на языке программирования C (C++) с соответствующим ему синтаксисом. Встроенный сборщик, препроцессор и компилятор (avr-gcc или Win-AVR) прощают большое количество ошибок и делает многое за пользователя автоматически, мы даже об этом не знаем и не задумываемся. Куча базовых функций для управления выводами микроконтроллера, математика и некоторые другие функции/макросы взяты из открытого фреймворка для работы с микроконтроллерами под названием Wiring. Именно из него примерно на 80% состоит базовый набор инструментов (функций) Ардуино. В связи с этим сами разработчики Ардуино называют язык “упрощённым c++”, и даже дали ему отдельное название – Arduino Wiring.

Если вы научитесь свободно прогать на ардуино, и вдруг перейдете к разработке программ на том же C++ в более взрослых средах разработки, вы будете неприятно удивлены тем количеством дополнительного кода, который придется писать руками. И наоборот, если умеющий в плюсы (си-плюс-плюсы) человек посмотрит на типичный ардуино-код, он скажет “да как это вообще работает то?”. Действительно, как это работает? При компиляции кода создаётся отдельный файл, в котором содержится ваш код, дополненный необходимыми настройками и с некоторыми подключенными библиотеками. Во взрослом мире без ардуино-плюшек, если вы, например, хотите использовать вывод в порт, используете в коде работу со строками и математические операции – вам нужно вручную подключать соответствующие модули. Среда Arduino делает это автоматически, мы даже об этом не знаем. Также компиляция кода проходит в несколько этапов, что позволяет например использовать функцию до её объявления. Но об этом поговорим позже.

Сейчас вернёмся к такому понятию, как библиотека. Жизнь рядового ардуинщика неразрывно связана с библиотеками, потому что огромное комьюнити за годы своего существования сделало огромное количество этих самых библиотек на все случаи жизни и для всех продающихся датчиков и модулей. Библиотека это набор файлов, в которых содержится дополнительный код, которым мы можем пользоваться просто ознакомившись с документацией или посмотрев примеры. Такой подход называется “черным ящиком”, мы можем даже не догадываться, какой ужас и кошмар (в плане сложности кода) содержится в библиотеке, но с лёгкостью пользоваться возможностями, который этот код даёт. Купили модуль – нашли библиотеку – открыли пример – всё, результат достигнут…

Холивар


Личинка программиста

В мире серьезных программистов и разработчиков очень не любят ардуино. Почему?

В среде Ардуино работа с микроконтроллером упрощена настолько, что ардуинщику вообще ничего не нужно знать о его архитектуре и о том, как он вообще программируется и настраивается. Все сделано в виде готовых и понятных функций. Это всё конечно хорошо, но скрытый за ширмой дружелюбного “Ардуино Вайринга” код прошивки ужасает: за безобидными на первый взгляд функциями кроются полотна кода, который что-то проверят, перепроверяет, перенастраивает уже настроенное и делает многие другие на первый взгляд ненужные вещи. Зачем это? Упростить начинающему программисту работу, простить все его ошибки и заставить его код просто работать. Стандартные функции очень медленные и не раскрывают всех возможностей микроконтроллера, вы даже не представляете, сколько всего там можно настроить и покрутить.

Второй повод для ненависти, это качество кода. Из-за простых, но понятных стандартных примеров аудитория ардуинщиков выросла очень быстро и буквально завалила интернет своими проектами, завлекая тем самым в это хобби других новичков. 99% учебных примеров, примеров работы с библиотеками и модулями написаны простенько и ужасно не оптимально: int переменные для всего подряд, вездесущий delay, блокирующие циклы и прочее, помимо уже описанных ардуино-функций. Люди берут эти примеры как основу основ и так сами и продолжают дальше писать. Но эти люди стоят на пороге очень большой двери под названием робототехника. Перешагнув через этот порог, отбросив все кривые примеры и научившись грамотно выстраивать структуру кода, они попадают в мир безграничных возможностей для творчества и исследования, мир бесконечно интересных и разнообразных проектов на Arduino.

 

Видео версия


Важные страницы


alexgyver.ru

Arduino сайт на русском для начинающих мастеров ардуино

Ардуино для начинающих

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

Arduino – это электронные платы, к которым можно подсоединять различные датчики, двигатели, экраны и много других электронных компонентов. Плата Ардуино будет управлять этими компонентами с помощью программы, который вы в нее загрузите. Самые популярные платы для начинающих – это Arduino Uno, Arduino Mega, Arduino Nano и Arduino Leonardo. Кроме этого есть множество  других вариантов, подходящих для конкретных случаев.

Arduino – это еще и совершенно бесплатная среда программирования Arduino IDE, в которой можно писать программы (скетчи) для контроллера. Программа прошивается в микроконтроллер буквально одним нажатием на кнопку. Никаких особых знаний не требуется!  Вы можете даже не писать программу – просто найти и скачать готовый скетч, который просто откроете в Arduino IDE.

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

Arduino для детей

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

Arduino – это целый мир, в котором можно почувствовать себя волшебником. Лучший инструмент для приобщения детей к технологиям и вдохновленного инженерного творчества! Для обучения детей электронике вы можете использовать как отдельные контроллеры Arduino Uno, Mega или Nano, а также наборы и конструкторы ардуино российских и китайских производителей. Обучение детей программированию Ардуино возможно с использованием среды программирования Arduino IDE или же в визуальных средах ArduBlock, S4A, mBlock, основанных на Scratch.

arduinomaster.ru

Топ-5 лучших книг о платах Arduino

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

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

1. Программирование микроконтроллерных плат Arduino/Freeduino

Автор: Улли Соммер
Издательство: БХВ-Петербург
ISBN: 978-5-9775-0727-1
Язык книги: Русский
Год: 2012

Рассмотрено программирования микро-контроллерных плат Arduino/Freduino Описана структура и функционирование микроконтроллеров, среда программирования Arduino, необходимые инструменты и комплектующие для проведения экспериментов. Подробно рассмотрены основы программирования плат Arduino, структура программы, команды, операторы и функции, аналоговый и цифровой ввод/вывод данных.

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

Содержание книги

Предисловие
Введение
Глава 1. Общие сведения о микроконтроллерах
Глава 2. Программирование микроконтроллеров
Глава 3. Краткий обзор семейства микроконтроллеров Arduino
Глава 4. Платы расширения Arduino
Глава 5. Комплектующие изделия
Глава 6. Электронные компоненты и их свойства
Глава 7. Предварительная подготовка
Глава 8. Среда разработки Arduino
Глава 9. Основы программирования Arduino
Глава 10. Дальнейшие эксперименты с Arduino
Глава 11. Шина 12С
Глава 12. Arduino и температурный датчик LM75 с 12С-шиной
Глава 13. Расширитель порта 12С с PCF8574
Глава 14. Ультразвуковой датчик для определения дальности
Глава 15. Сопряжение платы Arduino с GPS
Глава 16. Сервопривод с платой Servo для Arduino
Глава 17. Жидкокристаллические дисплеи
ПРИЛОЖЕНИЯ

2. Занимательная электроника

Автор: Ревич Юрий
Издательство: БХВ-Петербург
ISBN: 978-5-9775-3479-6
Язык книги: Русский
Год: 2015

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

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

Содержание книги "Занимательная электроника"

Часть 1 . Основы основ

Глава 1. Чем отличается ток от напряжения?
Глава 2. Джентльменский набор
Глава 3. Хороший паяльник — половина успеха
Глава 4. Тригонометрическая электроника

Глава 5. Электроника без полупроводников
Глава 6. Изобретение, которое потрясло мир
Глава 7. Ошеломляющее разнообразие электронного мира

Часть 2. Аналоговые схемы

Глава 8. Звуковой усилитель без микросхем
Глава 9. Правильное питание — залог здоровья
Глава 10. Тяжеловесы
Глава 11. Слайсы, которые стали чипами
Глава 12. Самые универсальные
Глава 13. Как измерить температуру?

Часть 3. Цифровой век

Глава 14. На пороге цифрового века
Глава 15. Математическая электроника, или игра в квадратики
Глава 16. Устройства на логических схемах
Глава 17. Откуда берутся цифры

Часть 4. Микроконтроллеры

Глава 18. Начала микроэлектроники
Глава 19. Персональный компьютер вместо паяльника
Глава 20. Изобретаем велосипед
Глава 21. Основы arduino
Глава 22. Метеостанция на arduino

Приложения

3. Проекты с использованием контроллера Arduino, 2-е издание

Автор: Виктор Петин
Издательство: БХВ-Петербург
ISBN: 978-5-9775-3550-2
Язык книги: Русский
Год: 2015

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

Тщательно разобраны проекты с использованием контроллеров семейства Arduino. Это проекты и области робототехники, создания погодных метеостанций, "умного дома", вендинга, телевидения, Интернета, беспроводной связи (bluetooth, радиоуправление).

Для всех проектов представлены схемы и исходный код. Также представлен исходный код для устройств Android, используемых в проектах для связи с контроллерами Arduino. На сайте издательства размещен архив с исходными кодами программ и библиотек, описаниями и спецификациями электронных компонентов  и др.

Во втором издании добавлены проекты голосового управления с помощью Arduino, работа с адресуемыми RGB-лентами, управление iRoboi Create на Arduino. Рассмотрены проекты с использованием платы Arduino Leonardo. Приведены пошаговые уроки для начинающих разработчиков.

Содержание книги

ЧАСТЬ 1. ARDUINO - ОБЩИЙ ОБЗОР

Глава 1. Введение в Arduino
Глава 2. Обзор контроллеров семейства Arduino
Глава 3. Платы расширения Arduino

ЧАСТЬ 2. СРЕДА РАЗРАБОТКИ И ЯЗЫК ПРОГРАММИРОВАНИЯ КОНТРОЛЛЕРОВ ARDUINO

Глава 4. Среда программировании Arduino IDE
Глава 5. Программирование в Arduino

ЧАСТЬ 3. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ ARDUINO

Глава 6. Arduino и набор функций Serial
Глава 7. Arduino и знакосинтезирующие жидкокристаллические индикаторы
Глава 8. Библиотека EEPROM
Глава 9. Использование Arduino Leonardo в качестве USB-устройства
Глава 10. Arduino и 1-Wire
Глава 11. Arduino и цифровой датчик температуры DS18B20
Глава 12. Arduino идатчики температуры ивлажности DНТ
Глава 13.Сетевой обмен с помощью Arduino
Глава 14. Arduino и карта памяти SD
Глани 15. Arduino н светодиодные матрицы
Глава 16. Arduino и управляемые светодиодные ленты RGB
Глава 17. Работа Arduino с вендииговыми аппаратами
Глава 18. Arduino и радиочастотная идентификация (RFID)
Глава 19. Arduino и датчики расстояния
Глава 20. Arduino и передача данных в инфракрасном диапазоне
Глава 21. Создаем робота
Глава 22. Arduino и шаговые двигатели
Глава 23. Arduino и сервоприводы
Глава 24. Arduino н Bluetooth
Глава 25. TV-выход на Arduino
Глава 26. Arduino н радиоуправление
Глава 27. Arduino и беспроводной радномодуль NRF24L01
Глава 28. Работа Arduino с USB-устройствамн
Глани 29. Arduino и ROS
Глава 30. Голосовое управление

ПРИЛОЖЕНИЯ

Приложение 1. Список использованных источников
Приложение 2. Начальная школа
Приложение 3. Описание электронного архива

4. Делаем сенсоры. Проекты сенсорных устройств на базе Arduino и Raspberry Pi

Автор: Теро Карвинен, Киммо Карвинен, Вилле Валтокари
Издательство: Вильямс
ISBN: 978-5-8459-1954-0
Язык книги: Русский
Год: 2015

В этой потрясающей книге более 440 страниц на которых вы найдете самые интересные и прикладные знания для проектирования "Умного дома" на Ардуино (Arduino).

Содержание книги

Введение
Глава 1. Знакомство с Raspberry Pi
Глава 2. Знакомство с Arduino
Глава 3. Расстояние
Глава 4. Дым и rаз
Глава 5. Прикосновение
Глава 6. Движение
Глава 7. Свет
Глава 8. Ускорение
Глава 9. Идентификация
Глава 1О. Электричество и магнетизм
Глава 11. Звук
Глава 12. Поrода и климат
Приложение А. Краткий справочник по командам Linux в Raspberry Pi
Предметный указатеnь

5. Arduino Essentials

Автор: Francis Perea
Издательство: Packt Publishing
ISBN: 978-1784398569
Язык книги: English
Год: 2015

The Arduino platform has become a de facto standard when talking about microcontrollers. With a wide range of different board models, it can cover a wide spectrum of projects, and its ease of use has made it the preferred platform for those starting out in the microcontroller world. If you are a hobbyist wanting to develop projects based on Arduino as its main microcontroller platform or an engineer interested in knowing what the Arduino platform offers, then this book is ideal for you.

If you have little or no previous experience in these kinds of tools, this book will help you get a complete view of the platform and the wide peripherals it has to offer by following a carefully designed set of project examples that cover the most important platform features.

Whether you have never written a line of code or you already know how to program in C, you will learn how to work with Arduino from the point of view of both hardware and software thanks to the easily understandable code that accompanies every project that has been developed exclusively with that premise in mind.

This will be easy for those who don't have previous experience in programming. This book was written with the aim to present the Arduino platform to all those wanting to work with Arduino but without any great knowledge of the microcontrollers scene.

It will gradually develop a wide set of projects that have been designed to cover the most important aspects of the Arduino platform, from the use of digital and analog inputs and outputs to harnessing the power of interrupts.

Table of Contents

Preface
Chapter 1: Meeting the Arduino Family
Chapter 2: The Arduino Development Environment
Chapter 3: Interacting with the Environment the Digital Way
Chapter 4: Controlling Outputs Softly with Analog Outputs
Chapter 5: Sensing the Real World through Digital Inputs
Chapter 6: Analog Inputs to Feel Between All and Nothing
Chapter 7: Managing the Time Domain
Chapter 8: Communicating with Others
Chapter 9: Dealing with Interrupts
Chapter 10: Arduino in a Real Case – Greenhouse Control
Index

arduinoplus.ru

Ardublock для Arduino - язык визуального программирования

Ardublock – это графический язык программирования для Ардуино, предназначенный для начинающих. Эта среда достаточно проста в использовании, ее легко установить, она практически полностью переведена на русский язык. Визуально сконструированную программу,напоминающую блоки Scratch, легко конвертировать в код Arduino IDE. Да и писать можно, не отрываясь от Arduino IDE  – эта программа встраивается в среду программирования в виде плагина. В этой статьей мы рассмотрим такие вопросы как установка Ardublock, настройка и примеры программирования

Установка Ardublock

Для начала работы с программой необходимо ее установить. Для этого  выполним несколько простых действий, алгоритм таков:

  1. Скачать архив с сайта ArduBlock
  2. Открыть Arduino IDE/Menu /Arduino/ Preferences, там вы найдете строку Sketchbook location
  3. Создайте папку “tools/ArduBlockTool/tool” внутри папки “Arduino” в строке “Sketch location” и скопируйте архив “ardublock-all.jar” в папку “tool”. Например, если имя пользователя “user”, то путь в среде Windows будет таким: “C:\Users\user\Documents\Arduino”
  4. Перезапустите 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”

Как запустить ArduBlock

Для начала запускаем сам Arduino, заходим в меню Инструменты и там находим ArduBlock, его и выбираем.

Для начала запускаем сам Arduino, заходим в меню Инструменты и там находим ArduBlock, его и выбираем.

Открывается окно ArduBlock дополнительно к окну Arduino.

Открывается окно ArduBlock дополнительно к окну Arduino.

Можем начинать программировать.

Интерфейс программы

Настроек в ArduBlock нет, а вот значков для программирования предостаточно и каждый из них несет за собой команду в текстовом формате Arduino IDE. В новых версиях значков еще больше, поэтому разобраться с ArduBlok последней версии сложно и некоторые из значков не переведены на русский.

Блоки ArduBlock разделены на 6 категорий.

Control

Control

В разделе «Управление» мы найдем разнообразные циклы.

Порты (Pin)

Pin

В разделе «Порты» мы можем с вами управлять значениями портов, а также подключенными к ним звукоизлучателя, сервомашинки или ультразвукового датчика приближения.

Цифры, константы и Переменные

Цифры, константы и Переменные

Блоки категорий “Numbers/Constants” это переменные

Operators

Operators

Эта категория включает в себя логические и математические операторы.

Utilities 

Utilities

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

Модули

Bricks

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

Программирование

Программировать в Ardublock очень просто: нужно только соединять блоки в отдельно выделенном для этого черного поля.

Как посмотреть код и загрузить его на платформу

Все очень просто. Для начала сохраним наше решение (кнопка Сохранить) в формате ArduBlock (это позволит потом запускать ее в модульном виде и продолжать работу с блоками).

Далее жмем кнопку Загрузить, система спрашивает, куда сохранить программу в виде скетча Arduino и далее показывает нам код программы уже в окне Arduino, проходит компиляция, после чего скетч грузится на платформу.

 

arduinomaster.ru

Симулятор Arduino Tinkercad. Эмуляторы и online IDE для ардуино

Можно ли заниматься ардуино проектами без самой платы Arduino? Оказывается, вполне. Благодаря многочисленным онлайн сервисам и программам, которые имеют свое название: эмулятор или симулятор Arduino. Самыми популярными представителями таких программ являются системы Tinkercad от Autodesc, Virtual BreadBoard, Proteus, PSpice, Fritizing и российская FLProg. Также удобную online IDE для работы с Ардуино представляют сами разработчики платформы. В этой статье мы рассмотрим один из самых крупных и удобных эмуляторов для начинающих: Tinkercad Circuits Arduino.

Симулятор или эмулятор Arduino?

Давайте сразу договоримся, что в статье мы будем использовать оба этих термина, хотя их значение вовсе не идентично. Симулятором называют устройство или сервис, имитирующие определенные функции другой системы, но не претендующим на создание точной копии. Это некоторая виртуальная среда, в которой мы просто моделируем другую систему. Эмулятор – это полноценный аналог, способный заменить оригинал. Например, Tinkercad симулирует работу электронных схем и контроллера, но при этом он является эмулятором ардуино, реализуя практически все базовые функции Arduino IDE – от среды редактирования и компилятора до монитора порта и подключения библиотек.

С помощью этого класса программ можно не только рисовать электронные схемы, но и виртуально подключать их к электрической цепи с помощью встроенного симулятора. В режиме реального времени можно наблюдать за поведением схемы, проверять и отлаживать ее работоспособность. Если в такой симулятор добавить виртуальнyю плату 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, не нужно искать и скачивать популярные библиотеки и скетчи, не нужно собирать схему и подключать плату  – все, что нам нужно, находится сразу на одной странице.  И, самое главное –  это все действительно работает! Давайте уже перейдем от слов к делу и приступим к практическому знакомству.

Первые шаги в Tinkercad

Регистрация онлайн

Для начала работы необходимо получить эккаунт Autocad. Регистрация в Tinkercad абсолютно бесплатная. Зайдите на сайт и выполните простые шаги.

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

Tinkercad Dashboard – Начальная страница

Преодолев этап регистрации, мы попадем на главную страницу, на которой слева видим список сервисов и под ним – список проектов. Навигация очень проста, хотя некоторые ссылки выглядят не очень заметными, но разобраться, что к чему, можно легко. Выбрав элемент слева мы видим справа список соответствующих объектов. Для раздела  Circuits, этими объектами будут схемы и скетчи.

Создаем и редактируем проект

Для создания проекта просто нажимаем кнопку «Создать проект», расположенную под списком проектов. Будет создан проект с названием типа Project N. Нажав на него, мы перейдем в режим просмотра списка схем, включенных в этот проект. Там же мы сможем изменить свойства проекта (включая название), нажав на соответствующий значок сразу под названием.

Добавляем новую схему Circuits

Создать новую схему в Tinkercad можно двумя способами:

  • В меню слева выбрать Circuits и справа над списком схем выбрать команду Create new Circuit (на момент написания статьи все основные интерфейсные элементы не переведены). Новая схема будет создана вне какого-либо проекта.
  • Создать схему в определенном проекте. Для этого надо сначала перейти в окно проекта, а затем нажать на кнопку «Create» сверху над списком. Появится перечень типов схем, мы выбираем Circuit. Созданная схема будет доступна в этом списке и в списке всех проектов в меню Circuits.

После выполнения команды вы сразу же перейдете в режим редактирования схемы, не вводя названия. Имя для схемы формируется автоматически.

  • Чтобы изменить название схемы и отредактировать ее свойства нужно перейти в режим просмотра списка схем, навести на область с названием схемы и нажать на иконку «Настройки». Откроется окно, в котором вы сможете отредактировать параметры.
  • Для удаления схемы надо в том же режиме выбрать в настройках команду «Удалить».
  • Для просмотра краткой информации о схеме нужно просто щелкнуть на ней
  • Для перехода в режим редактирования нужно навести курсор мышки и выбрать появившуюся команду «Изменить».

Все изменения в процессе редактирования схемы сохраняются автоматически.

Описание интерфейса Тинкеркад в режиме редактирования

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

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

На полосе инструментов в верхней части слева находятся основные команды:

  • Повернуть элемент
  • Удалить
  • Масштабировать по размерам экрана
  • Отмена
  • Повтор

Кнопки в правой части панели:

  • Отобразить панель программирования, и отладки
  • Отобразить панель библиотеки компонентов
  • Запустить симулятор схемы
  • Экспорт в Eagle .brd
  • Поделиться

В целом  интерфейс достаточно прост, не перегружен лишними элементами и интуитивно понятен. Практически любые операции можно выполнить «на ощупь».

Создание схемы в Tinkercad шаг за шагом

В большинстве случае для работы с проектами Arduino выполняется следующий алгоритм действий:

  1. Создаем новую схему или открываем существующую для редактирования.
  2. Используя визуальный редактор, создаем схему (в нашем случае, с включением платы Arduino Uno).
  3. Готовим скетч в редакторе кода и загружаем его в виртуальный контроллер.
  4. Запускаем режим симуляции, при которой плата виртуально подключается к источнику питания и схема начинает работать. Вносим начальные данные для датчиков и наблюдаем реакцию схемы, как визуально, так и на виртуальном мониторе порта внутри самого сервиса.

Давайте рассмотрим каждый из шагов подробнее.

Первый шаг. Создаем схему Circuit

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

Подготовка электронной схемы

Создавая схему, мы выполняем такой порядок действий:

  • Выбираем нужные компоненты из библиотеки компонентов внизу экрана и размещаем их в поле редактора.
  • Соединяем компоненты с помощью виртуальных проводников, рисуя их мышкой.
  • Редактируем параметры компонентов (например, величину сопротивления у резисторов или цвет проводов).

Операция выбора из библиотеки достаточно проста. Список элементов находится внизу. Выбрав элемент, мы кликаем на нем, затем перемещаем в нужное место на схеме и кликаем повторно. Окно со списком компонентов можно скрыть или показать, нажимая на переключатель «Components» в панели инструментов.

Для работы нам доступно множество уже готовых элементов, от резистора и батарейки до модулей Arduino. Для удобства навигации все элементы разбиты на три вкладки:

  • Basic Components. Основные компоненты
  • Allcomponents. Все доступные компоненты
  • Starters. Готовые предустановленные схемы

Самой интересной для нас сейчас является третья закладка – Starters. Создатели сервиса подготовили несколько готовых схем, которые мы можем сразу же подгрузить в проект и редактировать на свое усмотрение.

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

Если схема не влезает в экран – выполните масштабирование (нажмите на кнопку масштаба на панели инструментов).

Кликнув на разъем ардуино или ножки электронных компонентов, можно «припаять» к ней провод, который щелчками мышки мы протягиваем по всей нашей плате до желаемой точки.

Углы провода красиво скругляются, есть возможность выравнивать провод по вертикали или горизонтали (появлении синих линий подскажет нам вертикаль и горизонт соответственно). Для отмены установки провода нужно нажать на Esc или мышкой нажать на соответствующую иконку на панели инструментов.

Нажав на компонент, мы можем отредактировать его свойства.

Третий шаг. Программируем скетч виртуального Arduino

Все инструменты для редактирования кода становятся доступны после перехода в соответствующий режим при нажатии на кнопку «Code Editor» в верхней панели.

В режиме редактирования кода нам доступны следующие варианты действий:

  • Загрузить скетч в «виртуальный контроллер» и запустить симулятор.
  • Переключение в  визуальный редактор кода типа Scratch.
  • Переключение в текстовый редактор кода.
  • Подключение библиотек.
  • Скачать код на свой компьютер в виде файла с расширением .ino (скетч ардуино).
  • Запустить отладчик с возможностью создания точек остановок и мониторингом состояний переменных.
  • Отобразить или скрыть окно монитора.

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

Четвертый шаг. Запускаем симулятор ардуино

Есть два способа запуска симулятора. Первый – нажать на кнопку «Start Simulation» в верхней панели. Второй – использовать кнопку Upload&Run в режиме редактирования кода.

В обоих случаях для остановки работы симулятора нужно просто еще раз нажать на верхнюю кнопку (в режиме симуляции надпись изменится на «Stop Simulation»).

Что происходит во время симуляции? А практически то же, что и при подключении питания к реальной схеме. Лампочки горят, из пьезоизлучателя издаются звуки, двигатели крутятся. Мы можем отслеживать текущие показатели (напряжение, ток) с помощью инструментов мониторинга. А можем сами создавать внешние сигналы, подавая на датчики необходимые значения и отслеживать потом реакцию программы.  Например, можно задать мышкой расположение объекта до датчика расстояния, значение освещенности для фоторезистора, повернуть ручку потенциометра. Также прекрасно работают такие элементы как LCD дисплей – мы увидим выводимую информацию прямо на экране визуального компонента.

Нет смысла описывать подробно каждую из возможностей. Уверен, что любой начинающий ардуинщик надолго «залипнет» за этими инструментами и попробует все возможности самостоятельно. Очевидно, что виртуальная среда никогда не заменит реальных проектов и настоящий инженер просто обязан реализовывать свои идеи «на железе». Но вот возможность визуализировать идеи, накидать возможные варианты схемы и отладить работу скетча даже без наличия железок, в любом месте, где есть интернет – это стоит многого.

Подводя итоги

В завершении этой статьи – краткого знакомства с новым интересным сервисом Tinkercad Arduino Circuits, хотелось бы еще раз подчеркнуть его ключевые возможности: визуальный редактор схем, визуальный и текстовые редакторы кода, режим отладки, режим симуляции схем, возможность экспорта полученных скетчей и электрических схем в реальные проекты. Возможно, по отдельности каждая из этих возможностей лучше реализована в других мощных инструментах, но собранные вместе, да еще и в виде удобного, простого для освоения web-сервиса, они делают Tinkercad крайне полезным для любого, особенно начинающего, ардуинщика.

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

arduinomaster.ru

Программирование Ардуино: используем Scratch и mBlock

В данном уроке мы научимся программировать Ардуино на языке программирования Scratch с использованием mBlock. Но во-первых, давайте быстро рассмотрим, что такое Arduino и Scratch, соответственно.

Ардуино платы

Arduino - небольшая плата, предназначенная в первую очередь для создания прототипов, которая воплощает любые идеи в жизнь. Используя Arduino, можно создать робота, электронный гаджет и многое другое. Нет предела! На фото ниже плата Ардуино Уно.

Плата Arduino Uno

Например, для запуска двигателей с заданными интервалами может использоваться плата Arduino, которая подключается к четырем двигателям (плюс к двигателю управления). Вы должны поручить Arduino управлять двигателями с использованием языка программирования, где вы пропишите шаги, а готовую программу загрузите в плату, чтобы проект заработал.

Микроконтроллер имеет собственный язык программирования, хотя этот язык состоит из функций, выведенных из C/C++.

Однако вы можете использовать другие языки для программирования Arduino, как правило, используя сторонний инструмент, такой как Snap4Arduino, ArduBlock и другие. Одной из таких программ является mBlock, которая позволяет использовать визуальный язык программирования Scratch с Arduino.

В этом уроке мы рассмотрим основы использования mBlock для программирования Arduino с Scratch.

Язык программирования Scratch

Scratch (Скретч) - это язык программирования, разработанный для детей, чтобы они могли изучать программирование в интерактивном режиме. В Scratch вы присоединяете помеченные блоки (которые служат фрагментами кода) для написания полноценной программы или игры.

Язык программирования Scratch

mBlock

Официальный сайт mBlock - mblock.cc

Используя Scratch, некоторые пользователи разработали еще одно дополнение, называемое mBlock. Разница между mBlock и Scratch заключается в том, что mBlock позволяет вам запрограммировать Arduino простым и интерактивным способом.

Интересная вещь mBlock заключается в том, что вы можете увидеть исходный код на C++ после программирования Arduino.

mBlock

Мигаем светодиодом с использованием mBlock

Давайте используя mBlock начнем с малого, сделав программу, которая заставит мигать светодиод.

Проверьте, насколько это просто:

В приведенной выше программе вы можете увидеть, что мы разместили блок Arduino и "вечный блок" (англ. - forever). Эти два блока являются обязательными для программирования Arduino.

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

Внутри блока forever установите, какой цифровой контакт будет использоваться. Этот может обеспечить высокое или низкое напряжение пина. Итак, если у меня есть светодиод, подключенный к контакту номер 13 Arduino (смотрите ниже), и я хочу включить его, я буду использовать «set digital pin 13 output HIGH», и мой светодиод загорится.

Эта программа использует задержки (delays) для приостановки программы в течение одной секунды между состояниями ON и OFF. Таким образом, мы можем видеть, как светодиод мигает.

Попробуйте подключить Arduino к светодиоду, как показано выше, и запустить код после подключения Arduino к компьютеру (убедитесь, что вы выбрали правую плату и последовательный порт с mBlock). Для этого вам обязательно нужна программная среда Arduino IDE.

Затем запустите код. Вы сможете увидеть, что светодиод мигает.

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

arduinoplus.ru


Смотрите также



© 2010- GutenBlog.ru Карта сайта, XML.