какую функция используется для выключения светодиод
Как подключить светодиод к Ардуино
Рассмотрим, как подключить светодиод к Ардуино Нано через резистор. Мигание светодиодом — это самая простая программа (скетч) для начала работы с микроконтроллером. Далее размещена подробная инструкция по сборке схемы со светодиодом и резистором, правила загрузки программы в плату Arduino UNO и приведен скетч для мигания светодиода на Arduino UNO с комментариями.
Назначение и устройство светодиодов
Светодиоды — это полупроводниковые элементы, которые служат для индикации и освещения. Они имеют полярность (+ и —) и чувствуют направление движения постоянного тока. Если подключить светодиод неправильно, то постоянный ток не пройдет и прибор не засветится. Кроме того, светодиод может выйти из строя при неправильном подключении. Анод (длинная ножка светодиода) подключается к плюсу.
Фото. Устройство светодиода и резистора в разрезе
В этом простом примере показано, как с помощью платформы Arduino заставить мигать светодиод. Для начала мы соберем простую схему на макетной плате, подключив светодиод к цифровому выходу микроконтроллера Ардуино (входы и выходы на плате еще называют Pin). Загрузив скетч (так называют программу для Ардуино), вы поймете, как пользоваться и работать с платой Arduino UNO.
Как подключить светодиод к Arduino Uno / Nano
Для этого занятия нам потребуется:
Для надёжной сборки устройств создаются печатные платы, на что уходит много времени. Для быстрой сборки электрических схем без пайки используют макетную плату (breadboard). Под слоем пластика на макетной плате находятся медные пластины-рельсы (дорожки), выложенные по простому принципу (смотри фото). Дорожки служат для создания контакта между радиоэлементами и проводами.
Быстрая сборка схем на макетной плате
Соберите схему подключения светодиода к Arduino, как на фото ниже
Для чего светодиод включают к Ардуино с резистором? Дело в том, что в светодиоде стоит кристалл который боится больших токов. Резистор призван ограничивать силу тока (Амперы), чтобы светодиод не перегорел. Большой ток губителен для светодиода, меньший ток (благодаря подключению резистора) обеспечивает длительную работу. Чтобы подключить светодиод к Ардуино без резистора, используйте 13 порт.
Подключите плату Arduino к компьютеру при помощи USB провода
Если у вас не установлена программа Arduino IDE, то скачайте последнюю версию на официальном сайте www.arduino.cc. С помощью USB кабеля производится запись программ, также плата получает питание от компьютера. Если требуется автономная работа электронного устройства, то плату можно запитать от батарейки или блока питания на 7-12 В. При подаче питания на плате загорится светодиод индикации.
Откройте программу Arduino IDE и проверьте подключение платы
Убедитесь, что программа определила порт подключения Ардуино
Скетч для включения светодиода от Ардуино
Скопируйте код под фото и вставьте свой первый скетч в программу
Перед загрузкой программы в микроконтроллер можно выполнить проверку (компиляцию), на наличие ошибок в коде. В случае обнаружения ошибки — будет получено сообщение в нижнем окошке Arduino IDE. В любом случае, при загрузке скетча, сначала происходит проверка и компиляция программы. При компиляции происходит перевод программы в двоичный код, понятный микроконтроллеру.
Загрузите скетч в Arduino, нажав на кнопку «Вгрузить» (смотри фото)
Перед загрузкой программы в микроконтроллер, потребуется сохранить скетч на компьютере. Нажмите «Сохранить» в появившемся окне и начнется загрузка.
Перед загрузкой программы, потребуется сохранить скетч
Урок 02. Управление светодиодами
Подключение внешнего светодиода с использованием токоограничивающего резистора
Для ограничения тока через светодиод необходим резистор
Примечание 1: последовательность подключения светодиода и резистора в схеме не имеет значения, можно подключить и так: +5 В, резистор 300 Ом, светодиод, 0 В
Примечание 2: +5 В в схеме подается с одного из цифровых пинов (D0…D13), а 0 В – пин земли Gnd
Макетная плата
Используемый для курса стенд содержит макетную плату, все верхние контакты которой подключены к пину +5 В (верхние на рисунке), нижние контакты – к пину Gnd (0 В, нижние на рисунке) Arduino. Эти контакты используются в схемах и для питания внешних датчиков и модулей.
Остальные отверстия соединены вместе по 5 контактов (некоторые выделены полосками в качестве примеров, таким же образом соединены и все остальные) и могут использоваться для реализации различных схем путем втыкания в отверстия макетной платы элементов и проводных соединителей типа штырек/штырек.
Практическое занятие 1. Простой светофор
Нужные компоненты:
Сборка:
Шаг 1: подключите светодиоды к макетной плате в соответствии с приведенным рисунком
Примечание: к цифровым выходам контроллера подключается контакт светодиода + (который с резистором)
Шаг 2: проводным соединителем штырек-штырек соедините контакт макетной платы с цифровым пином Arduino: красного светодиода – с пином 2, желтого – с пином 9, зеленого – с пином 12. Используйте провода тех же цветов, что и цвета светодиодов
Шаг 3: подключите второй контакт светодиодов (минус, без резистора, прямой на картинке) к земле. Соедините отверстие под этим контактом с нижним рядом отверстий. Для соединения с землей используйте провода синего или черного цвета
Шаг 4: Напишем программу для управления светофором. Для начала – просто включение светодиодов по очереди. Алгоритм работы:
Шаг 5: Напишите в среде Arduino IDE программу, написанную по данному алгоритму (выделенный жирным текст, комментарии писать не обязательно)
int led_red = 2; // красный светодиод подключен к пину 2
int led_yellow = 9; // желтый светодиод подключен к пину 9
int led_green = 12; // зеленый светодиод подключен к пину 12
// прописываем пины, к которым подключены светодиоды, как выходные
pinMode(led_red, OUTPUT);
pinMode(led_yellow, OUTPUT);
pinMode(led_green, OUTPUT);
digitalWrite(led_red, HIGH); // включить красный светодиод
delay(1000); // подождать одну секунду
digitalWrite(led_red, LOW); // выключить красный светодиод
digitalWrite(led_yellow, HIGH); // включить желтый светодиод
delay(1000); // подождать одну секунду
digitalWrite(led_yellow, LOW); // выключить желтый светодиод
digitalWrite(led_green, HIGH); // включить зеленый светодиод
delay(1000); // подождать одну секунду
digitalWrite(led_green, LOW); // выключить зеленый светодиод
> // начать цикл loop снова
Шаг 6: Загрузите написанную программу в контроллер и убедитесь, что светодиоды зажигаются в соответствии с написанным алгоритмом
Шаг 7: Сохраните написанную программу в папку Мои документы / Arduino / Learning / Ваша фамилия латинскими буквами под именем Svetofor_Simple
Примечание 1: сохранение выполняется командой Файл / Сохранить как. Открывается папка Arduino, в ней надо открыть папку Learning, в ней создать папку вида Ivanov, открыть ее, ввести имя файла (Svetofor_Simple) и нажать Сохранить
Примечание 2: так как тексты программ будут использоваться в дальнейших занятиях и для обеспечения возможности вновь просмотреть написанные программы обязательно сохраняйте написанные программы в папку Learning / Ваша фамилия
Практическое занятие 2. Светофор с миганием
Напишем более сложный алгоритм работы и изменим программу таким образом, чтобы поведение светодиодов было похоже на настоящий светофор
В этом случае задачу «помигать красным светодиодом 4 раза» можно решить «в лоб» таким способом:
digitalWrite(led_ red, HIGH); // включить светодиод
delay(500); // подождать полсекунды
digitalWrite(led_ red, LOW); // выключить светодиод
delay(500); // подождать полсекунды
digitalWrite(led_ red, HIGH); // включить светодиод
delay(500); // подождать полсекунды
digitalWrite(led_ red, LOW); // выключить светодиод
delay(500); // подождать полсекунды
digitalWrite(led_ red, HIGH); // включить светодиод
delay(500); // подождать полсекунды
digitalWrite(led_ red, LOW); // выключить светодиод
delay(500); // подождать полсекунды
digitalWrite(led_ red, HIGH); // включить светодиод
delay(500); // подождать полсекунды
digitalWrite(led_ red, LOW); // выключить светодиод
delay(500); // подождать полсекунды
Но такой вариант трудоемок, приводит к большому объему написанного кода и вследствие этого к трудности чтения программы и последующего изменения. Для многократных повторений одной и той же части кода можно использовать цикл for:
for (начальное значение переменной счетчика, конечное значение переменной счетчика, прибавление счетчика)<
код, который нужно повторить несколько раз
С использованием цикла for код, выполняющий задачу «помигать красным светодиодом 4 раза» будет выглядеть так:
for(int i = 1 ; i
С использованием цикла for программа, реализующая написанный для светофора алгоритм, будет выглядеть так:
int led_red = 11; // красный светодиод подключен к пину 11
int led_yellow = 7; // желтый светодиод подключен к пину 7
int led_green = 2; // зеленый светодиод подключен к пину 2
// прописываем пины, к которым подключены светодиоды, как выходные
pinMode(led_red, OUTPUT);
pinMode(led_yellow, OUTPUT);
pinMode(led_green, OUTPUT);
digitalWrite(led_red, HIGH); // включить красный светодиод
delay(3000); // подождать три секунды
Управление уровнем напряжения. Аналоговый выход – команда analogWrite
Команда analogWrite (номер пина, уровень) позволяет подать на определенный пин Arduino (поддерживающих данную функцию – 3, 5, 6, 9, 10, 11 – на Arduino Uno отмечены штрихом) значение от 0 до 255, что соответствует напряжению от 0 В до +5 В на контакте. Примеры:
Таким образом, постепенно увеличивая/уменьшая переданное в analogWrite значение можно добиться плавного роста/падения напряжения на выходе. Подключенный к одному из PWM-портов Arduino (3, 5, 6, 9, 10, 11) светодиод будет плавно загораться и затухать (fading).
Примечание: используя данную команду, можно плавно регулировать скорость вращения моторов, яркость освещения, уровень температуры, скорость подачи воды при поливе и т.д.
Практическое занятие 3. Изменение яркости светодиода
Нужные компоненты:
Сборка:
int ledPin = 9; // светодиод подключен к цифровому пину 3
void setup() <
// Нет необходимости вызвать функцию pinMode для команды analogWrite
void loop() <
// меняем значение fadeValue от 0 до 255 с шагом 5
// посылаем значение от 255 до 0 на пин со
analogWrite(ledPin, fadeValue);
// светодиодом, напряжение на нем меняется от 5 до 0 В и соответственно меняется яркость
delay(30); // ждем 30 миллисекунд
Примечание: используемые светодиоды достигают максимальной яркости при напряжении, меньшем 5 В. Для большей наглядности изменения яркости можно изменить в коде программы 255 на 100, а также поставить больший шаг времени в delay.
Практическое занятие 4. Изменение яркости пяти светодиодов
Нужные компоненты:
Сборка:
Попробуем управление яркостью одновременно пяти светодиодов пяти разных цветов. Для начала будем устанавливать всем одинаковый уровень яркости.
Шаг 1: подключите контакт с резистором (+ светодиода) каждого светодиода к одному из пинов, поддерживающих управление уровнем напряжения (3, 6, 9, 10, 11)
Шаг 2: откройте программу Файл / При меры / Analog / Fading и модифицируйте ее для одновременного управления яркостью пяти светодиодов:
// создадим переменные для хранения номеров контактов светодиодов
int led_1 = 3;
int led_2 = 6;
int led_3 = 9;
int led_4 = 10;
int led_5 = 11;
// Нет необходимости использовать функцию pinMode для команды analogWrite
// меняем значение fadeValue от 0 до 255 с шагом 5
// посылаем значение fadeValue на каждый пин со светодиодом
analogWrite(led_1, fadeValue);
analogWrite(led_2, fadeValue);
analogWrite(led_3, fadeValue);
analogWrite(led_4, fadeValue);
analogWrite(led_5, fadeValue);
delay(30); // ждем 30 миллисекунд
Шаг 3: Загрузите данную программу в контроллер и испытайте
Шаг 4: Разбирать схему не надо, она понадобится в следующем занятии
Команда для получения случайных чисел random
Если для выполнения задачи требуется случайное число, используется
random (минимальное значение, максимальное значение). Она выдает случайное число от минимального (включая его) до максимального (не включая его). В случае, если минимальное число отсутствует, а в скобках только одно число, оно считается максимальным, а минимальным – 0
random (300) – выдает случайное число от 0 до 299
random (100, 256) – выдает случайное число от 100 до 255
Практическое занятие 5. Случайная яркость пяти светодиодов
Компоненты и схема – те же, что и в предыдущем занятии
Используем функцию random для случайного уровня яркости для каждого из пяти светодиодов. Минимальный уровень яркости 0, максимальный – 255. Напишите и загрузите в контроллер следующую программу:
// создадим переменные для хранения номеров контактов светодиодов
int led_1 = 3;
int led_2 = 5;
int led_3 = 9;
int led_4 = 10;
int led_5 = 11;
// создадим переменные для хранения уровней яркости светодиодов
int light_1 = 0;
int light_2 = 0;
int light_3 = 0;
int light_4 = 0;
int light_5 = 0;
// Нет необходимости вызвать функцию pinMode для команды analogWrite
light_1 = random(0, 256);
light_2 = random(0, 256);
light_3 = random(0, 256);
light_4 = random(0, 256);
light_5 = random(0, 256);
// посылаем полученные случайные значения на светодиоды
analogWrite(led_1, light_1);
analogWrite(led_2, light_2);
analogWrite(led_3, light_3);
analogWrite(led_4, light_4);
analogWrite(led_5, light_5);
Домашнее задание
Используются три светодиода с токоограничивающими резисторами – красный (К), желтый (Ж) и зеленый (З). В конце цикла все светодиоды должны выключаться.
Подключение светодиода к Ардуино
В этом уроке мы узнаем, как правильно выполнить подключение светодиода к плате Ардуино и как организовать управление им с помощью скетча. Для работы с проектами вам потребуется плата Arduino Uno, Nano или Mega, а также установленная на компьютер программа Arduino IDE. Если у вас нет возможности собрать схему своими руками, можно воспользоваться встроенными светодиодами на плате контроллера. Главное, чтобы была возможность подключиться к
Подключение светодиода к Ардуино
Светодиод – один из самых распространенных электронных компонентов, применяемых в электротехнических проектах. И естественно то, что любые DIY проекты начинаются с примеров работы со светом – мигание, мерцание, переключение. Существует огромное количество светодиодов разных вариантов и моделей в разных корпусах и с различными характеристиками. Более подробно мы писали об этом в статье с описанием принципа работы светодиода. Мы с вами будем использовать самые простые и дешевые компоненты, которые можно без труда купить в любом интернет-магазине.
Правила подключения
Главное, что нам нужно знать о светодиодах (кроме того, что они светятся) – что это полупроводниковый прибор. Свет в виде испускаемых фотонов возникает в специальном слое (pn – переходе), когда через него проходит определенный ток. Принцип работы светодиода показан на следующей картинке.
При подключении светодиодов важно знать два главных правила:
Полярность светодиодов
Первое правило легко соблюдать, если знать, где у светодиода минус, а где плюс. Тут на помощь приходят правила маркировки. Мы смотрим на ножки и видим, что они разного размера. Более длинная ножка означает плюс. Если нет возможности сравнить длину или кто-то уже до вас отрезал часть ножек, мы ощупываем корпус (визуально определить будет сложно) – с одной из сторон корпус слегка обрезан (скошен), с этой стороны находится минус.
Полярность светодиодов
Что будет, если перепутать ножки местами и поменять полярность подключения? К счастью – ничего. Ничего не сгорит, но и светиться тоже ничего не будет. Диод, включенный неправильно, просто размыкает цепь. Естественно, до определенного предела, т.к. если мы подадим достаточно большой ток, то рано или поздно случится пробой и устройство перестанет работать совсем.
Ограничение по току
Правило ограничения по току тоже легко выполнить. Нужно лишь получить в спецификации к вашему светодиоду значение максимального тока для данной модели и добавить в схему сопротивление, обеспечивающее нужный ток в цепи. Все это легко рассчитывается с помощью закона Ома и многочисленных калькуляторов, доступных в интернете. Чтобы не усложнять процесс лишними расчетами (это мы сделали в другой статье) просто даем итоговый результат для работы с Ардуино.
В наших первых проектах для самых распространенных светодиодов, доступных в стартовых комплектах, мы будем использовать резисторы 220 Ом. Если вы добавите к схеме резистор большего номинала, то ничего страшного не произойдет – просто диод будет светить не так ярко.
Схема подключения светодиода
Подключение светодиода к электрической цепи – достаточно простая операция. Нужно соединить соответствующие ножки с плюсом и минусом. Длинную ножку подключаем к той части цепи, которая ведет в итоге к плюсу. Важно не забыть включить в цепь резистор.
Схема подключения светодиода
Может возникнуть вопрос, как соединить провода. Мы можем держать их руками и зубами, можно выполнить скрутку, можно спаять. Но самым простым и довольно надежным способом соединения является использование макетных плат. Мы писали о них в статье о платах прототипирования.
Схема подключения к плате Arduino Nano или Uno
Чтобы подключить светодиод к Ардуино надо понять, где на этой плате будет плюс, где минус. Ведь светодиод – устройство электрическое, для его работы нужна электрическая цепь с плюсом и минусом. Первое, что можно сделать – это подключить питание к выводу 5В платы Uno. Свет будет гореть, но таким устройством управлять с помощью скетча невозможно. Свет будет гореть до тех пор, пока включено питание. Конечно, можно выключать питание и уводить плату в режим сна в программе, но это уже тема отдельной статьи.
Подключение светодиода напрямую к пину питания Ардуино
Правильным вариантом подключения является использование пинов (разъемов) платы, на которые мы можем подавать напряжение из скетча. Тут нет ничего сложного, если представить плату Ардуино в виде батарейки с большим количеством положительных и отрицательных полюсов. Мы просто включаем или выключаем нужные разъемы, подавая на подключенные к ним устройства напряжение и ток.
Начнем с отрицательных полюсов. Все минусы платы обозначены одним словом – GND, сокращенное от ground – земля («земля» или «корпус» – так часто называют общую линию для электрической схемы). На плате Arduino Uno или Nano можно найти три таких контакта: возле 13 пина и на другой стороне, в зоне разъемов питания.
Все остальные цифровые или аналоговые пины (с номерами или обозначениями A0-A5) могут быть и плюсами и минусами. Если мы укажем в программе, что на нужный нам порт надо подать напряжение (высокий уровень сигнала), то он становится плюсом. Если укажем низкий уровень сигнала, то пин станет «минусом». Не будем вдаваться в тонкости и расчеты, наша задача пока понять основы.
Пошаговая инструкция
Итак, нам нужно подключить светодиод к плате. Для этого мы соединяем длинную ножку к плюсу, т.е. к тому участку схемы, который ведет к цифровому или аналоговому разъему платы. Но делаем это не сразу, а через резистор, который уже потом подключается к пину 13. Короткую ножку (минус) подключаем к минусу – к пину GND. Вот так это выглядит на схеме.
Подключение светодиода к Arduino Uno
Можно поменять местами резистор и светодиод – подключить GND к резистору, а плюс через напрямую к цифровому пину. Ничего от этого не изменится. Если вы захотите поменять местами провода, обязательно обращайте внимание на то, что ножки диода должны стоять длинной стороной к проводам, ведущим к пинам платы и короткой – к пинам с обозначением GND.
Для упрощения работы, подключите светодиод к 13 пину по схеме, представленной на рисунке. Собрав схему и включив питание, мы можем увидеть, как наш светодиод замигает уже при старте. Если в плате загружен тот же начальный скетч маячка, то после инициализации светодиод будет мигать и увидим, что теперь он мигает с частотой 1 раз в секунду. О том, как загрузить скетч в ардуино, можно прочитать в нашей статье о проектах для начинающих.
Встроенный светодиод в Arduino Uno и Nano
На самом деле нам не обязательно знать о нюансах работы со светодиодами для начала практической деятлеьности. Первые эксперименты вполне можно провести со встроенным светодиодом платы Ардуино. В подавляющем большинстве плат он будет подключен к пину 13. Вы можете без труда найти светящиеся элементы платы – они загораются и мигают разным цветом при включении. Это и есть встроенные светодиоды.
Далеко не все “лампочки на плате” доступны нам для управления из скетча. Некоторые из них служат индикаторами обмена данными через те или иные протоколы (например, UART), другие информируют о включении питания и режиме работы платы. Светодиод, присоединенный к пину 13 платы может загореться и погаснуть при включении платы, а затем его работа определяется встроенным скетчем.
На некоторых вариантах плат количество источников света ограничено и 13 пин оказывается не подключенным. Это делается ради экономии потребляемой электроэнергии, ведь led-лампочка всегда приводит к повышенному потреблению электричества. В некоторых проектах, требующих увеличенного времени работы от аккумуляторов, “прожорливые лампочки” приходится выпаивать принудительно.
Подключение нескольких светодиодов
Для подключения нескольких светодиодов к ардуино нужно просто подключить каждый из них к своему цифровому порту по той же схеме. Например, для создания проекта «Мигалка» можно взять два светодиода красного и синего цвета, подключив через сопротивление их положительные (длинные ножки)контакты к 13 и 12 пину соответственно. Короткие ножки подключаются к минусу – земле.
Схема подключения светодиодов проекта Мигалка
Мы уже знаем, что на плате нас дожидаются три разъема с таким обозначением («GND»), можно подключать к любому. Если разъемов питания будет не хватать, у нас есть три варианта.
Точно так же вы сможете подключить и следующие светодиоды, приступив к проектам светофор или светодиодная лента.
Имейте в виду, что подключение более 3 светодиодов создает достаточно большую нагрузку на модуль питания платы Arduino. Поэтому не рекомендуется устраивать длительное одновременное включение множества светодиодов.
Управление светодиодом
Подключив светодиод к Ардуино, мы получаем очень удобный инструмент для управления им. Ведь нам не нужно ничего включать или выключать физически. Достаточно просто указать в программе нужные инструкции, чтобы сама плата подавала напряжение на нужные пины, включая или выключая наш светодиод. Единожды загрузив программу в память контроллера, мы заставим его выполнять нужный нам алгоритм каждый раз, когда будет подключено питание.
Включение и выключение светодиода в Ардуино
Включение светодиода произойдет в тот момент, когда мы подадим на пин, к которому он подключен, высокий уровень сигнала (напряжение). За это в Ардуино отвечает функция digitalWrite со вторым параметром HIGH. Например, для светодиода, подключенного к пину 12 команда будет выглядеть так: digitalWrite (12, HIGH);
Чтобы выключить светодиод, мы используем ту же команду, но с параметром LOW: digitalWrite(12, LOW). Если мы вызовем первую команду, а потом чрез какой-то промежуток времени вторую, то у нас светодиод сначала загорится, а потом потухнет. Зациклив включение и выключение, мы получим постоянно включающийся и выключающийся мигающий маячок.
Бывают ситуации, когда светодиод горит не очень ярко и непонятно, что тут пошло не так. На самом деле нужно в первую очередь проверить, не забыли ли вы сконфигурировать пин в качестве выходного. Это делается добавлением функции pinMode (обычно в блоке setup()). Для нашего варианта функция будет выглядеть так: pinMode(12, OUTPUT);
Управление яркостью светодиода
Мы можем не только включать или выключать свет, но и управлять его яркостью. Для этого используется специальная технология с красивым названием ШИМ. Подключившись к пинам контроллера, поддерживающим ШИМ, можно регулировать интенсивность свечения с помощью функции analogWrite(). Мы должны указывать ей в качестве параметров номер пина и значение из диапазона от 0 до 255. Чем больше число, тем ярче будет светить лампочка. Например, для пина 3 пример будет выглядеть так: analogWrite(3, 255) или analogWrite(3, 100). В первом случае яркость будет максимально возможная, во втором – гораздо меньше.
Заключение
Подключить светодиод к своей схеме на Ардуино – несложное занятие. Просто соединяем ножки в правильной последовательности и не забываем о токоограничивающем резисторе. Главное преимущество Ардуино в таких схемах – возможность программного управления светодиодом. Мы просто пишем в программе нужный алгоритм, загружаем его в контроллер и плата включает и выключает нужные нам пины.
Можно подключать несколько светодиодов, но следить, чтобы не выйти в итоге за пределы ограничений по току. Можно не просто включать или выключать свет, но и управлять его яркостью. Для этого используем пины, поддерживающие ШИМ и функцию analogWrite.
Более подробно о подключении и управлении светодиодами на ардуино вы сможете узнать в статьях с описанием таких проектов как мигалка, маячок, светофор.