Справочник программиста Arduino (Ардуино). Как начать программировать ардуино


Arduino для начинающих: пошаговые инструкции. Программирование и проекты Arduino: с чего начать?

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

Что собой представляет Arduino?

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

Базируется конструктор на своей аппаратной части, которая представляет собой плату ввода-вывода. Для программирования платы используются языки, которые основаны на C/C++. Они получили название, соответственно, Processing/Wiring. От группы С они унаследовали предельную простоту, благодаря чему осваиваются они весьма быстро любым человеком, и применять знания на практике не является довольно значительной проблемой. Чтобы вы понимали легкость работы, часто говорят, что Arduino - для начинающих волшебников-конструкторов. Разобраться с платами "Ардуино" могут даже дети.

Что на нём можно собрать?

программирование arduino Применение Arduino довольно разнообразно, его можно использовать, как и для простейших примеров, которые будут рекомендованы в конце статьи, так и для довольно сложных механизмов, среди которых манипуляторы, роботы или производственные станки. Некоторые умельцы умудряются на основе таких систем делать планшеты, телефоны, системы наблюдения и безопасности домов, системы «умный дом» или просто компьютеры. Arduino-проекты для начинающих, которыми может для начала заняться даже тот, кто не имеет опыта, находятся в конце статьи. Их даже можно использовать для создания примитивных систем виртуальной реальности. Всё благодаря довольной универсальной аппаратной составляющей и возможностям, которые предоставляет программирование Arduino.

Где приобрести составляющие?

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

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

Подробнее об аппаратуре

arduino для начинающих волшебниковПлата Ардуино является простым микроконтроллером AVR , который был прошит бутлоадером и имеет минимально необходимый минимум USB-UART порт. Есть ещё важные составляющие, но в пределах статьи лучше будет остановиться только на этих двух составляющих.

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

Подробнее о процессе программирования платы

arduino проекты для начинающихУже готовую к работе на микроконтроллере программу называют прошивкой. Может быть как один проект, так и проекты Arduino, поэтому каждую прошивку желательно было бы хранить в отдельной папке, чтобы ускорить процесс нахождения нужных файлов. Она прошивается на кристалл МК посредством специализированных устройств: программаторов. И тут "Ардуино" имеет одно преимущество – ему не нужен программатор. Всё сделано так, чтобы программирование Arduino для начинающих не составляло труда. Написанный код можно загрузить в МК посредством USB-шнура. Достигается это преимущество не каким-то встроенным уже заранее программатором, а спецпрошивкой – бутлоадером. Бутлоадер является специальной программкой, которая запускается сразу после подключения и слушает, будут ли какие-то команды, прошивать ли кристалл, есть ли проекты Arduino или нет. Из использования бутлоадера выплывает несколько очень привлекательных плюсов:

  1. Использование только одного канала связи, что не требует дополнительных затрат по времени. Так, проекты Arduino не требуют, чтобы вы подключали множество различных проводов, и возникала путаница при их использовании. Для успешной работы хватает одного USB-шнура.
  2. Защита от кривых рук. Довести микроконтроллер до состояния кирпича с помощью прямой прошивки довольно легко, сильно напрягаться не надо. При работе с бутлоадером до потенциально опасных настроек вам не добраться (с помощью программы разработки, конечно, а так сломать можно всё). Поэтому Arduino для начинающих предназначен не только с той точки зрения, что понятен и удобен, он ещё позволит избежать нежелательных денежных трат, связанных с неопытностью работающего с ними человека.

Проекты для начала

Когда вы обзавелись комплектом, паяльником, канифолью и припоем, не следует сразу лепить очень сложные конструкции. Их, конечно, слепить можно, но шанс успеха в Arduino для начинающих довольно низкий при сложных проектах. Для тренировки и «набивания» руки вы можете попробовать реализовать несколько более простых задумок, которые помогут разобраться с взаимодействием и работой "Ардуино". В качестве таких первых шагов в работе с Arduino для начинающих можно посоветовать рассмотреть:

  1. Создать мигающий светодиод, который будет работать благодаря "Ардуино".
  2. Подключение отдельной кнопки к "Ардуино". При этом можно сделать так, чтобы кнопка могла регулировать свечение светодиода из пункта №1.
  3. Подключение потенциометра.
  4. Управление сервоприводом.
  5. Подключение и работа с трехцветным светодиодом.
  6. Подключение пьезоэлемента.
  7. Подключение фоторезистора.
  8. Подключение датчика движения и сигналы о его работе.
  9. Подключение датчика влажности или температуры.

Проекты для будущего

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

fb.ru

Программирование Arduino: справочник разработчика

Главная

Мы предлагаем вам самый полный и дополняемый справочник программиста Arduino. Справочник постоянно дополняется и обновляется.

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

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

Основы Arduino

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

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

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

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

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

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

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

Чаще всего применяется ООП. Сам С++ имеет ядро из многочисленных библиотек и дополнительных функций или методов, поэтому, если вы собираетесь разобраться во всём кардинально, стоит начинать с освоения языка с нуля.

Особенности программирования Arduino

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

У программирования на Ардуино имеются как свои достоинства, так и недостатки, и вам стоит изучить обе стороны вопроса, чтобы понимать, с чем вы имеете дело и чего ожидать от микроконтроллера в принципе, во время работы с ним. Среди достоинств Ардуино, пользователи отмечают:

  1. Низкий порог вхождения. Этот пункт будет и в недостатках, так как из-за простоты системы и отсутствия требований к базису по программированию в сети гуляет множество библиотек, написанных ужасным образом. На то, чтобы разобраться, как они работают, уйдёт больше времени, чем на создание своей собственной. А стандартных функций от разработчиков не хватает для серьёзных задач.
  2. Обширное комьюнити. Это главное достоинство Ардуино перед его конкурентами, ведь вы найдёте пользователей, занимающихся созданием проектов на нём, как русскоязычных, так и англоязычных. Но если вы хотите получать действительно ценные советы и погрузиться в работу комьюнити, следует всё же изучить английский язык. Так как большая часть проблем, что вам встретятся, уже давно решены в Гугле, но, зачастую, ответы на английском.
  3. Большое количество библиотек, под разные случаи. Но, как уже описано чуть выше, у этого есть и свои недостатки.

Имеется у программирования на Ардуино и ряд весомых минусов:

  1. Низкая планка для вхождения превращает большую часть библиотек, коими наполнена сеть, в полностью бесполезный мусор. Ведь какие-то из них работают просто медленно и написаны без каких-либо знаний основ алгоритмизации, а часть – вовсе не работает, и непонятно, зачем авторы их создавали. Чтобы найти подспорье под конкретный проект, необходимо перелопатить несколько англоязычных форумов или же самостоятельно создать функции с нуля.
  2. Сложности программирования на С++. На деле – это один из сложнейших языков мультипарадигмального программирования, для создания прошивок и низкоуровневых задач. Однако, если вы имели опыт работы с ним и знаете хотя бы основные алгоритмы, а также работали хоть с одним другим мультипарадигмальным ЯП, тем более используя объектно-ориентированное программирование, вам будет значительно проще освоиться.
  3. Низкая скорость отклика самих чипов и их слабые характеристики. Да, микроконтроллеры Ардуино можно подстраивать под конкретную задачу, докупать компоненты и датчики, но это играет с ними злую шутку. Так как разработчики не знают, для чего будут использовать их детище, они усредняют все показатели, чтобы значительно уменьшить стоимость конечного продукта. В результате люди, создающие простейшие поделки, переплачивают за ненужную мощность, а тем, кто занимается робототехникой или автоматизацией каких-то процессов, приходится докупать и паять множество дополнительных плат.

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

Как начать правильно пользоваться Arduino

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

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

Программирование микроконтроллеров Arduino

Само программирование Ардуино делится на три этапа:

  1. Создание или скачивание готовой библиотеки функций.
  2. Загрузка этих библиотек в постоянную память чипа. Это ещё называют прошивкой.
  3. Ввод этих функций в командную строку, например, АТ, чтобы плата выполнила те или иные действия.

Если вы делаете что-то простое, и вам хватает базовой прошивки, можете пропустить первые два пункта.

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

Примеров простых проектов с Ардуино множество, например, вы можете:

  1. Создать датчик освещённости, который будет подстраивать специальные LED лампы под ту яркость, которая необходима в комнате.
  2. Автоматизация любых вещей в вашем доме. Например, включения-выключения света, открытия дверей и прочее.
  3. Автоматизация оранжереи.

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

arduinoplus.ru

Список уроков программирования Ардуино. | Оборудование, технологии, разработки

 

Урок 1. Введение. Общие сведения об Ардуино.

Урок 2. Плата Arduino UNO R3. Описание, характеристики.

Урок 3. Установка программного обеспечения Arduino IDE, подключение платы к компьютеру.

Урок 4. Основы программирования Ардуино на языке C.

Урок 5. Первая программа. Функции управления вводом/выводом. Кнопка, светодиод.

Урок 6. Обработка дребезга контактов кнопки. Интерфейс связи между программными блоками.

Урок 7. Классы в программах Ардуино. Кнопка как объект.

Урок 8. Цифровая фильтрация сигналов в программах для Ардуино.

Урок 9. Создание библиотеки для Ардуино.

Урок 10. Прерывание по таймеру в Ардуино. Библиотека MsTimer2. Параллельные процессы.

Урок 11. Программные таймеры в Ардуино. Циклы с различными временами периода от одного таймера.

Урок 12. Последовательный порт UART в Ардуино. Библиотека Serial. Отладка программ на Ардуино.

Урок 13. Аналоговые входы платы Ардуино. Чтение аналоговых сигналов. Измерение среднего значения сигнала.

Урок 14. EEPROM в Ардуино. Контроль целостности данных.

Урок 15. Указатели в C для Ардуино. Преобразование разных типов данных в байты.

Урок 16. Повышение надежности программ для Ардуино. Сторожевой таймер.

Урок 17. Рабочий проект Ардуино. Охранная сигнализация.

Урок 18. Подключение матрицы кнопок к Ардуино. Функция tone().

Урок 19. Семисегментные светодиодные индикаторы (LED). Режимы управления, подключение к микроконтроллеру.

Урок 20. Подключение семисегментного светодиодного (LED) индикатора к Ардуино. Библиотека управления индикатором.

Урок 21. Подключение к Ардуино LED индикаторов и матрицы кнопок, используя общие выводы.

Урок 22. Работа со временем в Ардуино. Проект спортивного секундомера.

Урок 23. Подключение ЖК (LCD) индикаторов к Ардуино. Библиотека LiquidCrystal.

Урок 24. Подключение аналоговых термодатчиков к Ардуино (LM35, TMP35, TMP36, TMP37). Рабочий проект термометра.

Урок 25. Кремниевые термодатчики серии KTY81 в системе Ардино. Проект термометра-регистратора.

Урок 26. Подключение термодатчиков DS18B20 к Ардуино. Библиотека OneWire. Точный Ардуино термометр-регистратор.

Урок 27. Термопары в системе Ардуино. Проект Ардуино термометра-регистратора  для высоких температур.

Урок 28. Униполярный шаговый двигатель в системе Ардуино. Библиотека Stepper.

Урок 29. StepMotor - библиотека управления шаговыми двигателями в системе Ардуино. Библиотека прерывания по таймеру 1 TimerOne.

Урок 30. Текстовые строки в Ардуино. Конвертирование данных в строки и наоборот. Класс String.

Урок 31. Драйвер шагового двигателя на Ардуино с управлением от компьютера. Протокол обмена данными с использованием AT команд.

Урок 32. Следящий электропривод с шаговым двигателем.

Урок 33. Биполярный шаговый двигатель в системе Ардуино.

Урок 34. STEP/DIR драйверы шаговых двигателей. Основные понятия. Протокол STEP/DIR.

Урок 35. Подключение STEP/DIR драйверов шаговых двигателей к Ардуино. Библиотека StepDirDriver.

Урок 36. Разработка Ардуино-контроллера элемента Пельтье. Импульсный (ключевой) регулятор напряжения.

Урок 37. Широтно-импульсная модуляция в Ардуино.

Урок 38. Ардуино-контроллер элемента Пельтье. Структура программы. Измерение выходных параметров контроллера.

Урок 39. Разработка контроллера элемента Пельтье. Интегральный регулятор мощности.

Урок 40. ПИД регулятор. Принцип действия, математическое описание, настройка.

Урок 41. Разработка контроллера элемента Пельтье. ПИД регулятор температуры.

Урок 42. Контроллер элемента Пельтье. Реализация пользовательского интерфейса и защитных функций.

Урок 43. Разработка контроллера элемента Пельтье. Программа верхнего уровня. Проверка, настройка устройства.

Урок 44. Контроллер элемента Пельтье. Другая версия программного обеспечения. Завершение проекта.

Урок 45. Другие платы Ардуино с микроконтроллерами ATmega168/328. Плата Arduino Nano.

Урок 46. Другие платы Ардуино с микроконтроллерами ATmega168/328. Плата Arduino Pro Mini.

Урок 47. Обмен данными между платами Ардуино. Основные понятия. Терминология.

Урок 48. Обмен данными между платой Ардуино и компьютером через интерфейс UART.

Урок 49. Обмен данными между платами Ардуино через интерфейс UART.

Урок 50. Помехоустойчивость и физическая среда стандартного интерфейса UART.

Урок 51. Радиальные интерфейсы RS-232 и RS-422.

Урок 52. Интерфейс ИРПС (цифровая токовая петля). Принцип действия, параметры, схемная реализация.

Урок 53. Плата MassDuino UNO LC (MD-328D). АЦП высокого разрешения (до 16 бит), расширенные функциональные возможности, полная совместимость с Arduino UNO.

Урок 54. Специфика программирования платы MassDuino UNO LC. Установка программного обеспечения, программирование АЦП, ЦАП, дополнительных цифровых выводов.

Урок 55. Работа с инкрементальным энкодером в Ардуино. Библиотека Encod_er.h.

Урок  56. Протокол последовательной передачи данных ModBus RTU.

Урок 57. Обмен данными между платой Ардуино и компьютером через UART по протоколу ModBus. Библиотека Tiny_ModBusRTU_Slave.

Урок 58. Обмен данными между платами Ардуино через UART по протоколу ModBus. Библиотека Tiny_ModBusRTU_Master.

Урок 59. Объединение нескольких плат Ардуино в локальную сеть с топологией “Общая шина”. Преобразование UART в последовательный интерфейс с одной сигнальной линией.

Урок 60. Интерфейс RS-485.

Урок 61. Аппаратная реализация интерфейса RS-485. Объединение плат Ардуино в локальную сеть RS-485.

Урок 62. Технология клиент-сервер.

Урок 63. Локальная сеть Ethernet. Модуль ENC28J60, его подключение к плате Ардуино.

Урок 64. TCP сервер и клиент на Ардуино. Библиотека UIPEthernet.

Урок 65. Аналогово-цифровые преобразования Ардуино в фоновом режиме. Библиотека BackgroundADC.

Урок 66. OSD-генератор MAX7456. Общее описание, функциональные возможности, параметры, подключение к плате Ардуино.

Урок 67. Ардуино-библиотека OSD-генератора MAX7456. Описание библиотеки, проблемы некорректной работы, исправленный вариант.

Урок 68. Практическое программирование OSD-контроллера MAX7456 в системе Ардуино. Создание и загрузка шрифтов, вывод информации на экран.

 

 

 

 

mypractic.ru

Arduino для начинающих

Arduino. SD карта

Сегодня речь пойдет об использовании SD и micro SD карт в Arduino. Мы разберемся как можно подключить SD карты к Ардуино, как записывать и считывать информацию. Использование дополнительной памяти может быть очень полезно во многих проектах. Если вы не знаете что такое SPI, I2C и аналоговые выводы, то советую вам посмотреть прошлые уроки и разобраться с этими интерфейсами связи Ардуино.

Ардуино урок прерывания

В этом уроке мы поговорим о прерываниях. Как понятно из названия, прерывание это событие, которое приостанавливает выполнение текущих задач и передает управление обработчику прерывания. Обработчик прерывания — это функция.

Ардуино для начинающих. Беспроводная связь

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

Ардуино. Интерфейс SPI

В данном уроке рассмотрим SPI интерфейс. Данный способ связи схож с I2C, рассмотренном в прошлом уроке. SPI — это формат последовательной передачи данных от Ведущего устройства (master) к ведомым (slave).

Ардуино. Интерфейс I2C.

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

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

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

Урок 9 Моторы и Транзисторы

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

Урок Ардуино аналоговые входы

В этом уроке мы поговорим об аналоговых входах Arduino. Аналоговые пины измеряют напряжение поступающего сигнала с точностью до 0,005 вольт. Благодаря этому мы можем подключать разнообразные датчики и резисторы (термо резисторы, фоторезисторы,).

ардуино основы схемотехники

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

дребезг контактов ардуино

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

Урок для начинающих. Кнопки, ШИМ и функции

В этом уроке мы узнаем: как подключить кнопку к ардуино, как подавить дребезг контактов, как в прошивке обработать нажатие на кнопку, как послать ШИМ сигнал, как создать свою функцию и как управлять светодиодом.

Урок 4. макетные платы

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

Урок 3 Первый скетч

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

Урок 2. как устроена плата ардуино

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

Arduino. Урок 1 Введение.

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

all-arduino.ru

Как начать программировать с Arduino?

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

Вам понадобится
  • - плата Arduino UNO,
  • - кабель USB (USB A - USB B),
  • - персональный компьютер,
  • - светодиод,
  • - резистор 220 Ом,
  • - пара проводов 5-10 см,
  • - при наличии - макетная плата (breadboard).
Инструкция
  • Загрузите среду разработки Arduino для своей операционной системы (поддерживаются ОС Windows, Mac OS X, Linux) на странице http://arduino.cc/en/Main/Software, можно установщик, можно архив. Скачанный файл содержит также и драйверы для плат Arduino.
  • Установите драйвер. Рассмотрим вариант для ОС Windows. Для этого дождитесь, когда операционная система предложит установить драйвер. Откажитесь. Нажмите Win + Pause, запустите Диспетчер устройств. Найдите раздел "Порты (COM & LPT)". Увидите там порт с названием "Arduino UNO (COMxx)". Кликните правой кнопкой мыши на нём и выберите "Обновить драйвер". Далее выбираете расположение драйвера, который вы только что скачали.
  • Среда разработки уже содержит в себе множество примеров для изучения работы платы. Откройте пример "Blink": Файл > Примеры > 01.Basics > Blink.
  • Укажите среде разработки свою плату. Для этого в меню Сервис > Плата выберите "Arduino UNO".
  • Выберите порт, которому назначена плата Arduino. Чтобы узнать, к какому порту подключена плата, запустите диспетчер устройств и найдите раздел Порты (COM & LPT). В скобках после названия платы будет указан номер порта. Если платы нет в списке, попробуйте отключить её от компьютера и, выждав несколько секунд, подключить снова.
  • Отключите плату от компьютера. Соберите схему, как показано на рисунке. Обратите внимание, что короткая ножка светодиода должна быть соединена с выводом GND, длинная через резистор с цифровым пином 13 платы Arduino. Удобнее пользоваться макетной платой, но при её отсутствии можно соединить провода скруткой.
  • Теперь можно загрузить программу в память платы. Подключите плату к компьютеру, подождите несколько секунд, пока происходит инициализация платы. Нажмите кнопку "Загрузить", и Ваш скетч запишется в память платы Arduino. Программирование под Arduino весьма интуитивно и совсем не сложно. Посмотрите на изображение - в комментариях к программе есть небольшие пояснения. Этого достаточно чтобы разобраться с вашим первым экспериментом.
  • Светодиод должен начать весело подмигивать вам с периодичностью 2 секунды (1 секунду горит, 1 выключен). Ваш первый скетч готов!
  • Оцените статью!

    imguru.ru

    КМБ для начинающих ардуинщиков / Arduino / RoboCraft. Роботы? Это просто!

    ЗаманухаArduinoВы всю жизнь завидовали подросткам-гикам из американских фильмов, которые не напрягаясь из всякого хлама делают роботов или систему контроля доступа в комнату? Вам надоело писать программы на комп — хотите увидеть как ваш код заставит дрыгаться и ползать что-то материальное, прямо на столе? Всегда хотели научится делать что-нибудь электронное, но не знаете чем отличается транзистор от конденсатора? С недавних пор, благодаря итальянцам, ваши мечты могут несколько материализоваться. Речь пойдёт о довольно известной, и многим уже изрядно надоевшей, платформе Ардуино. Итак что же это за платформа, чем она может помочь радиоламмеру почувствовать себя гиком от электроники и почему заслужила ненависть в среде профессионалов?

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

    Основа платформы – собственно плата ардуино, со своим стандартом расположения выводов, программируемая из-под своей среды (Ардуино ИДЕ) на языке Виринг (фактически С++). Благодаря простоте освоения и доступности платформа получила широкое распространение, появились клоны платы, некоторые с полезными улучшениями.

    Документация и схема Arduino распространяется под лицензией Creative Commons Attribution Share-Alike и доступны на официальном сайте Arduino. Однако, само название Arduino является торговой маркой и поэтому все платы-клоны называются по другому (хотя и включают в своём названии «duino») Например, самый известный клон — Freeduino.

    мотор-шилдФункционал платы довольно широк, но всё же ограничен, добавить возможностей можно с помощью плат расширения – шилдов. Вот в этих шилдах и зарыта основная крутизна платформы. Единый стандарт на расположение выводов (у оригинальной платы и у клонов), а также растущая популярность, сделали её привлекательной для разработки сторонними производителями сотен шилдов. Нет другой подобной платформы с таким набором возможных расширений. Например, Ethernet-шилд позволяет подключить Arduino к компьютерной сети и даже работать в Интернете (клиентом или сервером).

    Ещё есть Motor-шилд, Wave-шилд, GPS-шилд, GSM-шилд, Wi-Fi-шилд, LCD-шилд, — Bluetooth-шилд и т.д. И всё это даже не беря паяльник в руки!GPS-шилд Поэтому саму плату часто сравнивают с материнкой компа, а шилды – с платами расширения – звуковухами, видюхами и пр. (не совсем корректно, конечно, но суть в целом отражает).

    Любая возможность автоматизировать что-то с лёгкостью реализуется с Arduino! Выкладывать своё сердцебиение в Twitter или напоминать про полив цветов через Интернет? Пожалуйста! Зачитывать RSS-ленту, слушать музыку ветра или сигналы из муравейника через ИК-маяки – легко! Автоматизация аквариума, элементы умного дома, кодовый замок или цифровая отмычка… А какое поле деятельности для робототехники!

    Поподробней про железо Сама плата ардуино — это просто микроконтроллер AVR (Atmega8/168/328 или Atmega1280/2560), прошитый бутлоадером с минимальной необходимой обвязкой и преобразователем USB-UART. Понятно? Не очень? Тогда по пунктам=)

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

    С кнопками и ручкам вроде всё понятно, а вот про остальное поясню — Датчики могут быть чего угодно — температуры, давления, освещённости, присутствия, ускорения, расстояния до препятствия и пр. Интерфейсы как довольно специализированные I2C, SPI, CAN и пр. так и распространенные COM-порт, USB, Bluetooth, WiFi, Ethernet и пр. Устройства индикации от светодиодов и пищалок до графических дисплеев. Исполнительные устройства – моторчики, сервомашинки, клапана, реле, электромагниты и пр. С чем то из этого списка МК может работать напрямую (надо только два проводка, чтобы соединить МК и кнопку), а для каких-то других примочек потребуются дополнительные детали (крутить мотором напрямую не получится – нужен какой-нибудь усилитель-драйвер).

    Вот эти дополнительные детали необходимые МК для работы с внешним миром и называют обвязкой.

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

    Кварцевый резонатор — задаёт тактовую частоту 16МГц для МК.

    Линейный стабилизатор — обеспечивает стабильное питание для МК. На плату мы можем подавать от 7 до 12В (Например — 7-вольтовый адаптер от кассы, 9-вольтовая крона, 12в в машине.) «лишнее» напряжение стабилизатор отбросит в тепло, а на МК пойдёт ровно 5В.

    Преобразователь USB-UART – чтоб МК мог общаться с компом по USB. UART у МК уже есть на борту, а USB – нету. Первые ардуины подключались к COM-порту (это и есть UART =) – требовалось лишь согласовать уровни (у компа — от -12В до +12В, у МК от 0 до +5В), потом решили что USB всё же удобней, но пришлось ставить преобразователь интерфейсов.

    Светодиоды — Индикатор питания (PWR) Пользовательский (L) – им может индицировать состояние выполняемой программы RX, TX – для индикации обмена данными с компом по USBКнопка Reset – для сброса МК и, соответственно, перезапуска прошитой программы

    Разьёмы — для штекера питания, USB шнурка, подключения внешнего программатора (SPI/ICSP) для соединения с внешними элементами или втыкания шилдов.

    Как уже упоминалось, сердцем ардуины является МК AVR. Также, упоминалось, что МК это программируемая микросхема, которая может что-то воспринимать, как-то это обрабатывать и демонстрировать внешнему миру свою реакцию на всё происходящее. Так вот, воспринимает МК события внешнего мира по изменению уровней напряжения на своих выводах-ножках. Также и реакцию демонстрирует – меняет уровни напряжений на выходах. Уровни напряжений принято называть сигналами, а сигналы делить на цифровые и аналоговые. (часто сигналами называют не только напряжение в данный момент времени, но и последовательность их за какой-то промежуток времени)

    Следует оговорится, что любые сигналы на выводах МК не должны быть ниже 0 и не должны превышать напряжения питания (5 вольт). Если нужно проанализировать сигнал выходящий за эти пределы, то придётся его перед подачей на МК преобразовать произвольным методом и привести к этому диапазону. Цифровых сигналов всего два вида – 0 и 1 (логический ноль и логическая единица, LOW и HIGH). Причём за ноль принимается все что меньше 2 вольт (т.е 0…2 = LOW) а за единицу всё что выше 3 вольт (т.е 3…5 = HIGH) Всё что между (т.е 2…3) ни вызывает у цифровых устройств никаких эмоций – это считается помехами и игнорируется. Это если считывается внешний сигнал, а если выводится то HIGH=5В, LOW=0В.Все ноги у МК (не считая нескольких отданных под питание, тактирование, сброс, и опорное напряжение для аналоговой части) могут работать в режиме цифровых вводов/выводов. (то есть с одного и того же вывода программа может как считать внешний цифровой сигнал, так и самостоятельно выставлять 0 или 1) Ну и зачем это надо? — спросит пытливый читатель=) цифровой ввод – для кнопки или датчика (многие датчики имеют цифровой выход типа: событие наступило — 1 не наступило – 0. Например — есть препятствие на расстоянии менее 30 см. — 1, концентрация метана в атмосфере выше допустимой – 1 и т.п.) А в случае выхода можно что-нибудь включать-выключать.

    Аналоговый сигнал это всё множество цифирек от 0 до 5 вольт (т.е и 1.5В и 3.136В), вот только представляется внутри МК это всё в виде цифирек (от 0 до 1023 ) и значит имеет определённую разрешающую способность – (ограниченную точность) — порядка 5мВ. (точнее 0,004883В, т.е 0,003В=0; 0,015В=3; 1В=204) Да, а ещё аналоговый сигнал оцифровывается с ограниченной скоростью – приблизительно 10000 раз в секунду (иногда не хватает=). С аналоговым выводом чуть сложнее. Он есть, но МК AVR не могут непосредственно выдать произвольное напряжение, зато он может генерить ШИМ. Подробности ниже не переключайтесь=)

    Но сигналы сами по себе не интересны – надо чтоб их что-нибудь воспринимало, какой нам интерес от периодически переключающегося (то 0 то 1) вывода если он никуда не подключен? Вот если подцепить к нему светодиод то он будет моргать=) Красиво. Возможно даже информативно. А лампочку можно? А мотор? Напрямую нельзя=( Тут следует вникнуть ещё в один электрический нюанс. То, что подключается к источнику сигнала (выводу МК) называют нагрузкой. Нагрузка потребляет от источника ток — тем больший, чем меньше её сопротивление. Мощная нагрузка – низкоомная — потребляет бОльший ток, высокоомная нагрузка — маленькая — потребляет меньший ток. Закон Ома ещё кто-нибудь помнит?=)) А источник, в свою очередь, может отдать определённый ток – меньше можно, больше ни-ни! (сгорит, ну или просто просядет напряжение, но это уже нюансы=) Так, выводы Атмеги могут отдать 40 мА. Светодиодам хватит, а чем покрупнее придётся рулить через драйвера какие-нибудь. L293D Например, чтобы покрутить моторчики для Ардуины предусмотрен Мотор-шилд. На нём, как раз и установлена микросхема-драйвер L293D задача которой – принимать управляющие сигналы от МК и согласно им подавать питание на мощный мотор. Вход у неё высокомный — от выхода МК она потребляет маааленький ток, а на мотор может подавать напряжение вообще с другого источника (можно поставить силовую батарею аж на 36В) и ток пропускает через себя до 1.2А!

    Но просто включать-выключать мотор как-то не концептуально, хотелось бы регулировать скорость вращения, тем более что мы заикнулись о том, что МК выдаёт аналоговый сигнал с помощью какого-то-там ШИМ-а.

    Итак, ШИМ (Широтно-Импульсная Модуляция) или PWM – (Pulse Width Modulation). Суть метода заключается как раз в включении-выключении чего-нибудь инерционного, только ооочень быстром включении-выключении. То есть ножка МК «дергается» — 0-1-0… почти 500 раз в секунду.

    Кстати последовательность 0-1-0, принято называть импульсом, а длительность нахождения вывода в состоянии HIGH (1)– шириной импульса. Причём, время в котором вывод находится в состоянии HIGH (1, т.е. «включено») и LOW (0, т.е. «выключено») можно регулировать – т.е. менять (модулировать) ширину импульса. Наша нагрузка (например мотор включенный через драйвер) будет получать (в среднем за какое-то время) больше или меньше энергии. Дёрганье происходит с очень большой частотой, поэтому толчки сглаживаются и усредняются (интегрируются), например инерцией ротора двигателя. И скорость его вращения будет уже не максимальной, а меньшей — соответствующей соотношению времени действия 1 и 0.Если подключить светодиод, то в роли интегратора выступит инерция нашего глаза – мы увидим изменение яркости свечения, а не изменения моргания. Если же на выходе не предусмотрено ничего инерционного, а очень хочется получить изменяемое напряжение, то подключают специальную интегрирующую цепочку и снимают усреднённый и совершенно аналоговый сигнал уже с неё.Программно можно организовать ШИМ на любом выводе, но это будет жрать вычислительные ресурсы, поэтому пользуются аппаратными «генераторами» закреплёнными за строго опредёлёнными ножками.

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

    Итак резюмируем все данные:

    Питание Постоянное напряжение 7 — 12В Либо от USB

    Порты ввода/вывода: 14 цифровых вводов/выводов, (работают с напряжением 0 и 5в) 6 из которых могут выдавать ШИМ сигнал, + 6 аналоговых входов

    естественно аналоговые входы тоже можно использовать как цифровые, итого выходит 20 вводов/выводов =).

    Аппаратно поддерживаемые интерфейсы (программно можно ещё много всего наворотить=) USB (только с компом – определяется как USB Serial Convertor и добавляет в систему свой последовательный порт) UART I2C SPI

    Память (для Atmega328) 32 Кбайт программируемой памяти (тут хранится ваша программа) 2 Кбайт ОЗУ(RAM — тут всякие промежуточные вычисления) 512 байт энергонезависимой памяти (EEPROM) (сюда можно запихивать всякие изменяемые в процессе работы настройки, чтобы они сохранялись после отключения питания)Тактовая частота Работают все ардуины на частоте 16МГц.

    Arduino позволяют использовать большую часть выводов микроконтроллера во внешних схемах. То есть пару от нас всё-таки спрятали – это выводы предназначенные для подключения кварцевого резонатора. Atmega может тактироваться безо всяких внешних элементов – от внутреннего генератора, тогда эти выводы можно использовать, но внутренний генератор может раскачать МК только до 8МГц. Так что вздохнули и забыли об этих выводах – удвоение производительности важнее=)В классической ардуине(Duemilanove/UNO) МК вставлен в панельку (разъем такой, специальный, для микросхем) и можно его заменить если сожгли или захотели провести апгрейд/даунгрейд. В некоторых клонах и более современных моделях стоят впаянные атмеги, в корпусах для поверхностного монтажа (для снижения стоимости или уменьшения высоты платы). Такие корпуса весьма проблематично перепаять самостоятельно (расстояние между ножками МК менее 1мм).

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

    Про программирование Программа для МК обычно называется прошивкой, а прошивают её в кристалл с помощью специальных устройств – программаторов. Для разных МК и для разных нужд существует куча программаторов – от специализированных (шьёт только AVR) до универсальных(шьёт всё), от простых (7 проводков от LPT-порта к ножкам МК) до сложных (часто и сами они построены на МК=). Общего у всех программаторов одно – их надо где-то взять (купить, взять у товарища, спаять) И тут проявляется первое свойство ардуины – ей не нужен программатор – ваш код может заливаться в неё через обычный USB шнурок. Достигается это не встроенным программатором, а специальной прошивкой – бутлоадером.

    Кстати, пользовательская прошивка в ардуиновской терминологии называется скетч.Ардуиновский бутлоадер это такая специальная программа которая запускается сразу после включения МК и слушает UART ожидая спецкоманды. Если команда поступила, то следующие за ней данные будут «прошиты» в МК (будет загружен скетч). Если команды не поступило то бутлоадер передаёт управление предыдущей прошитой программе(скетчу). Т.о. процесс загрузки скетча происходит следующим образом – комп плату сбрасывает(резетит), посылает команду на прошивку, передаёт сам скетч, проверяет записанное, затем снова резет, бутлоадер ждёт команды, её естественно не поступает, начинает выполнятся свежезалитый скетч. Все этм махинации происходят самостоятельно – от юзера требуется только нажать одну кнопку=)В картинках.

    Отсюда вытекают ещё несколько полезных свойств киллерфич ардуины: 1.Все манипуляции между компом и ардуиной (как обмен данными так и прошивка) происходят по одному каналу связи – USB. Не надо лишних проводов, не надо ничего вставлять – вынимать, не надо ничего нажимать на плате.

    Вот поступали к вам на комп данные об активности кота в соседней комнате у миски по USB, захотелось снизить чувствительность – много лишних сработок – подправили прошивку, залили и снова получаете данные. Всё не вставая со стула. Удобно=)

    2.Наличие бутлоадера защищает МК от кривых рук начинающего. Прямой прошивкой обычным программатором заблокировать контроллер до невменяемого состояния(кирпич) довольно просто, а при работе через бутлоадер до опасных настроек не добраться, и чтоб вы не делали – все ваши эксперименты через Ардуино ИДЕ будут безопасны (разумеется только с программной точки зрения=).

    Кстати саму ардуину можно использовать как программатор и шить ею другие кристаллы, но это совсем другая история=) Скетчи пишутся в Ардуино ИДЕ на Виринге который фактически С++. Через неё и загружаются. Там же есть терминал для обмена данными с платой. Всё в одно месте — служба одного окна практически=) Всё программирование просто, интуитивно понятно, куча встроенных и внешних библиотек, есть масса документации, разобраться и начать работать с ардуиной можно буквально реально за один вечер!Кстати, Ардуино ИДЕ — это просто надстройка над WinAVR… но это тоже совсем другая история=)

    За и против. Холивар В общем всё тёплое и пушистое =) Естественно это всё не просто так, за простоту приходится платить. Для программирования вам практически не понадобятся знания о программировании именно МК и их внутренней архитектуре. Это и плюс и минус. Происходит некоторое абстрагирование от «железа». У юзера нет понимания что происходит внутри кристалла — пишется «немикроконтроллерный» код, к тому же формируемая Ардуино ИДЕ прошивка и так не оптимальна (в силу упрощений и ограничений). Часть очень важных и полезных функций МК спрятана от пользователя — «что бы не усложнять»=) Простота и пушистость ардуины, а так же дружелюбность необозримого сообщества, резко снизила порог вхождения. Теперь программером-железячником (эмбеддером) могут себя почувствовать (а то и считать и называть) весьма далёкие от технических наук люди — и гуманитарии, и дизайнеры, и домохозяйки, и (оужос!)офисный планктон, и куда без них, школота дети. Собственно сообщество в значительной мере из таких людей и состоит, и им же развивается. Естественно появился специфический стиль программирования (копи-паст из примеров) и сборки девайсов (проводки-макетки-скотч-китайские модули) — Ардуино-стайл (Arduino-style) неизменно раздражающий более профессиональных профессионалов.

    За это некоторые и невзлюбили эту, по сути, замечательную платформу. То есть любой школьник купит ардуину день-два поковыряет её, изучит, сделает какой нибудь таймер или систему жизнеобеспечения аквариума и станет говорить, что программирует контроллеры. Раздражает. Согласен. Толпы фанатов (в основном зарубежных) напоминающих эпл-гиков, пускающих по форумам восторженные слюни на своих ардуино-роботов, ардуино-таймеры, ардуино-хакерские-девайсы, и прочие ардуино-свистелки-перделки-мигалки-поделки. Притом что можно всё это сделать луче, дешевле, правильнее, изящнее. Раздражает. Согласен. Но для того чтобы делать луче, дешевле, правильнее, изящнее, что бы действительно можно было сказать, что ты программируешь контроллеры надо долго учится. А начинать с чего то надо? И ведь лучше не с моргания светодиодом, а с по-настоящему интересных устройств. А многим вообще-то и так хорошо. Работает ведь? Функции выполняет? Зачем в дебри лезть. Ну да дороже, не оптимально, не изящно. Зато здесь и сейчас.

    В общем, с одной стороны вы за очень короткий срок научитесь делать законченные рабочие устройства… А надо ли смотреть на другую сторону? =) Если очень хочется дальше развиваться можно писать не на Виринге а на С (хоть на ассемблере) не в Ардуино ИДЕ а в любом компиляторе (хоть в том же WinAVRе который в папке с Ардуино ИДЕ лежит) Надоел загрузчик? Грохнуть его – есть возможность шить Ардуину через USB бит-бангом – потребуется только собрать шнурок-перемычку – и в вашем распоряжение все ресурсы кристалла и возможность шить его напрямую.

    В общем, не парьтесь, приобщайтесь — это просто и прикольно=)

    Вникать дальшеХоумМейд Arduino — как сделать Arduino своими руками

    По теме:Ардуино что это и зачем?Почему Arduino побеждает и почему он здесь, чтобы остаться?Arduino, термины, начало работыСостав стартера (точка входа для начинающих ардуинщиков)Возможные ошибки при работе с Arduino

    Купить Arduino или CraftDuino — можно в нашем Магазине.

    robocraft.ru

    с чего лучше начать новичку?

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

    Из этой статьи вы узнаете:

    Ардуино — что же ты такое?Для кого это?Первое знакомство. Настраиваем компьютерИспользуем IDE

    Доброго времени суток всем любителям техники! С вами Гридин Семён. Сегодня мы рассмотрим, при помощи какого оборудования мы начнём программировать самые распространённые платы.

    Ардуино — что же ты такое?

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

    Ардуино сэндвич

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

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

    Для кого это?

    Кому нужен Ардуино?

    • Детям и подросткам, интересующимся робототехникой;
    • Учащимся профильных технических вузов и училищ;
    • Специалистам, желающим вспомнить старые навыки;
    • Преподавателям для обучения своих студентов;
    • Всем склонным к технике людям, желающим интересно проводить время.

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

    Первое знакомство. Настраиваем компьютер

    Перед тем как озаботиться вопросом подключения устройства к ПК, стоит изучить вопрос о том, какой лучше купить Ардуино, ведь версий этого конструктора для гиков существует много. Самая популярная и при этом недорогая модель – Arduino Uno, которая стоит порядка 25-30$. Впрочем, есть и более дорогие, продвинутые версии, способные взаимодействовать со смартфонами на базе Android, устройствами на Linux, с увеличенным числом портов, более мощным “железом”, которые больше подойдут для уже искушенных в этом вопросе пользователей. Нам же с вами больше подойдет вариант Uno или схожий с ним (например, Leonardo). Пусть вас не пугают 32 килобайта памяти и процессор с частотой всего 16 мегагерц – этого с лихвой хватит для первых изысканий!

    коннекторы ардуино

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

    Программа IDE

    Подключение и загрузка в память программ выполняется через USB-порт. Подсоединение же модулей может выполняться множеством способов – в их числе применение особой макетной доски, перемычек, проводов… Паяльник при этом использовать совсем не обязательно. Подсоединять можно почти что угодно – любой гаджет может стать полноценной частью вашей конструкции! При этом вы также можете создавать многослойные “бутерброды” из так называемых шильдов (shields) – дополнительных плат, расширяющих возможности основной микросхемы. Главное – это базовый процесс в сердце самого Uno, остальное же лишь служит для получения дополнительных возможностей. Например, это может быть подключение к Интернету или управление мощным мотором.

    Используем IDE

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

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

    Среда разработки ардуино

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

    Если вам понравилась статья, поделитесь с друзьями. Подписывайтесь на обновления блога, чтобы не пропустить новости или чего-нибудь интересного. Успехов вам!!!

    С уважением, Гридин Семён

    kip-world.ru