Знакомство с Arduino

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

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

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

Существует несколько версий платформы Arduino – я стал владельцем платы Arduino Uno с микроконтроллером ATmega328 на борту.

В комплекте с Arduino идут:

  1. Сама плата Arduino с микроконтроллером
  2. Макетная плата для сбора своих схем (на фото – белая планка внизу)
  3. Набор контактных проводов разной длинны.
  4. Набор пассивных элементов (резисторы, тиристоры, транзисторы, различные датчики и прочее)
  5. Ну и конечно же USB провод

Программируется Arduino очень просто, т.к. использует свой упрощённый язык. Чтобы написать простейшую программу (мигание встроенного в плату светодиода) вам понадобится лишь несколько строк кода.На плате к 13 разъёму подключен встроенный светодиод. Наша задача – заставить этот светодиод мигать с периодичностью в одну секунду.

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


// Создаём переменную ledPin, где задаём номер выхода, к которому подключен светодиод
int ledPin = 13;

// Создаём первый обязательный метод с настройками платы

void setup() {
  // Указываем Arduino, что необходимый нам разъём будет выходом
  // Arduino может использовать одни и те же разъёмы как входы или как выходы.
  pinMode(ledPin, OUTPUT);
}

/*
* Теперь создаём "цикл" - это вторая обязательная часть программы будет непосредственно выполняться на Arduino и повторяться многократно.
*/
void loop() {
  // Задаём для соответствующего порта значение HIGH - напряжение есть (включаем светодиод)
  digitalWrite(ledPin, HIGH);
  // Одну секунду ждём
  delay(1000);
  // Убираем напряжение с 13 порта (выключаем светодиод)
  digitalWrite(ledPin, LOW);
  // и снова задержка на одну секунду
  delay(1000);
}

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

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

Беспаечная макетная плата

Беспаечная макетная плата

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

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

ВНИМАНИЕ! Ни когда не производите каких либо действий с вашими цепями при включенном питании на Arduino и в цепи. Вы можете просто повредить Arduino.

  1. Сначала соедините выход с Arduino на 5V с положительным контактным рельсом, а землю с Arduino (выход с подписью GND), с отрицательным рельсом. Теперь весь продольный положительный рельс – это источник в 5V, а отрицательный – земля. (ВНИМАНИЕ! Соединять эти рельсы напрямую опасно!!)
  2. Теперь соедините светодиод с пятивольтным рельсом длинной ногой (длинная нога всегда к источнику, а короткая к земле), а короткую воткните в любой другой свободный поперечный рельс.
  3. Соедините резистором на 220 [Ом] короткую ногу светодиода с любым другим поперечным рельсом
  4. И наконец, замыкаем цепь – соедините свободную ногу резистора с 13 выходом Arduino.

Наша цепь готова! Подключаем к питанию и радуемся!

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