Уроки Arduino от Jeremy Blum. Первые шаги.
Всем привет. Я Джереми Блум. Рад представить вам новую серию туториалов по Arduino.
Arduino – это потрясная open-source платформа с микроконтроллером, которую можно использовать для создания электронных проектов. Для автоматизации вещей, в которых есть входы-выходы, прерывания, и т.п. Мы поговорим обо всем этом в этой серии туториалов.
Это должно быть очень увлекательно. Неважно, новичок ли вы, который никогда не связывался с электроникой до этого или вы «ветеран», который плотно работал с микроконтроллерами, но никогда не использовал Arduino. Должен получится отличный цикл гайдов. Первые смогут начать с изучения основ Arduino: как это работает, как устанавливать софт, собирать простые схемы типа мигающих светодиодов и т.п., а затем и более сложные вещи. Давайте начнем.
Вещи, которые могут вам понадобится в нашем цикле уроков и для того, чтобы работать с Arduino
- Конечно же, вам понадобится сама плата Arduino.
- Вам понадобится USB-кабель, для того, чтобы программировать Arduino. Так же через него идет питание от вашего компьютера. Если вы хотите использовать Arduino не подключенным к компьютеру, после того, как вы закончили с программированием, вам понадобится блок питания.
- Вам также понадобится (breadboard) (доска для прототипирования, макетная плата, монтажная плата). Брэдборды крайне удобны для сборки прототипов электронных схем. Мы соберем несколько различных схем, которые вы сможете использовать для управления светодиодами, динамиками, моторами и всякими такими вещами.
- Вам понадобятся светодиоды и резисторы (220 Ом, 1 кОм, 10 кОм, 100 кОм) для тестов, которые мы будем проводить.
- Вам может понадобиться динамик или парочка, чтобы вы могли извлекать звук из Arduino.
- Моторы. Мы будем использовать постоянные моторы, сервоприводы и, если хватит времени, шаговые моторы.
- Еще несколько сенсоров по ходу дела. Я буду говорить о них по ходу дела. Но для затравки скажу, что, возможно, мы будем использовать датчики изгиба, сенсоры давления и датчики света.
Что же такое Arduino?
Arduino – это open-source платформа для прототипирования устройств,которые основаны на микроконтроллерах ATmega Atmel. Вы можете программировать их сами по себе через штуковину, называемую ISP-программатор. И программировать их на языке С. Этим способом я сделал несколько проектов в лабораторном классе в универе. И это круто на самом деле. Вы можете сделать много забавных вещей с их помощью.
Но для среднестатистического человек С-код может быть зануден и запутан. И это может создавать трудности при создании интересных устройств, которые позволяют делать микроконтроллеры. Что делает Arduino – это абстрагирует путь, через который вы все это делаете. Вы получаете среду программирования Arduino, которая значительно проще С. Это работает через небольшую программку, прошитую в микропроцессоре. Прошивка Arduino зашита в ATmega чип, который установлен на плату Arduino. И вы программируете на языке Arduino, о котором мы будем говорить на протяжении этой серии уроков. Итак, это Arduino UNO:
Мы будем использовать ее в большинстве туториалов. Но вы можете использовать любую разновидность Arduino. Arduino держит спецификации открытыми. Это означает, что на самом деле не обязательно брать именно Arduino с Arduino-брендом. Они публикуют схемы в открытый доступ. И вы можете собрать свою собственную плату из частей, которые у вас есть или купить их. Вы можете прошивать их через ISP программатор, если захотите. Существует множество способов, как использовать микроконтроллеры Arduino. Мы будем работать с UNO, поскольку его просто достать.
У него есть USB-порт для программирования, гнездо для внешнего питания, регулятор напряжения для него. Вы можете запитать его от батарейки или блока питания, включенного в розетку. Есть кнопка RESET, ISP-программатор. Сам ATmega чип и набор контактов, к которым вы подключаете своих входы и выходы.
Как вам настроить компьютер, чтобы могли программировать свой Arduino
Начните с посещения сайта Arduino, чтобы загрузить оттуда открытую среду программирования Arduino. Это arduino.cc. Кликайте по кнопке Download

Проскрольте вниз. Найдите версию операционки, на которой вы сидите. У меня сейчас Windows.

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

Я сохраню его на рабочий стол.
Программа Arduino сохраняется в папку с тем же именем, что и скет. Скетч – это то, как называется программа в Arduino. Их называют скетчами.
Следующая вещь, которую надо сделать – это убедиться, что вы работаете с правильной разновидностью Arduino. Идите в Tools-Board. Затем дождитесь, когда выпадет список. У нас Arduino Uno. Поэтому выбираем Uno. Если у вас другой Arduino, убедитесь, что вы правильно его выбрали здесь. Теперь мы готовы программировать наш Arduino.

Простая программа для Arduino
Для начала давайте сделаем очень простую программку для Arduino. Все, что программа будет делать – просто мигать светодиодом, встроенном на плате. У всех Arduino есть светодиод, подключенный к контакту 13, Поэтому вам не понадобится никакой внешней схемы. Мы будем включать и выключать встроенный светодиод.
Это хорошая мысль – начать с комментирования своего кода. На языке Arduino двойной слеш означает однострочный комментарий. А слеш-звездочка – многострочный. Назовем это «первой программой Джереми. Она прекрасна».

Что мы сделаем – объявим константы в начале нашей программы. Давайте сделаем это.
int ledPin = 13;
Для тех, кто не программировал раньше: все, что мы сделали – это присвоили integer 13. Integer – это просто число. И это константа. Эта переменная определяет, на каком из контактов находится светодиод Arduino. Это контакт 13.

Все программы на Arduino обязаны иметь два метода. Первый - это void setup. Он выглядит так:
void setup ()
Содержимое должно быть между этими скобками
{
}
Вторая часть любой программы Arduino (она может быть пустой, если хотите) – это void loop:
void loop ()
{
}

Для чего нужны две эти части. Первая делает, все, что будет запущено один раз – в самом начале, когда Arduino включается. А функция loop отвечает за вещи, которые будут крутиться непрерывно, в бесконечном цикле, пока Arduino включен. И это то, что вы обычно будете хотеть от микроконтроллера: делать что-то бесконечно, пока вы его не выключите.
Функция setup. Давайте будем комментировать происходящее. Мы проинициализируем контакты в качестве выходов. Все контакты на Arduino могут быть использованы и как входы и как выходы. И мы еще поговорим об этом подробнее. Но сейчас для включения и выключения светодиода мы должны убедиться, что контакт с ним установлен как выход. В среде Arduino вы можете использовать это через команду pinMode. pinMode принимает два аргумента. Сам контакт, которые вы хотите настроить, это ledPin и хотите ли вы, чтобы он был входом или выходом. Мы хотим, чтобы он был выходом – OUTPUT. И всегда нужно завершать строку точкой с запятой.

Теперь мы напишем наш цикл. Он очень простой. Все, что он делает – это устанавливает светодиод в HIGH, то есть включает, ждет немного, выключает и снова ждет немного. И он будет повторяться попеременно, выключая/выключая светодоиод.
Для того, чтобы установить цифровой выход используется команда digitalWrite. Опять же, она принимает два аргумента. Первый – это контакт, на который мы хотим повлиять. Нам нужен ledPin. Устанавливаем его в HIGHT и LOW. HIGHT означает включить, LOW – выключить. Мы начинаем с установки HIGHT.
Теперь мы хочем оставаться HIGHT до следующего действия. Поэтом у добавим здесь задержку: delay. Принимаем аргумент задержки в миллисекундах. В секунде 1000 миллисекунд, поэтому напишем здесь 1000. Это оставит светодиод включенным на 1 секунду, пока мы не выполним следующую команду: digitalWrite(ledPin, LOW). Это его выключит. И нам нужно остаться LOW на секунду: delay(1000). Светодиод выключенный на секунду.

В конце он перейдет от последней сделанной вещи к началу цикла и включится снова. Мы получили светодиод, который попеременно включается и выключается, задерживаясь на секунду каждый раз. Это наша первая готовая программа на Arduino! И это все, что она делает.
Теперь я беру USB кабель и подключаю его к компьютеру и к Arduino. Видите, Arduino засветился:

Если вы сидите с Arduino под Windows как и я, у вас может выскочить предупреждение о том, что драйвер Arduino Uno не установлен. Это из-за изменений, которые были сделаны в интерфейсе платы Uno по сравнению с предыдущими версиями Arduino. Если у вас более старая версия Arduino, она должна встать сама по себе. Если у вас Uno, необходимо выполнить следующие действия. Откройте меню «Пуск». Затем «Панель управления». Идем в «Система и безопасность». Кликнем по «Категории». Затем нужно выбрать «Система». Идем в «Менеджер устройств». И вы видите Arduino Uno здесь.

Кликните на нем и выберите «Обновить драйвер». Дальше выбираем «Найти драйвер на компьютере». Драйвер на самом деле был загружен, когда мы скачивали среду Arduino, поэтому нам нужно зайти в эту папку. Она Находится у меня на рабочем столе. И выбираете папку «drivers». Жмем «OK», «Далее». Появляется сообщение «Производитель не может бать установлен». Это нормально. Все равно жмем «Установить». И все, готово! Жмем «Закрыть», закрываем открытые окна. И мы готовы прошивать наш Arduino.
Для прошивки все, что нужно сделать – это нажать кнопку «Upload»:

Это запустит компиляцию и загрузит все на плату Arduino. Убедитесь, что выбран нужный COM-порт. Высветилось «Uploaded».
Теперь посмотрите на вашу плату Arduino. Как видите, светодиод мигает каждую секунду. Поздравляю, вы создали вашу первую программу на Arduino!
Послесловие и видеоурок
Это все технические моменты на этот раз. Мне не хотелось устраивать вам вывих мозга. Я просто рассказал, как настроить систему, чтобы убедиться, что вам удалось завести Arduino Uno или другой микроконтроллер. Я упомянул о брэдбордах, проводах, резисторах, светодиодах. Вы уже можете начинать экспериментировать с ними.
На следующем уроке мы окунемся в использование входов, выходов и более сложные вещи с использованием Arduino.
Полный первый видеоурок от Джереми Блума приведен на видео ниже:
Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!