Микроконтроллеры уже широко вошли в нашу жизнь и трудно представить себе какую-либо электронную штуковину без них. Умение работать или хотя бы иметь представление о нём уже является негласным правилом для технического специалиста. Существует множество различных платформ для быстрого прототипирования и изучения электроники. Одой из популярных платформ ныне является Arduino, с которой мы и начнем своё знакомство с микроконтроллерами и напишем простейшую программу, мигающую светодиодом.
С недавних пор, а именно с моего прошедшего дня рождения у меня появилась такая популярная вещь, как Arduino. Кто не знает, Arduino – это инструмент для проектирования электронных устройств (электронный конструктор – почти как лего властелин колец) более плотно взаимодействующих с окружающей физической средой, чем стандартные персональные компьютеры, которые фактически не выходят за рамки виртуальности. Проще говоря, это микроконтроллер, которые легко можно программировать с компьютера через USB провод + набор резисторов и прочих датчиков.
Сегодня я покажу как реализовать простейший пример – мигающий светодиод с периодом в 1 секунду, и расскажу о том, как пользоваться макетной платой (брэдборд) и подключать её к ардуино.
Существует несколько версий платформы Arduino – я стал владельцем платы Arduino Uno с микроконтроллером ATmega328 на борту.
В комплекте с Arduino идут:
- Сама плата Arduino с микроконтроллером
- Макетная плата для сбора своих схем (на фото – белая планка внизу)
- Набор контактных проводов разной длинны.
- Набор пассивных элементов (резисторы, тиристоры, транзисторы, различные датчики и прочее)
- Ну и конечно же 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.
- Сначала соедините выход с Arduino на 5V с положительным контактным рельсом, а землю с Arduino (выход с подписью GND), с отрицательным рельсом. Теперь весь продольный положительный рельс – это источник в 5V, а отрицательный – земля. (ВНИМАНИЕ! Соединять эти рельсы напрямую опасно!!)
- Теперь соедините светодиод с пятивольтным рельсом длинной ногой (длинная нога всегда к источнику, а короткая к земле), а короткую воткните в любой другой свободный поперечный рельс.
- Соедините резистором на 220 [Ом] короткую ногу светодиода с любым другим поперечным рельсом
- И наконец, замыкаем цепь – соедините свободную ногу резистора с 13 выходом Arduino.
Наша цепь готова! Подключаем к питанию и радуемся!
В следующий раз я расскажу как собрать простейший светофор из 3 светодиодов, который можно будет включать и выключать (жёлтый мигающий сигнал) по нажатию кнопки. До скорых встреч!