Бегущие огни на светодиодах своими руками: схема
Одним из вариантов применения твердотельных световых источников в декоративных целях, является сборка так называемых «бегущих огней» на диодах, включающая в себя генератор прямоугольных импульсов, счетчик, дешифратор и устройства индикации.
Сборка всех элементов по предложенной схеме выполняется на макетной беспаечной плате, а устанавливаемые конденсаторы и резисторы по номиналу могут иметь некоторый разброс, но строго в пределах ±20%.
Бегущие огни на мощных светодиодах своими руками
Устанавливаемые в «бегущие огни» диоды (HL1 — HL16) могут обладать любым цветом свечения, но обязательным критерием выбора таких источников света является рабочее напряжение на уровне 3,0 В.
Электроэнергия
Система контролирует напряжение в электросети и текущую потребляемую мощность квартиры. В случае пропадания или выхода за установленные пределы величины сетевого напряжения, система посылает тревожные СМС на телефон владельца квартиры. Также СМС посылаются и в случае превышения предельной установленной мощности потребления квартирой.
Контроль электроэнергии осуществляется при помощи специализированного модуля PZEM-004T, который обеспечивает хорошую точность измерения параметров электропитания (напряжение, ток, потребляемая мощность). Чуть больше возможностей модуля PZEM-004T реализовано в проекте «Котельная», части проекта «Умная дача» (сохранение статистики электропотребления, вывод графиков и т. д.).
Этапы создания
Следует сказать, что этапы создания системы «умного дома» с привлечением специалистов или же своими руками будут одинаковыми. Правда, в последнем случае готовый вариант в целом обойдется существенно дешевле, чем если привлекать специалистов, которых на рынке и так не хватает. По этой причине зарплаты у них будут соответствующими, а значит, если вы не хотите тратить лишние средства, то можно обойтись собственными силами. Итак, начнем с комплектующих для этой системы, если вы решили все-таки создавать ее самостоятельно.
Комплектация
Если говорить о комплектации системы, то технология будет включать в себя следующий набор компонентов:
- датчик движения;
- датчик температуры и влажности;
- датчик освещенности;
- пара температурных датчиков с маркировкой DS18B20;
- Ethernet-модуль марки ENC28J60;
- микрофон;
- переключатель язычкового типа;
- реле;
- кабель типа «витая пара»;
- кабель категории Ethernet;
- резистор, имеющий сопротивление 4,7 килоома;
- микропроцессорная плата Arduino.
Алгоритм подключения
Следует сказать, что умный дом должен быть оснащен исключительно светодиодными лампочками, так как обычные варианты просто могут не выдержать большого напряжения. Когда проект будет готов, а все нужные запчасти уже приобретены, следует начать подключение датчиков и контроллеров. Делать это необходимо исключительно по схеме, созданной ранее. Контакты необходимо полностью заизолировать.
Если говорить кратко, то поэтапно алгоритм подключения будет выглядеть таким образом:
- установка кода;
- настройка приложения для ПК или мобильного;
- портовая переадресация;
- осуществление тестирования ПО и датчиков;
- устранение неисправностей, если они были выявлены при тестировании.
Итак, начнем с установки кода.
Сначала пользователю следует написать ПО в Arduino IDE. В нем представлены:
- текстовый редактор;
- создатель проектов;
- программа для компиляции;
- препроцессор;
- инструмент для загрузки ПО в мини-процессор Arduino.
Следует сказать, что существуют версии ПО для основных компьютерных ОС – Windows, Linux, Mac OS X. Если говорить об используемом языке программирования, то речь идет о C++ с рядом упрощений. Программы, написанные пользователями для Arduino, обычно называют скетчами. Ряд функций система создает автоматически и пользователю не нужно разбираться в их написании, прописывая список обычных действий. Также нет необходимости вносить файлы заголовочного типа обычных библиотек. Но пользовательские вставлять необходимо.
Добавлять библиотеки в проектный IDE-менеджер можно различными методами. В виде исходников, прописанных на С++, идет добавление в отдельную директорию на рабочей директории IDE-оболочки. Теперь имена необходимых библиотек появляются в определенном IDE-меню. Те, что вы отметите, войдут в компиляционный список. В IDE существует малое количество настроек, а задавать тонкости компилятора вообще нет возможности. Это сделано для того, чтобы несведущий человек не натворил каких-либо ошибок.
Если вы скачали библиотеку, то ее необходимо распаковать и просто вставить в IDE. В программном тексте есть комментарии, которые поясняют принцип ее работы. Следует отметить, что все приложения на Arduino работают по одной технологии: пользователь шлет запрос на процессор, а он, в свою очередь, осуществляет загрузку нужного кода на экран устройства. Когда человек нажимает клавишу Refresh, то микроконтроллер отсылает информацию. С каждой из страниц с определенным обозначением идет программный код, что будет отображаться на экране.
Следующий комплекс действий заключается в установке клиента на персональный компьютер или смартфон. Скачать его можно в интернете, в Google Play Market или из другого источника. Для того чтобы сделать это, необходимо открыть файл на телефоне, который вы скачали, после чего щелкнуть по нему и в появившемся окне нажать на клавишу «Установить». При этом следует знать, что для этого должна быть активирована опция, позволяющая осуществлять установку программ не из сервиса Google Play. Чтобы включить эту опцию, необходимо войти в раздел настроек и выбрать там пункт «Безопасность». Именно так и необходимо активировать соответствующую опцию. Когда установка завершится, то можно будет осуществить активацию приложения и настроить его.
Правильный выбор Arduino для вашего проекта
Теперь, когда мы рассмотрели некоторые подробности о каждой плате, можно определить оптимальное использование каждой платы. Хотя UNO является самой популярной платой, также все остальные доски имеют отличную поддержку через онлайн-форумы благодаря общей архитектуре и использованию общего языка и IDE. Это означает, что вы вряд ли попадёте в специфичные для устройства ловушки, которые могут помешать работе части кода из-за конфигурации оборудования или присущих ошибок. Код Ардуино можно легко перенести на другую плату без каких-либо изменений. Это выгодно для пользователя, желающего поменять плату на определенной стадии проекта. Решающий фактор выбора платы, сводится к двум основным вещам аппаратному обеспечению и стоимости. Если аспект стоимости каждого Arduino очевиден, предпочтительнее вариант с наименьшей стоимостью. То аппаратное обеспечение быть может не так легко определить. При рассмотрении оборудования следует учитывать следующее:
- Физические размеры
- Мощность процессора
- Размер памяти
- Возможности ввода / вывода
- Бортовая периферия
- Вес
- Связь
Что касается физических размеров, Arduino Nano является самым маленьким и очень портативным устройством. UNO — это доска для разработки среднего размера, но она всё ещё довольно мала. Её можно использовать во многих проектах, включая устройства с дистанционным управлением, такие как радиоуправляемые автомобили и лодки. Mega и Due — намного больше, что затрудняет их использование в проектах с ограниченным пространством. Если проект требует высокой вычислительной мощности, Due выходит на первое место с мощным ядром ARM и большим RAM / ROM. Несмотря на то что Mega — это большой Arduino с большим количеством пинов, скорость его процессора остаётся той же, что и в UNO и Nano (то же семейство Mega). Поэтому использование Mega не даёт никаких преимуществ в скорости. UNO и Nano используют один и тот же процессор. С точки зрения аппаратного и периферийного оборудования UNO и Nano идентичны. Если проект требует много пинов, Due и Mega являются очевидным выбором. Проекту, которому не требуется сильного процессора, но нужно большое количество контактов подключения, подойдёт Mega.
Как работают датчики?
Датчики способны считывать информацию и данные, затем их обрабатывать и передавать соответствующую команду. Они способны реагировать на температуру, резкие движения и звук.
Простейшие и доступные датчики отслеживания часто используют на лестничных площадках – всем знакомо автоматическое включение света. Помимо этого, контроллеры нередко применяются в системах пожарной безопасности. Как только резко начинает повышаться температура, сразу же срабатывает сигнализация.
Перед тем как начать работать с системой в собственном здании, нужно создать проект, который позволит правильно распределить датчики и все возможные контроллеры
Важно отметить, что для этого нужно иметь навыки в области программирования и электроники. Если таковые отсутствуют, то следует предпочитать устройства простого плана, то есть созданные для потребителя-новичка. Именно такими являются системы «Ардуино»
Производитель поставляет абсолютно простые в установке и эксплуатации приспособления
Именно такими являются системы «Ардуино». Производитель поставляет абсолютно простые в установке и эксплуатации приспособления.
Подключение кнопки и светодиода к Ардуино
Включение и выключение светодиода кнопкой Ардуино производится с помощью подключения одной тактовой кнопки к цифровому пину без подтягивающего резистора. Дело в том, что платы Arduino имеют встроенные резисторы, которыми можно управлять. Для этого следует использовать в pinMode() параметр INPUT_PULLUP, которая сконфигурирует пин на вход с подтягивающим резистором.
Обратите внимание, что при использовании INPUT_PULLUP происходит подтяжка цифрового входа к 5 вольтам, поэтому значение входящего сигнала будет инвертирован. То есть, при отпущенной кнопке, которая подключена к заземлению — GND, на цифровом входе будет высокий сигнал
При нажатии на кнопку — на входе, который сконфигурирован с помощью INPUT_PULLUP, будет низкий сигнал.
Как подключить кнопку и светодиод к Ардуино
Для этого занятия нам потребуется:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- макетная плата;
- светодиод;
- 2 резистора 220 Ом;
- 2 тактовых кнопки;
- провода «папа-папа».
Схема для включения/выключения светодиода кнопкой от Ардуино
Для переключения светодиода кнопкой Ардуино соберите схему, как на изображении выше
Обратите внимание, что тактовая кнопка на макетной плате подключена к микроконтроллеру без подтягивающего резистора. Пин 2 подключен к 5V через встроенный резистор, поэтому при отпущенной кнопке на входе пине 2 будет высокий уровень сигнала, а при нажатии кнопки будет низкий уровень
Скетч. Управление светодиодом Ардуино через кнопку
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; }
Пояснения к коду:
- — это глобальная переменная Ардуино, которая может принимать всего два значения – true (истина) и false (ложь);
- задержка в программе позволяет избежать «дребезг контактов» кнопки и исключить ложное срабатывание.
Схема управления светодиодом двумя кнопками от Ардуино
Скетч. Управление двумя кнопками одним светодиодом
boolean button1WasUp = true; boolean button2WasUp = true; void setup() { pinMode(10, OUTPUT); digitalWrite(10, LOW); pinMode(2, INPUT_PULLUP); pinMode(4, INPUT_PULLUP); } void loop() { // узнаем, отпущены ли две кнопки сейчас boolean button1IsUp = digitalRead(2); boolean button2IsUp = digitalRead(4); // если кнопка 1 была отпущена и не отпущена if (button1WasUp && !button1IsUp) { delay(10); // повторно считываем сигнал с кнопки 1 button1IsUp = digitalRead(2); if (!button1IsUp) { digitalWrite(10, LOW); } } // если кнопка 2 была отпущена и не отпущена if (button2WasUp && !button2IsUp) { delay(10); // повторно считываем сигнал с кнопки 2 button2IsUp = digitalRead(4); if (!button2IsUp) { digitalWrite(10, HIGH); } } // запоминаем состояние двух кнопок ардуино button1WasUp = button1IsUp; button2WasUp = button2IsUp; }
Пояснения к коду:
- данный пример программы позволяет включать светодиод нажатием одной кнопки и выключать светодиод нажатием второй кнопки;
- задержка Ардуино позволяет избежать «дребезг контактов» кнопки и исключить возможность ложного срабатывания.
Следующий пример тоже потребует для подключения к Ардуино две кнопки, два светодиода, как на предыдущей схеме. Но вместо простого включения/выключения диода, мы будем увеличивать и уменьшать яркость светодиода с помощью ШИМ сигнала микроконтроллера. Загрузите пример программы для «Светодиод и кнопка Ардуино ШИМ», чтобы получить понятие о принципе работы кнопки с Arduino Uno.
Скетч. Управление яркостью светодиода кнопкой Ардуино
#define PLUS_BUTTON 2 #define MINUS_BUTTON 4 int brightness = 100; boolean plusUp = true; boolean minusUp = true; void setup() { pinMode(10, OUTPUT); pinMode(PLUS_BUTTON, INPUT_PULLUP); pinMode(MINUS_BUTTON, INPUT_PULLUP); } void loop() { analogWrite(10, brightness); // реагируем на нажатия кнопки с помощью функции handleClick plusUp = handleClick(PLUS_BUTTON, plusUp, +20); minusUp = handleClick(MINUS_BUTTON, minusUp, -20); } boolean handleClick(int buttonPin, boolean wasUp, int delta) { boolean isUp = digitalRead(buttonPin); if (wasUp && !isUp) { delay(10); isUp = digitalRead(buttonPin); // если был клик кнопки, меняем яркость в пределах от 0 до 255 if (!isUp) brightness = constrain(brightness + delta, 0, 255); } return isUp; }
Пояснения к коду:
- для подключения светодиода следует использовать пин с ШИМ модуляцией;
- начальное значение яркости равен ста, в программе прирост и уменьшение яркости (20) можно поменять по своему усмотрению.
Заключение. Мы рассмотрели сразу несколько примеров для управления светодиодом Ардуино с помощью кнопки. Вы узнали, что светодиодом можно управлять с помощью одной кнопки, или производить включение/выключение двумя кнопками. Кроме того, можно менять яркость с помощью кнопки и ШИМ сигнала. Все рассмотренные примеры можно использовать в различных проектах на Arduino для начинающих.
Соединяем все детали
На данном этапе у нас:
- куплены все детали;
- установлены все нужные программы (Arduino IDE и Fritzing при необходимости);
- нарисована схема устройства.
Теперь мы начинаем собирать всё вместе. Не забываем заранее подготовить все провода-перемычки и все детали. Внимательно следуйте инструкциям и не спешите, чтобы убедиться, что все соединения выполнены правильно.
Если вы еще не вставили Arduino Nano к макетке – самое время это сделать:
Теперь подключаем наше сопротивление:
И наконец вставляем светодиод:
И последнее на данном шаге – вставляем наш USB-кабель, который при покупке часто идет в комплекте с микроконтроллером:
Программирование светодиода
Для начала разберемся, что такой ввод и вывод. Есть команды, которые мы даем компьютеру. Например, мы вводим какой-то текст, который хотим распечатать. В этом случае клавиатура — это устройство ввода, так как с ее помощью мы передаем команду компьютеру. Принтер — устройство вывода, он «выводит» наш результат на бумагу.
Теперь разберемся с кодом для мигания светодиода. Нам нужно настроить нашу ножку на вывод. Для этого используем команду pinMode. Эта команда говорит плате, как она будет работать: на вход или на вывод. Команда является настройкой программы, поэтому она пишется в первом блоке setup(). Общий вид кода:
В скобках после функции pinMode мы указываем номер пина, с которым мы будем работать. После точки с запятой указываем, на что будет работать наш пин: на ввод INPUT или на вывод OUTPUT. В нашем случае пин 3 работает на вывод, это мы и пишем в коде.
Функция digitalWrite()
Функция digitalWrite даёт команду подать напряжение на определённый пин платы. Номер этого пина мы указываем в скобках. У функции есть параметры HIGH и LOW. Параметр HIGH (с английского — высоко) включает напряжение, параметр LOW (с английского — низко) отключает.
Нам нужно включить светодиод. Для этого мы включаем напряжение на 3-ий пин, поэтому код будет выглядеть так:
Это уже готовый код. На его основе мы можем включить светодиод. Если загрузить этот код на плату, то светодиод загорится.
Для выключения светодиода мы используем ту же функцию. Для этого в скобках после функции задаем параметр LOW. Функция выглядет так: digitalWrite(3; LOW)
Функция delay()
Delay с английского переводится как «задерживать». Эту задачу и выполняет функция: она приостанавливает выполнение программы на указанный промежуток времени. В скобках мы указываем время остановки в миллисекундах. 1 секунда = 1000 миллисекунд, поэтому если нам нужно установить задержку в секунду, пишем: delay(1000).
Теперь допишем наш код с использованием функции delay() и функцией digitalWrite() для выключения светодиода:
После загрузки программы на плату получаем следующее:
Готовые мигающие светодиоды
Мигающие светодиоды
от различных производителей по сути представляют собой функционально
завершенные, готовые к применению в различных областях схемы. По внешним параметрам они мало чем
отличаются от стандартных лед-устройств. Однако в их конструкцию внедрена схема
генераторного типа и сопутствующих ему элементов.
Среди главных
преимуществ готовых мигающих светодиодов выделяются:
- Компактность,
прочность корпуса, все компоненты в одном корпусе. - Большой диапазон
напряжения питающего тока. - Многоцветное
исполнение, широкое разнообразие ритмов переключения оттенков. - Экономичность.
Схемы использования
Самый простой вариант схемы, выпускаемых
сегодня мигалок на
базе светодиодов, изготовление
которых возможно своими силами радиолюбителям, включает:
- Транзистор малой мощности.
- Конденсатор полярного типа на 16 вольт и 470 микрофарад.
- Резистор.
- Лед-элемент.
При накоплении заряда осуществляется
лавинообразный его пробой с открытием транзисторного модуля и свечением диода.
Устройство такого типа часто используется в елочной гирлянде. Недостатком схемы
является необходимость применения особого источника питания.
Другой вариант
популярных на сегодня схем светодиодов мигающего типа включает пару n-p-n-транзисторов
модификации КТ315 Б. Для ее сборки
применяются также следующие компоненты:
- Две пары
резисторов на 6,8–15 кОм и 470–680 Ом. - Два конденсатора
емкостью на 47-100 мкФ. - Небольшой
светодиод или отрезок лед-полоски. - Источник питания
от 3 до 12 В.
Принцип действия
устройства обуславливается попеременной сменой цикла зарядки/разрядки
конденсаторов, которые в свою очередь открывают транзисторы и питают светодиоды
и обеспечивают их мигание.
Обычный светодиод мигает
Схема мигающего светодиода
Схема, изображенная рисунком, использует для работы лавинный пробой транзистора. КТ315Б, используемый в качестве ключа, имеет максимальное обратное напряжения между коллектором и базой 20 вольт. Опасного в таком включении мало. У модификации КТ315Ж параметр составляет 15 вольт, гораздо ближе выбранному напряжению питания +12 вольт. Транзистор использовать не стоит.
Лавинный пробой нештатный режим p-n перехода. За счет превышения обратного напряжения между коллектором и базой происходит ионизация атомов ударами разогнавшихся носителей заряда. Образуется масса свободных заряженных частиц, увлекаемых полем. Очевидцы утверждают: для пробоя транзистора КТ315 требуется обратное напряжение, приложенное между коллектором и эмиттером, амплитудой 8-9 В.
Пара слов о работе схемы. В первоначальный момент времени начинает заряжаться конденсатор. Подключен на +12 вольт, остальная часть схемы оборвана – закрыт транзисторный ключ. Постепенно разница потенциалов повышается, достигает напряжения лавинного пробоя транзистора. Напряжение конденсатора резко падает, параллельно подключены два открытых p-n перехода:
- Транзисторный находится в режиме пробоя.
- Светодиод открыт за счет прямого включения.
В сумме напряжение составит порядка 1 вольта, конденсатор начинает разряжаться через открытые p-n переходы, только напряжение падает ниже 7-8 вольт, везение кончается. Транзисторный ключ закрывается, процесс повторяется заново. Схеме присущ гистерезис. Транзистор открывается при более высоком напряжении, нежели закрывается. Обусловлено инерционностью процессов. Видим, как работает светодиод.
Номиналы резистора, ёмкости определяют период колебаний. Конденсатор можно взять значительно меньше, включив меж коллектором транзистора и светодиодом небольшое сопротивление. Например, 50 Ом. Постоянная разряда резко увеличится, проверить светодиод визуально будет проще (возрастет время горения). Понятно, ток не должен быть слишком большим, максимальные значения берутся из справочников. Не рекомендуется вести подключение светодиодных светильников из-за низкой термостабильности системы и наличия нештатного режима транзистора. Надеемся, обзор получился интересным, картинки доходчивыми, объяснения ясными.
Моргающий световой сигнал находит широкое применение – от особого режима работы фонарей до индикации сложной аппаратуры. В его основе все чаще используется мигающий светодиод, как надежная и долговечная альтернатива любым другим видам светоисточников.
Рассмотрим, каков его принцип действия, какие готовые решения подобного прибора доступны сегодня на рынке, как сделать, чтобы лед-элемент, функционирующий в обычном режиме, стал работать в мерцающем ритме, какова общая сфера их применения, а также как своими руками на их основе изготовить гирлянды и бегущие огни.
Как сделать светодиодную мигалку своими руками
Существует множество схем, с помощью которых можно заставить мигать светодиод. Мигающие устройства можно изготовить как из отдельных радиодеталей, так и на основе различных микросхем. Сначала мы рассмотрим схему мигалки мультивибратора на двух транзисторах. Для ее сборки подойдут самые ходовые детали. Их можно приобрести в магазине радиодеталей или «добыть» из отживших свой срок телевизоров, радиоприемников и другой радиоаппаратуры. Также во многих интернет магазинах можно купить наборы деталей для сборки подобных схем led мигалок.
На рисунке изображена схема мигалки мультивибратора, состоящая всего из девяти деталей. Для ее сборки потребуются:
- два резистора по 6.8 – 15 кОм;
- два резистора имеющие сопротивление 470 – 680 Ом;
- два маломощных транзистора имеющие структуру n-p-n, например КТ315 Б;
- два электролитических конденсатора емкостью 47 –100 мкФ
- один маломощный светодиод любого цвета, например красный.
Не обязательно, чтобы парные детали, например резисторы R2 и R3, имели одинаковую величину. Небольшой разброс номиналов практически не сказывается на работе мультивибратора. Также данная схема мигалки на светодиодах не критична к напряжению питания. Она уверенно работает в диапазоне напряжений от 3 до 12 вольт.
Схема мигалки мультивибратора работает следующим образом. В момент подачи на схему питания, всегда один из транзисторов окажется открытым чуть больше чем другой. Причиной может служить, например, чуть больший коэффициент передачи тока. Пусть первоначально больше открылся транзистор Т2. Тогда через его базу и резистор R1 потечет ток заряда конденсатора С1. Транзистор Т2 будет находиться в открытом состоянии и через R4 будет протекать его ток коллектора. На плюсовой обкладке конденсатора С2, присоединенной к коллектору Т2, будет низкое напряжение и он заряжаться не будет. По мере заряда С1 базовый ток Т2 будет уменьшаться, а напряжение на коллекторе расти. В какой-то момент это напряжение станет таким, что потечет ток заряда конденсатора C2 и транзистор Т3 начнет открываться. С1 начнет разряжаться через транзистор Т3 и резистор R2. Падение напряжения на R2 надежно закроет Т2. В это время через открытый транзистор Т3 и резистор R1 будет течь ток и светодиод LED1 будет светиться. В дальнейшем циклы заряда-разряда конденсаторов будут повторяться попеременно.
Если посмотреть осциллограммы на коллекторах транзисторов, то они будут иметь вид прямоугольных импульсов.
Когда ширина (длительность) прямоугольных импульсов равна расстоянию между ними, тогда говорят, что сигнал имеет форму меандра. Снимая осциллограммы с коллекторов обоих транзисторов одновременно, можно заметить, что они всегда находятся в противофазе. Длительность импульсов и время между их повторениями напрямую зависят от произведений R2C2 и R3C1. Меняя соотношение произведений можно изменять длительность и частоту вспышек светодиода.
Для сборки схемы мигающего светодиода понадобятся паяльник, припой и флюс. В качестве флюса можно использовать канифоль или жидкий флюс для пайки, продающийся в магазинах. Перед сборкой конструкции необходимо тщательно зачистить и залудить выводы радиодеталей. Выводы транзисторов и светодиода нужно соединять в соответствии с их назначением. Также необходимо соблюдать полярность включения электролитических конденсаторов. Маркировка и назначение выводов транзисторов КТ315 показаны на фото.
Проще всего определить катод светодиода, рассматривая прибор на просвет. Катодом является электрод с большей площадью. Минусовой вывод «электролита» обычно помечен белой полосой на корпусе прибора.
В зависимости от задач, которые ставит перед собой радиолюбитель, схему мигалки можно собрать «навесу», соединяя выводы радиодеталей между собой с помощью отрезков тонкого провода. В этом случае может получиться конструкция наподобие той, что показана ниже на фото.
Собираем мигалку «на коленке»
Если нужно собрать мигалку для последующего применения, то монтаж можно выполнить на куске жесткого картона или изготовить печатную плату из текстолита.
Технические характеристики
Ну, а если говорить конкретнее, то технические характеристики данного контроллера таковы:
- Тактовая частота ядер достигает 16 мГц.
- Воспринимаемое напряжение равно 5 Вольтам.
- Максимальное допустимое напряжение на цепи – 20 В.
- Соответственно, среднее рекомендуемое для работы – 9 В +-2 В
- С одного вывода максимальная сила тока может достигать 40 мА.
- Ну, а главное, что присутствуют 54 цифровых пина, из которых 15 – с поддержкой ШИМ.
- Аналоговых же всего 16, но для большинства проектов этого будет достаточно.
- Доступная постоянная память составляет 256 КБ, но учитывайте, что компилятором занято 8.
- Оперативная же составляет всего 8 КБ.
Все эти характеристики необходимо запомнить, чтобы подобрать под Аrduino mega 2560 проекты, подходящие по параметрам. Ведь далеко не в каждой ситуации такой длинный чип будет куда уместить, да и вообще возникнет в нём потребность.
Принцип работы системы Arduino
Получение и передача данных контроллером производится через порты. Всего на стандартной плате насчитывается свыше десятка различных портов, число которых можно увеличить присоединив ещё один такой же контроллер. Все порты Arduino делятся на два типа, для присоединения различных приборов:
- Аналоговые.
-
Цифровые.
Инициировать работу аналоговых портов следует, использовав в загружаемой программе pin-Mode-функцию:
- Выбираем номер нужного пина.
- Выставляем режим «Приём данных» (OUTPUT) или «Передача данных» (INPUT).
Широтноимпульсные цифровые модуляторы (ШИМ) имеют более интеллектуальный интерфейс, позволяющий им как принимать, так и передавать нужные данные. На плате ШИМ-порты обозначаются тильдой (~) или аббревиатурой PWM. При подключении к плате-контроллеру внешних датчиков и приборов следует учитывать и технические показатели портов. Они способны выдавать:
- 5 вольт напряжения.
- 0,02 ампера силы тока.
Если использовать в качестве питающего элемента для платы батарейки или АКБ напряжением свыше 12 вольт, возможен её перегрев и выход из строя. При снижении питающего напряжения до 6-7 вольт наоборот, на выходе порта может оказаться меньше 5В, что, в свою очередь, вызовет сбои в работе. Собранные в единый комплекс устройства, детекторы и датчики передают информацию на процессор Arduino, а оттуда, через подключенный модуль GPS или GSM, отправляется на компьютер или иное управляющее устройство с установленным софтом, принимающее решение о выдаче определённой команды. Это может быть включение-отключение бытового прибора, либо передача данных на мобильное устройство владельца дома.
Контроллер для управление RGB
Для разгрузки выводов МК применяются специальные контроллеры WS2801 (5 вольт) или WS2812B (12 вольт).
С применением отдельного контроллера нет необходимости занимать несколько выходов MK, можно ограничиться лишь одним сигнальным выводом. МК подает сигнал на вход «Data» управляющего контроллера светодиода WS2801.
В таком сигнале содержится 24-битная информация о яркости цвета (3 канала по 8 бит на каждый цвет), а также информация для внутреннего сдвигового регистра. Именно сдвиговый регистр позволяет определять, к какому светодиоду информация адресовывается. Таким образом можно соединять несколько светодиодов последовательно, при этом использовать все так же один вывод микроконтроллера.
Загрузка примера “Blink” (мигание) в Arduino IDE
При подключении новой платы к персональному компьютеру, обратите внимание, что светодиод начинает мигать, так как все платы от производителей поступают с уже “залитым” скетчем “Blink”. На этом уроке мы перепрограммируем нашу плату, изменив частоту мигания светодиода. Не забудьте настроить оболочку Arduino IDE и выбрать нужный серийный порт, по которому Вы подключили Вашу плату
На этом уроке мы перепрограммируем нашу плату, изменив частоту мигания светодиода. Не забудьте настроить оболочку Arduino IDE и выбрать нужный серийный порт, по которому Вы подключили Вашу плату.
Пришло время проверить Ваше подключение и запрограммировать плату.
В оболочке Arduino IDE существует большая коллекция скетчей, которые уже готовы к использованию. Среди них находится и пример, который заставляет мигать “L” светодиод.
Откройте пример “Blink”, который находится в пункте меню File – Examples – 01.Basics
После открытия, расширьте окно оболочки Arduino IDE, чтобы Вы могли весь скетч в одно окне.
Скетчи из примеров, включенные в Arduino IDE предусматривают режим “только чтение” (“read only”). То есть, загрузить их на плату Вы сможете, но после изменения кода, Вы не сможете их сохранить в том же файле.
Мы будем изменять скетч, так что в первую очередь Вам необходимо сохранить собственную копию, которую Вы сможете изменять.
Из меню “File” выберите опцию “Сохранить как” (“Save As..”) и сохраните скетч под подходящим Вам названием, например, “MyBlink”.
Вы сохранили копию скетча “Blink” в Вашей библиотеке. Теперь открыть этот файл Вы можете в любой момент, перейдя по вкладке File – Scetchbook.
Последовательное включение светодиодов на Ардуино
Что такое Ардуиноfor
byte i; // задаем переменную для цифровых выходов byte LedMax = 13; // максимальное количество выходов (диодов) void setup() { // задаем пины со 2 по 13, как выходы (OUTPUT) for(i=2; i<LedMax; i++) { pinMode(i, OUTPUT); } }
Вместо прописывания в скетче всех пинов с 2 по 13, как выходы, мы воспользовались одним циклом . Сразу отметим, что использование всех выходов на Ардуино для последовательного включения светодиодов или подключения светодиодной шкалы не рационально. На практике для этого используют сдвиговый регистр 74hc165 или, еще более простой вариант драйвер светодиодов М5450В7 для микроконтроллера Ардуино.