5
(1)

Как известно, первая программа, которую человек пишет при изучении программирования называется «Hello World!». Суть этой программы сводится к тому, чтобы вывести данный текст или любой другой какой вздумается на экран монитора компьютера.

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

Устройство светодиода

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

Полярность светодиода

Для того чтобы правильно включить светодиод в электрическую цепь, необходимо отличать катод от анода. Сделать это можно по нескольким признакам:
1) Анод светодиода имеет более длинный проводник (если он новый);
2) Со стороны катода, корпус светодиода немного срезан;
3) Обычно если посмотреть на просвет светодиод с боку, то катод у него шире анода (в виде флажка).

А вот так выглядят светодиоды «в живую».

Обычный светодиод

Это обычные одноцветные светодиоды. А бывают еще двух, и даже трехцветные. Вот так, например, выглядит трехцветный (RGB) светодиод:

У этого светодиода сразу четыре ноги. Одна — катод и, а три другие — наоборот аноды для трех разных цветов или на оборот (обычно это написано в спецификации (DataSheet-е) при покупке этот момент лучше уточнить у продавца).

RGB светодиод

В современной микроэлектронике применяются миниатюрные светодиоды для поверхностного монтажа. Такие индикаторы, например, имеются на Ардуино Уно для информирования пользователя о состоянии системы. Вот он светит зелененьким цветом:

Схема включения

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

Катод светодиода подключим к минусу (земля, GND), анод же соединим с выводом №2 через токозадающий резистор 220 Ом.

Резистор помогает решить две задачи. Во-первых, при подключении к источнику питания, светодиод старается бесконтрольно пропустить через себя как можно больше тока. Это может привести к самосожжению самого светодиода и к повреждению контроллера! Обычному светодиоду нужно всего 20 мА тока.

Вторую функцию, которую выполняет резистор — снижение напряжение с 5 Вольт до 2 Вольт, что для многих стандартных светодиодов является рабочим напряжением.

Учитывая эти два пожелания, мы можем рассчитать номинал нашего токозадающего резистора. Закона Ома в студию!

I = U/R;

R = U/I = (5В-2В)/20мА = 150 Ом

Итак, мы выяснили, что токозадающий резистор для классических выводных светодиодов имеет номинал 150 Ом, именно его мы и установим в схему. В некоторых источниках Ом обозначают буквой из греческого алфавита Ω Омега

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

Теперь, когда светодиод подключен к Ардуино, настало время программирования.

mBlock

Для того чтобы программа выполнялась Arduino-й в начале из пункта Робот нужно вытащить блок :

Чтобы программа выполнялась постоянно и не прерывалась мы используем блок из пункта контроль:

Чтобы светодиод мигал нам нужно его включать и выключать на некоторое время. Для этого в mBlock используется блок-команда:

в ней вместо 9 (двойным щелчком по ней) вставляем 2. И будем включать на некоторое время и выключать через некоторое светодиод переключая установку в High (высокий, в нашем случае это включение, в электронике это логическая 1) или Low (низкий, в нашем случае это выключить, в электронике логический 0).

Чтобы установить задержку выполнения программы будем использовать блок:

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

Итоговая программа

Что происходит в итоговой программе:
1. Включаем светодиод подключенный ко второму пину Arduino;
2. Ждем пол секунды;
3. Выключаем светодиод подключенный ко второму пину Arduino;
4. Ждем пол секунды и так эта программа выполняется постоянно.

Arduino IDE

Для вывода высокого или низкого уровня сигнала в редакторе программ Arduino IDE используется функция digitalWrite. Вызов этой функции имеет вид:
digitalWrite(номер_контакта, уровень_сигнала);
где аргумент уровень_сигнала может принимать два значения: HIGH (высокий, +5В) или LOW (низкий, заземлен).
Другими словами, если написать:
digitalWrite(2, HIGH);
то Ардуино соединит ногу №2 с питанием +5В и светодиод, загорится!
Если же напишем:
digitalWrite(2, LOW);
Анод светодиода замкнется на землю, и светодиод погаснет.
С этим понятно. Остался еще один момент. Чтобы контакт №2 именно выводил сигнал, а не принимал его, потребуется использовать специальную функцию для установки режима контактов — pinMode. Формат этой функции таков:
pinMode(номер_контакта, режим_контакта);
где аргумент режим_контакта может принимать значения: OUTPUT (вывод) и INPUT (ввод).
То есть нам, чтобы помигать светодиодом, надо будет добавить в программу строчку:
pinMode(2, OUTPUT);

Программа
Итоговая программа для мигания светодиодом будет иметь вид:

int led = 2;
void setup() {
    pinMode(led, OUTPUT); // установка 2-го контакта в режим вывода
}
void loop() {
    digitalWrite(led, HIGH); // вывод №2 в активное состояние
    delay(1000); // пауза 1-секунда
    digitalWrite(led, LOW); // вывод №2 в неактивное состояние
    delay(1000); // пауза 1-секунда
}

В программе присутствует еще одна полезная функция — delay. Это просто пауза, задаваемая в миллисекундах. delay (1000) — означает паузу в 1000 миллисекунд, что равно одной секунде.
Все! Загружаем программу на Ардуино, и смотрим на мигающий светодиод! Вы сделали это сами. Запрограммировали микроконтроллер! Круто, не правда ли?:)

Задания

Для закрепления рекомендую сделать несколько простых устройств со светодиодами.

  1. Проблесковые маячки. Пусть в схеме будет два светодиода: красный и желтый. Нужно написать программу, которая будет мигать двумя светодиодами одновременно. Когда один загорается, другой гаснет. И наоборот.
  2. Сигнал SOS. Светодиод должен мигнуть три раза с периодом 500 мс, затем три раза с периодом 1000 мс, и, наконец, еще три раза опять быстро — 500 мс. Таким образом, светодиод будет передавать сигнал SOS, который на азбуке Морзе состоит из трёх точек, трех тире и еще трёх точек.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Сожалеем, что вы поставили низкую оценку!

Позвольте нам стать лучше!

Расскажите, как нам стать лучше?