Конструкции на ардуино. Arduino delay millis и micros для организации задержки в скетче. Самый простой проект для начинающих

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

Это наиболее простой и недорогой вариант для начинающих, любителей и профессионалов. Процесс программирования проходит на языке Processing/Wiring, который осваивается быстро и легко и в основе которого лежит язык C++, а благодаря это сделать очень легко. Давайте рассмотрим, что такое Arduino, чем полезна для начинающих, её возможности и особенности.

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

Основой конструктора служит плата ввода-вывода (аппаратная часть), а также программная часть. Программное обеспечение конструктора на основе Ардуино представлено интегрированной средой разработки .

Внешне сама среда выглядит так:

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

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

Как купить Arduino?

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

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

Стандартные наборы включают в себя как правило следующие детали:

  • макетная плата;
  • светодиоды;
  • резисторы;
  • батареи 9В;
  • регуляторы напряжения;
  • кнопки;
  • перемычки;
  • матричная клавиатура;
  • платы расширения;
  • конденсаторы.

Нужно ли знать программирование?

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

После того как программа составлена она загружается (прошивается) на плату. Ардуино в этом случае имеет неоспоримое преимущество – для программирования в большинстве случаев используется USB-кабель. Сразу после загрузки программа готова выполнять различные команды.

Начинающим работать с Arduino нужно знать две ключевые функции:

  • setup() – используется один раз при включении платы, применяется для инициализации настроек;
  • loop() – используется постоянно, является завершающим этапом настройки setup.

Пример записи функции setup() :

Void setup() { Serial.begin(9600); // Открываем serial соединение pinMode(9, INPUT); // Назначаем 9 пин входом pinMode(13, OUTPUT); // Назначаем 13 пин выходом }

Функция setup() выполняется в самом начале и только 1 раз сразу после включения или перезагрузки вашего устройства.

Функция loop() выполняется после функции setup(). Loop переводится как петля, или цикл. Функция будет выполняться снова и снова. Так микроконтроллер ATmega328 (большинстве плат Arduino содержат именно его), будет выполнять функцию loop около 10 000 раз в секунду.

Также вы будете сталкиваться с дополнительными функциями:

  • pinMode – режим ввода и вывода информации;
  • analogRead – позволяет считывать возникающее аналоговое напряжение на выводе;
  • analogWrite – запись аналогового напряжения в выходной вывод;
  • digitalRead – позволяет считывать значение цифрового вывода;
  • digitalWrite – позволяет задавать значение цифрового вывода на низком или высоком уровне;
  • Serial.print – переводит данные о проекте в удобно читаемый текст.

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

  • чтение и запись в хранилище,
  • подключение к интернету,
  • чтение SD карт,
  • управление шаговыми двигателями,
  • отрисовка текста
  • и т. д.

Как настроить Ардуино?

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

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

Алгоритм классической настройки программы Arduino выглядит так:

  • установка IDE, которую можно загрузить ниже или или с сайта производителя ;
  • установка программного обеспечения на используемый ПК;
  • запуск файла Arduino;
  • вписывание в окно кода разработанную программу и перенос ее на плату (используется USB кабель);
  • в разделе IDE необходимо выбрать тип конструктора, который будет использоваться. Сделать это можно в окне «инструменты» - «платы»;
  • проверяете код и жмете «Дальше», после чего начнется загрузка в Arduino.
Версия Windows MacOS Linux
1.6.5 Zip
Installer
Installer 32 bits
64 bits
1.8.2 Zip
Installer
Installer 32 bits
64 bits
ARM
1.8.5 Zip
Installer
App
Installer 32 bits
64 bits
ARM

Набиваем руку

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

Самый простой проект, который вы можете сделать - заставить светодиод, который расположен на плате Ардуино напротив порта, мигал каждую секунду.

Для этого необходимо:

  • подключить конструктор к ПК,
  • открыть программу, в разделе «сервис» ищем блок «последовательный порт»
  • выбираем необходимый интервал
  • после чего необходимо добавить код, который есть в Arduino IDE в разделе "Примеры".

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

  • мигающий светодиод;
  • подключение и управление датчиком температуры;
  • подключение и управление датчиком движения;
  • подключение фоторезистора;
  • управление сервоприводом.

Первый проект

Вот мы и дошли до нашего первого проекта. Давайте соединим Ардуино, светодиод и кнопку. Этот проект отлично подойдет начинающим.

Схема у нас будет такая:

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

// пины подключенных устройств int switchPin = 8; int ledPin = 11; // переменные для хранения состояния кнопки и светодиода boolean lastButton = LOW; boolean currentButton = LOW; boolean ledOn = false; void setup() { pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); } // функция для подавления дребезга boolean debounse(boolean last) { boolean current = digitalRead(switchPin); if(last != current) { delay(5); current = digitalRead(switchPin); } return current; } void loop() { currentButton = debounse(lastButton); if(lastButton == LOW && currentButton == HIGH) { ledOn = !ledOn; } lastButton = currentButton; digitalWrite(ledPin, ledOn); }

Вы могли заметить функцию debounse, о которой мы еще не писали. Она нужна для .

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

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

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

В основе этого электронного конструктора лежит аппаратная платформа для ввода и вывода, которая программируется на языке Processing/Wiring , созданном на базе C++. Из каких компонентов состоит Arduino, что можно сделать с его помощью и как научиться обращаться с этим умным чипом?

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

Arduino подкупает своей универсальностью. Используя специальные расширяющие платы, этот контроллер может взаимодействовать с другими девайсами посредством Bluetooth, Wi-Fi, GPRS, осуществлять и принимать телефонные звонки и СМС.

Контроллер является не простой микросхемой, а платой, где реализована готовая схема питания и интерфейсы для присоединения к ПК, входные и выходные разъемы.

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

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

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

Проекты на Arduino: что можно сделать

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

Регулятор температуры в доме

Реализовать такой проект можно с использованием нескольких плат Arduino Nano и одной Arduino Uno/Mega, которая будет выступать в роли базы. Связь между модулями можно реализовать с помощью NRF24L01 – модуля радиосвязи, который дает возможность объединять до 6 плат.

В одном корпусе необходимо собрать Arduino Nano, соединенные с датчиками влажности и температуры DHT22, а также модулем NRF24L01. Источником питания может выступать обычная батарейка. Несколько таких устройств необходимо разместить по всем помещениям в доме.

Показатели с Arduino Nano будут передаваться на базу, в роли которой выступает Arduino Mega или Uno. К ней также необходимо присоединить приемник сигнала NRF24L01, источник питания и дисплей LCD для отображения текстовой информации. Располагать «базу» необходимо в непосредственной близости от системы отопления. Принимая и обрабатывая поступающие данные о влажности и температуре, база будет передавать системе отопления команды и повышении или понижении температуры.

ЧПУ-станок

Эта идея является одной из самых сложных в реализации. С помощью Arduino Mega вы сможете реализовать не только ЧПУ-станок, но и 3D принтер. Помимо самой платы, вам необходимы будут драйверы двигателей L298N, а также сами двигатели. Остальная часть работы – это рама и разработка программного кода.

Smart-теплица

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

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

Роботы

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

Например, с помощью ультразвукового дальномера HC-SR04 ваш робот сможет фиксировать расстояние до препятствий и огибать их при движении. Применив драйвер двигателей L293D, вы получите в свое распоряжение 3 сервопривода и 4 двигателя. С помощью модуля HC-06 у вас появится возможность управлять своим детищем по Bluetooth через смартфон.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как выбрать Arduino Данный вопрос возникает у всех, кто впервые решился создать проект с использованием Arduino. Определились с необходимыми деталями: сенсорами, датчиками, модулями и т.д., и столкнулись с немалым ассортиментом плат Arduino, в добавок у каждой платы еще и по два, три аналога. Некоторые думают, что чем дороже и мощнее - тем лучше, приобретают серьезные решения, как например Arduino Due, а потом понимают, что на нем работают не все скетчи, и самостоятельно справиться со всей мощью данного девайса, для них трудно. Другие идут по противоположному пути и сталкиваются с нехваткой ресурсов (память, выводы, порты, тактовая частота, питание). Как же найти ту золотую середину′ Попробуем разобраться...

Плата Плюсы Минусы

Arduino Uno

функционал как у ProMini и Nano
  • Плата является самой распространённой в семействе Arduino, именно для неё создано наибольшее количество уроков
  • Благодаря наличию DIP панели, можно менять микроконтроллер
  • При одинаковом функционале с Arduino ProMini, Nano и Micro плата имеет в разы большие размеры

Arduino Mega 2560

  • Подходят shield созданные под Arduino UNO
  • Максимальное количество выводов
  • Расширенный объем всех видов памяти
  • Нельзя установить на Breadboard без использования проводов

Arduino Leonardo

функционал как у MICRO

  • Подходят shield созданные под Arduino UNO
  • Плата является усовершенствованной версией Arduino UNO и работает с большинством её скетчей
  • Нельзя установить на Breadboard без использования проводов
  • Некоторые скетчи созданные под Arduino Uno не работают на Leonardo, т.к. используются разные микроконтроллеры

Arduino Due


  • Количество выводов как у Arduino Mega
  • Внедрены два аналоговых выхода
  • Используется мощный 32 разрядный микроконтроллер с тактовой частотой 84МГц
  • Нельзя установить на Breadboard без использования проводов
  • Самый большой размер платы во всём семействе Arduino
  • Не все скетчи предусматривают столь высокую тактовую частоту
  • Не все shield предусматривают передачу сигналов с граничным напряжением 3,3В
  • Напряжение питания 3,3В

Arduino ProMini 3.3V

функционал как у Nano и UNO


  • Самая маленькая тактовая частота микроконтроллера, всего 8МГц
  • Напряжение питания 3,3В

Arduino ProMini 5V

функционал как у Nano и UNO

  • Можно использовать для конструирования схем на Breadboard
  • Самая миниатюрная плата в семействе Arduino
  • Поставляется без впаянных штыревых контактов, что позволяет использовать навесной монтаж
  • Не подходят shield созданные под Arduino UNO
  • Нет контроллера USB, в связи с чем требуется внешний программатор

Arduino NANO V3.0

функционал как у ProMini и UNO


  • Можно использовать для конструирования схем на Breadboard
  • Плата незначительно больше чем Arduino ProMini, но имеет порт USB и не требует использования внешнего программатора
  • Не подходят shield созданные под Arduino UNO
  • Внедрение порта USB cконтроллером, привело к увеличению объёма flash-памяти выделяемой под загрузчик (по сравнению с Arduino ProMini)

Arduino MICRO

функционал как у Leonardo


  • Можно использовать для конструирования схем на Breadboard
  • Плата незначительно больше чем Arduino Nano, но имеет весь функционал Arduino Leonardo
  • Есть возможность имитировать различные USB устройства при подключении к ПК (плата будет определяться как мышь, клавиатура и т.д.)
  • Не подходят shield созданные под Arduino UNO
  • Передача функции контроллера USB на микроконтроллер, привело к увеличению объёма flash-памяти выделяемой под загрузчик

Первый вопрос влияющий на выбор Arduino - какой проект Вы хотите реализовать′

Если Вы хотите создать уже готовый проект , любезно предоставленный другими разработчиками, то логичным приобретением будет та Arduino, на которой проект был создан изначально. Здесь стоит отметить тот факт, что теперь, на территории РФ платы Arduino распространяются под торговой маркой Geduino. То есть, как Вы правильно поняли, Arduino Micro отличается от Geduino Micro названием и логотипом (это не аналог), о чем написано на официальном сайте . А так как последняя стоит дешевле, то выбор очевиден.

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

Если Вы собираетесь реализовать собственный проект , то к выбору Arduino стоит подходить методом исключения. Если в Вашем проекте имеются модули с выводами под Arduino Uno , тогда исключаем Arduino ProMini 3.3V , Arduino ProMini 5V , - аналог Arduino Nano ), но могут иметь другой тип USB разъема, немного отличаться по габаритам, иметь иной контроллер USB, иной тип корпуса микроконтроллера, цвет платы и т.д. Здесь нужно понимать, что данные платы повторяют функционал их оригинала (на который они похожи названием), так как используют тот же микроконтроллер ATmega, той же серии. Габариты платы, корпус микроконтроллера и тип USB порта, можно определить по фото. А наличие «CH340G» в названии, означает о том, что в качестве контроллера USB используется не стандартный для Arduino чип FTDI, а его аналог CH340G, следовательно, для подключения такой Arduino к компьютеру, нужно установить драйвер для чипа CH340G . Данные платы подойдут тем, кто считает, что однократная установка драйвера не является неудобством, а пониженная цена - является преимуществом перед оригинальным названием.

Мозгокурс молодого бойца по программированию Ардуино или с чего все-таки начать знакомство с этой платформой.

«- С чего начинать, Ваше Величество? - спросил он. - Начни с начала, - важно ответил Король,…» (C ) Льюис Керрол Алиса в стране чудес

Шаг 1: Начинаем с самого начала или как было бы хорошо, если бы Ардуино была бесплатной

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

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

Нужно клонировать Ардуино своими руками !

Шаг 2: Собираем все необходимое

Для ускорения процесса воспользуемся макетной платой . Как известно из технических параметров контроллера ATmega 328 IC , для его запуска в минимальной конфигурации нам потребуются:

− контролер Arduino Duemilanove (будет использован как программатор);
− микросхема ATmega 328 IC ;
− кварцевый резонатор на 16 Мгц;
− резисторы 100 Ом 3 шт.;
− конденсаторы 22pF 2 шт.;
− светодиоды 3 шт с красным, зеленым, .и желтым цветом свечения;
− стабилизатор напряжения на 5 Вольт например 7805;
− любая 9 батарея с разъемом для подключения;
− кабель USB;
− компьютер или ноутбук с установленным пакетом программ Arduino IDE ;
− макетная плата и провода.

Шаг 3: Начинаем макетировать



Размещаем на макетной плате микросхему контроллера.

Шаг 4: Монтируем стабилизатор напряжения и цепи питания

Устанавливаем на плату стабилизатор напряжения L7805. Назначение выводов микросхемы 1-вход (7-20 Вольт), 2-корпус, 3-выход (5 Вольт). C помощью монтажных проводов подключаем стабилизатор к источнику питания и контроллеру, как показано на фотографиях.

Шаг 5: Подключаем питание к контроллеру

В соответствии с нумерацией выводов контроллера соединяем его монтажными проводами с выходом стабилизатора напряжения и общим проводом.

Совет: Монтажные провода имеют разный цвет изоляции, старайтесь использовать провода одного цвета для каждой цепи.

Шаг 6: Подключаем кварцевый резонатор



Располагаем на плате резонатор и конденсаторы колебательного контура.

Порядок монтажа следующий:

− конденсатор 22pF ставим между землёй и 9 ножкой контроллера;
− конденсатор 22pF ставим между землёй и 10 ножкой контроллера;
− резонатор включаем между ногами 9 и 10 контроллера;
− резистор 10 kOm включаем между 1 ногой контроллера и +5В (шунтируем сигнал «Сброс»).

Шаг 7: Добавляем индикаторы состояния контроллера

Светодиоды включаем последовательно с резисторами 100 Ом, между землёй и нашим программатором.

Шаг 7: Соединяем макет с платой программатора


Подключаем собранный макет к плате Arduino Duemilanove следующим образом:

− вывод жёлтого светодиода соединяем с 9 выводом на разъёме программатора, его пульсация покажет нам, что программатор работает;
− вывод красного светодиода соединяем с 8 выводом на разъёме программатора, он сигнализирует о возможных ошибках;
− вывод зелёного светодиода соединяем с 7 выводом на разъёме программатора, его свечение сигнализирует об обмене данными между программатором и микроконтроллером.

Соединяем наши платы между собой остальными проводами как показано на рисунке, не забыв соединить провода питания + 5 В и корпус между ними.

Шаг 8: Превращаем плату Arduino Duemilanove в программатор

Для того что в загрузить в микроконтроллер ATmega 328 IC бутлоадер необходимо превратить наш Arduino Duemilanove в программатор. Подключаем нашу сборку к компьютеру с помощью USB кабеля. Открываем среду программирования AndurinoIDE, выбираем в нем скетч (программу) AndurinoISP и загружаем его в Arduino Duemilanove. По миганию жёлтого светодиода убеждаемся, что скетч загрузился в наш программатор.

Шаг 9: Загружаем бутлоадер

В AndurinoISP (пункт меню « T ools» ) выбираем нужный нам тип контроллера (ATmega 328 IC) . Даём команду на загрузку бутлоадера «Burn bootloader» . Следим за сообщениями AndurinoIDE, после окончания загрузки бутлоадера «Done Burning bootloader» наш микроконтроллер готов к записи скетча проекта нашей новой самоделки .

Шаг 10: Возможные проблемы и их решение






Возможные ошибки при записи бутлоадера и способы их устранения приведены на скриншотах отладчика выше.

Эта статья не претендует на полноценное описание программирования «с ноля» микроконтроллера, но показывает как с помощью минимального набора элементов можно начать изготовление «своего» Андурино .



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: