Практическая работа. Лабораторная работа №1. Подключение светодиода к Аrduino.
Практическая работа Лабораторная работа №1. Подключение светодиода к Аrduino.
Практическую работу с контроллером начнем с традиционной процедуры моргания светодиодом. Светодиоды почти наверняка будут одними из наиболее часто используемых деталей в проектах. Подключая светодиоды, необходимо соблюдать правильную полярность. Положительный вывод светодиода называется анодом, отрицательный— катодом. Определить назначение контактов светодиода можно визуально: вывод катода короче, чем анода. Ток через светодиод течет только в одном направлении: от анода к катоду. Поскольку ток протекает от положительного полюса к отрицательному, анод светодиода следует подключить к источнику тока (цифровой выход +5 В), а катод к земле. При подключении необходимо также учитывать, что светодиод может быть рассчитан на меньшее напряжение чем-то что мы получаем с ардуино (5 В). Чтобы исключить выход из строя нашего светодиода мы воспользуемся формулами, изученными ранее и посчитаем дополнительное сопротивление, которое включится со светодиодом последовательно и ограничит ток. Немного теории. Светодиод – один из самых распространенных электронных компонентов, применяемых в электротехнических проектах. И естественно то, что любые проекты начинаются с примеров работы со светом – мигание, мерцание, переключение. Существует огромное количество светодиодов разных вариантов и моделей в разных корпусах и с различными характеристиками. Главное, что нам нужно знать о светодиодах (кроме того, что они светятся) – что это полупроводниковый прибор. Свет в виде испускаемых фотонов возникает в специальном слое (pn – переходе), когда через него проходит определенный ток. Принцип работы светодиода показан на следующей картинке.
Устройство светодиода Светодиоды — полупроводниковые приборы с электронно-дырочным переходом, создающий оптическое излучение при пропускании через него электрического тока в прямом направлении. Излучаемый светодиодом свет лежит в узком диапазоне спектра. Иными словами, его кристалл изначально излучает конкретный цвет (если речь идёт об СД видимого диапазона) — в отличие от лампы, излучающей более широкий спектр, где нужный цвет можно получить лишь применением внешнего светофильтра. Диапазон излучения светодиода во многом зависит от химического состава использованных полупроводников. Светодиод состоит из нескольких частей:
Эти элементы есть в любом светодиоде, вне зависимости от его модели. Светодиод является низковольтным прибором. Для индикаторных видов напряжение питания должно составлять 2-4 В при токе до 50 мА. Диоды для освещения потребляют такое же напряжение, но их ток выше – достигает 1 Ампер. В модуле суммарное напряжение диодов оказывается равным 12 или 24 В. Подключать светодиод нужно с соблюдением полярности, иначе он выйдет из строя. Цвета светодиодов Светодиоды бывают разных цветов. Получить нужный оттенок можно несколькими способами. Первый – покрытие линзы люминофором. Таким способом можно получить практически любой цвет, но чаще всего эта технология используется для создания белых светодиодов. RGB технология. Оттенок получается за счет применения в одном кристалле трех светодиодов красного, зеленого и синего цветов. Меняется интенсивность каждого из них, и получается нужное свечение.
Применение примесей и различных полупроводников. Подбираются материалы с нужной шириной запрещенной зоны, и из них делается кристалл светодиода. Принцип работы светодиодов Любой светодиод имеет p-n-переход. Свечение возникает при рекомбинации электронов и дырок в электронно-дырочном переходе. P-n переход создается при соединении двух полупроводников разного типа электропроводности. Материал n-типа легируется электронами, p-типа – дырками. При подаче напряжения электроны и дырки в p-n-переходе начинают перемещаться и занимать места. Когда носители заряда подходят к электронно-дырочному переходу, электроны помещаются в материал p-типа. В результате перехода электронов с одного энергетического уровня на другой выделяются фотоны. Не всякий p-n переход может излучать свет. Для пропускания света нужно соблюсти два условия:
Реализовать подобное в структуре с одним p-n-переходом не получится. По этой причине создаются многослойные структуры из нескольких полупроводников, которые называются гетероструктурами. Для создания светодиодов используются прямозонные проводники с разрешенным прямым оптическим переходом зона-зона. Наиболее распространенные материалы группы А3В5 (арсенид галлия, фосфид индия), А2В4 (теллурид кадмия, селенид цинка). Цвет светоизлучающего диода зависит от ширины запрещенной зоны, в которой происходит рекомбинация электронов и дырок. Чем больше ширина запрещенной зоны и выше энергия квантов, тем ближе к синему излучаемый свет. Путем изменения состава можно добиться свечения в широком оптическом диапазоне – от ультрафиолета до среднего инфракрасного излучения. Светодиоды инфракрасного, красного и желтого цветов изготавливаются на основе фосфида галлия, зеленый, синий и фиолетовый – на основе нитридов галлия. Виды светодиодов, классификация По предназначению выделяют индикаторные и осветительные светодиоды. Первые используются для стилизации, декоративной подсветки – например, украшение зданий, рекламные баннеры, гирлянды. Осветительные приборы используются для создания яркого освещения в помещении.
По типу исполнения выделяют:
Светодиоды могут быть:
Светодиоды классифицируются по цветовой гамме. Для максимально точной идентификации цвета в документации прибора указывается его длина волны излучения. Белые светодиоды классифицируются по цветовой температуре. Они бывают теплых оттенков (2700 К), нейтральных (4200 К) и холодных (6000 К). По мощности выделяют светодиоды, потребляющие единицы мВт до десятков Вт. Напрямую от мощности зависит сила света. Полярность светодиодов
При неправильном включении светодиод может сломаться. Поэтому важно уметь определять полярность источника света. Полярность – это способность пропускать электрический ток в одном направлении. Полярность моно определить несколькими способами:
Выбор способа определения полярности зависит от ситуации и наличия у пользователя нужного инструмента.
Расчет сопротивления для светодиода Диод имеет малое внутреннее сопротивление. При подключении его напрямую к блоку питания, элемент перегорит. Чтобы этого не случилось, светодиод подключается к цепи через токоограничивающий резистор. Расчет производится по закону Ома: R=(U-Uled)/I, где R – сопротивление токоограничивающего резистора, U – питание источника; Uled – паспортное значение напряжения для светодиода, I – сила тока. По полученному значению и подбирается мощность резистора. Важно правильно рассчитать напряжение. Оно зависит от схемы подключения элементов. Можно не производить расчет сопротивления, если использовать в цепи мощный переменный или подстроечный резистор. Токоограничивающие резисторы существуют разного класса точности. Есть изделия на 10%, 5% и 1 % – это значит, что погрешность варьируется в указанном диапазоне. Выбирая токоограничивающий резистор, нужно обратить внимание и на его мощность. почти всегда, если при малом рассеивании тепла устройство будет перегреваться и выйдет из строя. Это приведет к разрыву электрической цепи. Рисунок 8. Чем больше сопротивление резистора, тем сильнее он ограничивает ток. Резистор может быть подключен последовательно с любым из выводов светодиода. Полярность подключения для резисторов не важна. Рис. 8–Установка светодиода на плате Arduino Подключаем светодиод к контакту 8 Arduino последовательно с резистором, В этом примере мы установим токоограничивающий резистор номиналом 220 Ом. Нам надо знать напряжение светодиода и его ток после чего по известному нам закону Ома мы сможем найти необходимое нам ограничивающее сопротивление. Все эти параметры можно экспериментально найти, применив мульти метр и лабораторный блок питания. Пример: Предположим, что LED1 — стандартный светодиод с прямым током 20 мА и падением напряжения 2 В. Напряжение питания 5 В должно перераспределиться между светодиодом и резистором. Поскольку доля светодиода составляет 2 В, оставшиеся 3 В должны быть приложены к резистору. Зная максимальное значение прямого тока через светодиод (20 мА), можно найти номинал резистора: R=U/I= 3/0, 02 = 150 Ом. Таким образом, при сопротивлении резистора 150 Ом через него и светодиод протекает ток 20 мА. По мере увеличения сопротивления ток будет уменьшаться. Резистор 220 Ом обеспечивает достаточную яркость свечения светодиода, к тому же этот номинал очень распространен. Еще одно важное соотношение — формула для расчета мощности, которая показывает, сколько ватт рассеивается на каждом компоненте. Увеличение мощности рассеивания связано с ростом тепловыделения прибора. Для каждого компонента, как правило, задается максимально допустимая мощность. Максимальная мощность резистора в нашем примере равна 0, 125 Вт. Формула для расчета мощности выглядит следующим образом: Р = UI где Р — мощность, Вт; U— напряжение, В; I— сила тока, А. Для резистора из схемы на Рисунок 78 при падении напряжения 3 В и силе тока 20 мА мощность равна Р = 3 0, 02 = 0, 06 Вт. Поскольку 60 мВт < 0, 125 Вт = 125 мВт, следовательно, данный резистор не сгорит. Пример кода включения светодиода к Ардуино. void setup() { pinMode(13, OUTPUT); // объявляем пин 13 как выход }
void loop() { digitalWrite(13, HIGH); // зажигаем светодиод
delay(1000); // ждем 1 секунду
digitalWrite(13, LOW); // выключаем светодиод
delay(1000); // ждем 1 секунду } Пояснения к коду: 1. процедура setup выполняется при запуске микроконтроллера один раз. Используется для конфигурации портов микроконтроллера и других настроек; 2. после выполнения setup запускается процедура loop, которая выполняется в бесконечном цикле. Это мы используем, чтобы светодиод мигал постоянно; 3. процедуры setup и loop должны присутствовать в любой программе (скетче), даже если вам не нужно ничего выполнять в них — пусть они будут пустые, просто не пишите ничего между фигурными скобками. 4. delay(); останавливает программу на заданное количество микросекунд; 5. каждые 500 миллисекунд состояние переменной boolean меняется на противоположное с помощью команды ledState=! ledState. Пример кода включения светодиода к Ардуино без delay. unsigned long currentTime; // переменная времени boolean ledState = 0; // переменная состояния светодиода
void setup() { pinMode(10, OUTPUT); // объявляем пин 10, как выход }
void loop() { if (millis() - currentTime > 500) // проверяем сколько прошло миллисекунд { currentTime = millis(); ledState=! ledState; // меняем состояние светодиода на противоположное digitalWrite(10, ledState); } } Пример кода включения и мигания двух светодиодов к Ардуино. void setup() { pinMode(12, OUTPUT); // объявляем пин 12 как выход pinMode(10, OUTPUT); // объявляем пин 10 как выход }
void loop() { digitalWrite(12, HIGH); // зажигаем светодиод digitalWrite(10, LOW); // выключаем светодиод
delay(1000); // ждем 1 секунду
digitalWrite(12, LOW); // выключаем светодиод digitalWrite(10, HIGH); // зажигаем светодиод
delay(1000); // ждем 1 секунду } Подключение кнопки и светодиода к Ардуино. Включение и выключение светодиода кнопкой Ардуино производится с помощью подключения одной тактовой кнопки к цифровому пину без подтягивающего резистора. Дело в том, что платы Arduino имеют встроенные резисторы, которыми можно управлять. Для этого следует использовать в pinMode() параметр INPUT_PULLUP, которая сконфигурирует пин на вход с подтягивающим резистором. Обратите внимание, что при использовании INPUT_PULLUP происходит подтяжка цифрового входа к 5 вольтам, поэтому значение входящего сигнала будет инвертирован. То есть, при отпущенной кнопке, которая подключена к заземлению — GND, на цифровом входе будет высокий сигнал. При нажатии на кнопку — на входе, который сконфигурирован с помощью INPUT_PULLUP, будет низкий сигнал. Пример кода включения светодиода к Ардуино через кнопку. boolean buttonWasUp = true; boolean ledEnabled = false;
void setup() { pinMode(10, OUTPUT); pinMode(2, INPUT_PULLUP); }
void loop() { // узнаем, отпущена ли кнопка сейчас boolean buttonIsUp = digitalRead(2);
// если кнопка была отпущена и не отпущена сейчас if (buttonWasUp & & ! buttonIsUp) {
// исключаем дребезг контактов тактовой кнопки delay(10);
// и считываем сигнал с кнопки снова buttonIsUp = digitalRead(2);
// если кнопка нажата, то переворачиваем сигнал светодиода if (! buttonIsUp) { ledEnabled =! ledEnabled; digitalWrite(10, ledEnabled); } }
// запоминаем состояние кнопки для новой итерации buttonWasUp = buttonIsUp; } Пояснения к коду: · boolean — это глобальная переменная Ардуино, которая может принимать всего два значения – true (истина) и false (ложь); · задержка delay(10); в программе позволяет избежать «дребезг контактов» кнопки и исключить ложное срабатывание.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|