Подключение и программирование светодиодов. Часть 1.

Светодиоды, или светоизлучающие диоды (СИД, в английском варианте LED — light emitting diode)— полупроводниковый прибор, излучающий свет при пропускании через него электрического тока. Так как светодиод является полупроводниковым прибором, то при включении в цепь необходимо соблюдать полярность. Светодиод имеет два вывода, один из которых катод («минус»), а другой — анод («плюс»).

Led1-300x176

Как заставить светодиод гореть? Посмотрев на схему выше мы увидим, что нам достаточно подать + и — на соответствующие ножки светодиода. Для этого вполне подойдет батарейка на 3в, например cr2032, у которой одна сторона это +, а другая -.

led1

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

ардуино светодиод

При таком подключении светодиод будет гореть, когда на порт 13 будет подано высокое напряжение (HIGH) и гаснуть когда низкое (LOW). Подключите светодиод как показано на картинке и загрузите программу «Blink» (если не знаете как, то вам сюда). Если все сделано правильно, то ваш светодиод будет моргать, как это делал раньше встроенный светодиод. Теперь попробуйте подключить светодиод не к 13, а к другому порту, например, 12. Не забудьте внести изменения в программе (int led = 12;). Если все сделано правильно, то и сейчас ваш светодиод будет моргать с периодом 1с.

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

Теперь блок loop будет выглядеть так:

 

Блок setup останется без изменений.

Теперь, используя только что полученные знания, напишем программу, которая с помощью светодиода будет посылать сигнал SOS на азбуке Морзе.

На азбуке Морзе SOS выглядит как «. . . _ _ _ . . .», т.е. три коротких сигнала, три длинных и снова три коротких.

Для решения данного задания у нас есть все необходимые знания. Подключим светодиод к 13 порту и запрограммируем сначала три быстрых моргания, затем три медленных и снова три быстрых. За короткое моргание примем горение в течение 500мс, за длинное – в течение 1000мс. При этом время негорения будет всегда одинаковым, например, 500мс.

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

Медленное моргание, соответственно, будет так:

Осталось только повторить эти сигналы, а также, не забыть объявить и определить переменную led и указать режим порта.

 

Код программы:

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

 

Кроме того, данную программу можно сократить. В программе заметны повторяющиеся блоки, которые можно заменить циклами. В данном случае будем использовать цикл for (цикл с параметром). Общий вид цикла следующий:

for (initialization; condition; increment) {операторы выполняющиеся в цикле}

Инициализация (Initialization) выполняется самой первой и один раз. Каждый раз в цикле проверяется условие (condition), если оно верно, выполняется блок операторов и приращение (increment), затем условие проверяется вновь. Когда логическое значение условия становится ложным, цикл завершается.

Давайте троекратное повторение каждого набора команд заменим циклом. Тогда код программы примет следующий вид:

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

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *