Зачем нужны шилды
Обладатели самодельных устройств наслышаны о платах расширения – Arduino cnc shield, применение которых расширяет функционал фрезерного оборудования.
Обычно шилду изготавливают под форм-фактор платы. Используют и несколько шилдов одновременно, устанавливая их на микроконтроллер (один на другой). Спектр их применения:
- при помощи официального устройства Arduino – Ethernet cnc shield можно добиться независимости проекта от ПК, да и для хостинга веб-сервера его используют;
- 4 Relay Shield – возможность для того, чтобы подключать 4-х периферийные устройства;
ВАЖНО: надо соблюдать осторожность с контактами этого устройства, чтобы не повредить Arduino
- Рrotoshield – весьма полезный шилд в момент, когда собирается схема;
- LCD Shield позволяет информацию с Arduino выводить напрямую на периферийный экран;
- еnergy Shield – расширенные возможности для питания на Arduino. Реальна подзарядка мобильников и гаджетов;
- мotor shield обеспечивает управление большим числом моторов и их защиту;
- SD Card Shield служит для обработки и хранения больших массивов информации;
- Wi-fi Shield, подключенный к серийному порту, обеспечит дистанционное управление приводами роботизированных проектов;
- GPRS Shield оснащается антеннами для использования сети GSM/GPRS;
- E-Ink shield – путь для использования технологии электронных чернил, дисплею нужен для питания минимум энергии;
- мusic Shield способен воспроизводить музыку через Arduino в отличном качестве.
Реально создать лазерный 3D принтер, ЧПУ станок, употребляя бюджетные платы Arduino. С платой расширения CNC Shield можно работать на станках с числовым программным управлением, в гравировальной или фрезерной машине. А шилд для управления тремя ШД (трехосевой станок) имеет три разъема, чтобы не было проблем с каждым драйвером при подключении.
ЧПУ станок из дерева
Для него нужна Аrduino uno R3, G-сode Sender и GRBL. Необходимо заранее подготовить материалы и компоненты: фанеру, гайки с болтами, резьбовой вал и стержни из стали, шарикоподшипники, ШД Nema 23 и драйвера к ним, источник питания 24 В, 15 А, втулки из капролона, фторопласта и металла, провода.
Многое, входящее в электронику, прислали из Китая.
Основанием служат бруски из древесины с глухими, сквозными отверстиями. Стальной резьбовой вал, установленный по центру станка, служит приводом для оси Х. В момент его вращения – каретка (рабочий стол) выполняет перемещение вдоль этой оси Х.
ВНИМАНИЕ: чём толще фанера или деревянный брусок, тем меньшей будет вибрация, выше точность позиционирования. Портал (ось Y) устанавливают на подвижном столе, фиксируя гайкой под столом
Ось Z служит для перемещения рабочего органа (он подает инструмент в вертикальном положении)
Портал (ось Y) устанавливают на подвижном столе, фиксируя гайкой под столом. Ось Z служит для перемещения рабочего органа (он подает инструмент в вертикальном положении).
Для сборки понадобятся болты и гайки. Не стоит склеивать поломанные делали, лучше их заменить новыми. Подключая Arduino, ШД и драйверы к каждому из них, надо предусмотреть и блоки питания для них. Загрузив и настроив код GRBL, можно открыть G-сode Sender и подключить Arduino к ПК. Плата готова участвовать в процессе управления чпу станком.
Готовые часы на Arduino
Настройка часов осуществляется с помощью двух кнопок. Устройство поддерживает 12- и 24-часовой формат вывода времени, показ даты и дня недели, отображение времени с секундами и без. Также имеется возможность менять яркость свечения светодиодов.
Вероятно, в дальнейшем вам захочется добавить больше функций (например, термометр), или же установить устройство в корпус собственного дизайна — хороших результатов можно добиться с помощью изготовления на станках с лазерной резкой. Но уже сейчас вы сможете смело сказать, что собрали полноценные электронные часы своими руками!
Проект “Тетрис”
В этом гайде речь пойдёт о матрицах из адресных светодиодных лент. Если вы не в курсе про адресные ленты, то рекомендую изучить вот эту статейку. Фишка адресной ленты в том, что мы можем управлять любым из подключенных светодиодов. Если уложить ленту так, чтобы светодиоды образовывали ровную сетку, то мы получим матрицу, у которой можно зажечь любой “пиксель”, а зажечь можно одним из 16,7 миллионов цветов и оттенков! (светодиоды RGB, яркость каждого цвета имеет 256 градаций (8 бит), соответственно для трёх цветов у нас 256*256*256=16,7 лямов, что есть привычные 24 бита цветовой глубины). То есть по сути получаем полноценный 24 битный дисплей сверхнизкого разрешения! Зачем такое разрешение в 2к18 году? Спроси у своего папы, во что он играл в детстве =)
Начнём с компонентов. Матрицу можно склеить самому, для этого понадобится адресная светодиодная лента, например самая популярная на чипах WS2812b. Да, сейчас есть уже более новая WS2813, но для наших целей она преимуществ не имеет. Целесообразно брать ленту с плотностью пикселей 60 светодиодов на метр для маленьких матриц (ячейка 1.7×1.7 см) и 30 светодиодов на метр для больших матриц (ячейка 3.3×3.3 см). Также есть светодиодные модули по типу “гирлянды”, их можно брать для ОЧЕНЬ БОЛЬШИХ матриц (ячейка 12×12 см). Рассмотрим матрицу 20×10 светодиодов: из ленты 60 LED на метр размер матрицы будет 34×17 см, из 30 LED на метр – 66×33 см, и из модулей – 240×120 см.
Также хитрые китайцы уже продают готовые матрицы нескольких размеров, причём очень выгодно: матрица 16×16 стоит 1500р, она состоит из 256 диодов с плотностью 100 штук на метр. Лента такой же плотности стоит 1000р за метр (за 100 светодиодов). Для склейки матрицы размером 16×16 понадобится 2.5 метра ленты, то есть 2500р. А готовая матрица стоит на 1000р дешевле. Абсолютно то же самое касается матрицы 32×8 пикселей. Есть ещё готовая матрица 8×8, она стоит 300р. И вот она выходит уже не так выгодно =) Для питания матрицы нужен блок питания на 5V, по току расскажу дальше. Ссылок оставляю несколько, ищите выгодные предложения и скидки (P.S. Я закупаюсь в BTF-Lighting)
ВАЖНО! Чем больше матрица, тем больше места занимает прошивка в памяти. Для прошивки GyverMatrixOS:. В Arduino Nano/UNO/Pro Mini при использовании всех эффектов и режимов очень впритык вмещается матрица 16х16 (256 диодов), возможны зависания и перебои в работе;
В Arduino Nano/UNO/Pro Mini при использовании всех эффектов и режимов очень впритык вмещается матрица 16х16 (256 диодов), возможны зависания и перебои в работе;
В Arduino Leonardo/Micro/Pro Micro вмещается около 400 светодиодов (матрица 20×20);
В Arduino Mega вмещается около 1700 светодиодов (матрица 40×42)
В ESP8266/NodeMCU/Wemos вмещается ГОРАЗДО больше светодиодов, но нужно понимать, что скорость обновления ленты зависит от количества светодиодов, и при 500 диодах будет 60 кадров в секунду (fps), при 1000 будет 30 fps, при 2000 будет 15 fps, т.е. ощутимые глюки в быстрых эффектах.
Создание простейшего шрифта для LED матрицы 8х8
Итак, продолжим изучение возможностей светодиодных LED матриц 8х8. В этой статье мы рассмотрим следующую функцию из библиотеки LedControl которая называется setRow(). Также попутно рассмотрим создание простейшего шрифта, состоящего полностью из цифр, чтобы в дальнейшем применить этот шрифт для визуализации счетчика, который мы создадим в конце этой статьи.
Синтаксис вызова функции setRow() имеет вид:
matrix.setRow(address, row, value);
Где matrix – объект класса LedControl
- address – номер, или адрес устройства(LED матрицы) на шине SPI, в нашем случае будет равен нулю, так как устройство одно.
- row – ряд на LED матрице.
- value – значение(тип данных byte) которым заполнится ряд.
Нужно уточнить, что отсчет рядов на LED матрице начинается сверху, то есть самый верхний ряд светодиодов будет нулевым рядом, а самый нижний будет 7-м рядом. Для примера можно создать скетч, который будет выводить на LED матрицу цифру 5.
Воспользуемся вторым вариантом, выберем символ “5” из предложенной таблицы.
Выбранный символ отобразится в левой таблице обозначающей поле матрицы, в правой таблице будет лежать значение массива байт, которые мы скопируем и укажем в качестве аргумента value в вызове функции setRow().
#include “LedControl.h” //Синтаксис создания класса LedControl(dataPin,clockPin,csPin,numDevices) //Где LedControl – объект класса //dataPin – пин на плате Arduino к которому будет подключен пин DIN //clockPin – пин на плате Arduino к которому будет подключен пин CLK //csPin – пин на плате Arduino к которому будет подключен пин CS //numDevices – количество устройств на шине //Создать объект класса matrix в нашем случае с одним подключенным устройством LedControl matrix = LedControl(12, 11, 10, 1); void setup() { //Устройству с адресом 0 по SPI интерфейсу выйти из спящего режима по умолчанию matrix.shutdown(0, false); //Установить яркость Led матрицы на 8 из 15 matrix.setIntensity(0, 8); //Очистить дисплей matrix.clearDisplay(0); } byte customChar = {0b00011111, 0b00011000, 0b00011110, 0b00000011, 0b00000011, 0b00011011, 0b00001110, 0b00000000}; void loop() { for(int i = 0; i Из скетча видно, что функция setRow() работает в связке с циклом for, это обеспечивает полноценное задействование всей её мощности, хотя можно в частных случаях и не использовать цикл. На фото можно видеть результат работы скетча, качество не очень хорошее, но самую суть можно таки разобрать:
С помощью редактора символов, можно создавать любые символы, можно создавать также и картинки, размерностью 8х8, всё ограничивается лишь фантазией разработчика. В довершение статьи можно в качестве примера сделать счетчик от 0 до 9, с интервалом примерно в одну секунду. Используя редактор символов, создадим 10 символов от 0 до 9, объявим массив CountDugits.
Вот собственно сам скетч:
#include “LedControl.h” //Синтаксис создания класса LedControl(dataPin,clockPin,csPin,numDevices) //Где LedControl – объект класса //dataPin – пин на плате Arduino к которому будет подключен пин DIN //clockPin – пин на плате Arduino к которому будет подключен пин CLK //csPin – пин на плате Arduino к которому будет подключен пин CS //numDevices – количество устройств на шине //Создать объект класса matrix в нашем случае с одним подключенным устройством LedControl matrix = LedControl(12, 11, 10, 1); void setup() { //Устройству с адресом 0 по SPI интерфейсу выйти из спящего режима по умолчанию matrix.shutdown(0, false); //Установить яркость Led матрицы на 8 из 15 matrix.setIntensity(0, 8); //Очистить дисплей matrix.clearDisplay(0); } //Объявляем массив из 10-ти символов //Каждый символ включает в себя массив из 8-ти байт //закодированных числом в шестнадцатиричном коде byte CountDigits = { {0xe, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0xe, 0x0}, //0 {0x2, 0x6, 0xe, 0x6, 0x6, 0x6, 0x6, 0x0}, //1 {0xe, 0x1b, 0x3, 0x6, 0xc, 0x18, 0x1f,0x0}, //2 {0xe, 0x1b, 0x3, 0xe, 0x3, 0x1b, 0xe, 0x0}, //3 {0x3, 0x7, 0xf, 0x1b, 0x1f, 0x3, 0x3, 0x0}, //4 {0x1f,0x18, 0x1e, 0x3, 0x3, 0x1b, 0xe, 0x0}, //5 {0xe, 0x1b, 0x18, 0x1e, 0x1b, 0x1b, 0xe, 0x0}, //6 {0x1f,0x3, 0x6, 0xc, 0xc, 0xc, 0xc, 0x0}, //7 {0xe, 0x1b, 0x1b, 0xe, 0x1b, 0x1b, 0xe, 0x0}, //8 {0xe, 0x1b, 0x1b, 0xf, 0x3, 0x1b, 0xe, 0x0} //9 }; void loop() { for(int j = 0; j На видео ниже – результат работы скетча, счетчик от 0 до 9 с интервалом в одну секунду:
Для любителей выжигать на различных материалах
В сети можно увидеть многочисленные самодельные модели выжигателей, которые способны создавать рисунок на фанере, пластике, металле и даже на стекле. Причем достигается фотографическая схожесть и некоторая объемность изображения. Поверхность очищают, обезжиривают, грунтуют белым акрилом марки Kudo и, применяя лазерный ЧПУ выжигатель, его ещё называют пиропринтер, создают уникальные изображения. Иногда процесс длится 6 и больше часов.
Скорость работы выжигателя – стабильная 10 м/мин, и у программистов есть идеи, как ее поднять, не вмешиваясь в работу блока управления. Управлять выжигателем можно и с ноутбука (ОС Windows XP и 7), отказавшись от LPT кабеля. Это превратит выжигание в увлекательное занятие для детей и подростков с применением возможностей лазерных фрезеров.
Самодельные часы на светодиодных матрицах
Несмотря на большую популярность часов на светодиодных матрицах, в Рунете не так уж и много схем для их самостоятельного изготовления. Рассмотрим самую популярную.
Необходимые навыки для сборки устройства:
- изготовление печатных плат;
- пайка элементов: схема предполагает SMD-исполнение, это значит, что элементы будут устанавливаться прямо на поверхность платы;
- прошивка микроконтроллеров: в схеме используется МК ATMega16A;
- программирование МК: это не обязательно, поскольку для данного устройства уже имеется прошивка контроллера. Этот навык пригодится, если вы захотите изменить режим работы часов или расширить их функционал, например, добавив дополнительные элементы такие, как датчики температуры или влажности.
Из инструментов понадобятся:
- набор для изготовления плат;
- программатор МК;
- паяльник.
Рассмотрим подробнее схему устройства. Главным управляющим элементом является МК ATMega16A, он обеспечивает следующие возможности прибора:
- Отсчет времени и календарь. Ведется даже при отключении питания.
- Будильник. Здесь их 9 штук, можно запрограммировать на работу по дням недели.
- Измерение температуры. Конструкция часов позволяет установить два датчика температуры для измерений в комнате и на улице.
- Режим бегущей строки. Выдает следующую информацию: день недели, месяц, год, температура.
- Коррекция хода часов.
Большая часть функций возложена на микроконтроллер, что позволяет максимально разгрузить схему и использовать минимальное количество элементов.
Для индикации используются три светодиодные матрицы 8×8. В качестве диода D1 лучше использовать диод Шоттки. Диод в схеме обеспечивает переход на аварийное питание, а диод Шоттки обладает наименьшим падением напряжения и высокой скоростью переключения.
Процесс изготовления:
О некоторых особенностях при сборке часов на светодиодной матрице с ATMega 16A доступно рассказывается в следующем видео.
Часы на светодиодных матрицах имеют много преимуществ перед приборами с другим типом индикации: дешевле, не засвечиваются солнцем, с их помощью можно вывести большее количество информации. Существует большое количество моделей часов на led матрицах, и каждый найдет для себя девайс с требуемым функционалом. Также такие часы несложно изготовить самому, как вы увидели из пошагового руководства выше, это не требует особенных инструментов или специальных навыков.
После того, как я изготовил матрицу 8х10, ко мне обратилось множество людей с просьбой создать матрицу большего размера, а также обеспечить запись данных в матрицу с помощью ПК. Поэтому в один прекрасный день я собрал светодиоды, которые остались после изготовления светодиодного куба, и решил все-таки сделать матрицу большего размера с учетом требований, о которых меня просили коллеги.
Ну, и чего же вы ждете? Берите светодиоды и паяльник, потому, что мы сейчас вместе будет делать светодиодную матрицу 24х6!
Подключение и настройка
Подключите 16-проводной шлейф к входному сигнальному разъёму матрицы DATA IN .
Шаг 2
С помощью проводов «папа-папа» подключите второй конец шлейфа к платформе Arduino Mega 2560.
Номера пинов изменять нельзя
Шаг 3
Подключите питание на светодиодную матрицу через силовой шнур. Один конец провода к блоку питания, а второй — в разъём POWER на матрице. Каждая LED панель питается строго от 5 вольт. Потребление тока зависит от вида матрицы.
Рекомендуем использовать блок питания с выходным напряжением 5 вольт и током не менее 4 ампер. Идеально подойдёт блок питания с выходным напряжением 5 вольт и током 5 ампер.
При подключении нескольких светодиодных панелей, соответственно увеличивайте запас по току в N-раз, где N — количество матриц в цепочке.
На схеме матрицы нет встроенного регулятора напряжения. При подаче напряжения более 5 вольт — вы убьёте LED панель.
Что такое Arduino
Прежде всего, стоит разобраться, что такое Arduino.
- название торговой марки аппаратуры, средств программирования, при помощи которых реально построить модели станков (в том числе, трехосевого), несложные системы автоматики и робототехники;
- линейка продукции, наличие открытой архитектуры у которой позволит скопировать или дополнить уже существующие конструкции;
- небольшая плата с собственным процессором и памятью;
- аппаратная вычислительная платформа или же контроллер;
- язык программирования, позволяющий разбирать различный софт (условно бесплатное ПО, свежие новости в области IT);
- так называемый электронный конструктор.
Создавая на Ардуино устройства электроники, способные принимать сигналы от разных цифровых и аналоговых датчиков, подключенных к нему, как к основе. Поэтому в контексте данной статьи, речь будет идти о платах.
Установка электроники в корпус часов.
Подготовил всю необходимую электронику.Нарезал провода нужной длины. На необходимые проводники установил разъём Dupont. Загрузил прошивку в Arduino Pro Mini. Как это сделать, читайте в статье: «Прошивка Arduino Pro Mini с помощью конвертера PL2303HX». И после чего приступим к пайке.
Схема подключения часов на Arduino Pro Mini и светодиодах WS2812B.
Паяем электронику по схеме.
Вот такой результат получился, осталось уложить все в корпус часов.
Чтобы Arduino Pro Mini и DS-3231 не стучали об корпус, приклеил их на двухсторонний вспененный скотч.
А сейчас немного о прошивке часов.
Код часов на Arduino и светодиодах WS2812B.
Для начала необходимо установить 2 библиотеки: DS3232RTC –для работы с модулем реального времени DS3231 и FastLED – для управления адресными светодиодами WS2812B.
Внимание! При установке библиотеки FastLED будьте внимательны нужно ставить версию, не больше, чем 3.3.2. Если у вас уже установлена более поздняя версия библиотеки, её нужно переустановить.. Установить эти библиотеки можно из файла
Скачать их можно внизу статьи в разделе «».
Установить эти библиотеки можно из файла. Скачать их можно внизу статьи в разделе «».
Также установить данные библиотеки можно через менеджер библиотек. Для этого в Arduino IDE переходим в пункт меню Скетч > Подключить библиотеку > Управлять библиотеками …
Подождите, пока диспетчер библиотек загрузит индекс библиотек и обновит список установленных библиотек.
DS3232RTC
FastLED FastLED
Выбираем версию 3.3.2. и устанавливаем. Если у вас была установлена более новая версия, её нужно переустановить что можно сделать через менеджер – библиотека. Аналогичным образом.Выбрать нужную версию и нажать, установить. Ваша версия библиотеки будет переустановлена на ту версию, которую вы выбрали.
Модуль DS-3231 подключён по шине I2C, по этому контакт SDA подключаем к пину А4 Arduino и SCL подключаем к A5.
#define LED_PIN 6 // Пин поключения ленты 6
Контакт данных ленты подключаем к 6 пину Arduino. Тактовые кнопки подключаем к 3 и 4 пинам Arduino.
byte button_1 = 4; // кнопка byte button_2 = 3; // кнопка
Данные настройки можно оставить без изменений, но про них нужно знать.
После чего можно приступить к загрузке скетча в Arduino. Код мы рассмотрели, тут ничего сложного нет, а сейчас приступим к сравнению предыдущей версии часов с текущей.
Трехкоординатный самодельный станок с ЧПУ
Следующая ступень сложности – трехкоординатный самодельный станок с ЧПУ. Сделать его своими руками несколько сложнее. Вопрос даже не в механике, а в более сложной схеме программирования.
Принцип третьей руки механической части заключается в том, что на каретку устанавливается еще один комплект направляющих. Теперь инструмент имеет три степени свободы: X, Y, Z.
Что это дает? Во-первых, можно вырезать замкнутые фигуры в середине заготовки. Фреза установится над началом разреза, опустится на заданную глубину, пройдет по внутреннему контуру, и снова поднимется над плоскостью заготовки. По аналогичной схеме можно высверливать отверстия в заданных точках. Но самое главное – с помощью такого станка можно вырезать трехмерные фигуры.
Каретка перемещается вдоль направляющих с помощью шаговых двигателей. Сборка станка ЧПУ своими руками дает возможность выбора привода. Если приоритет в скорости – устанавливается ременный привод. Для высокой точности используется червячно-резьбовой.
Чтобы изготовить своими руками ЧПУ станок, требуются чертежи и трехмерная модель с расчетом всех трех координат (осей перемещения).
Лучше всего выполнить моделирование в профильной программе, например AutoCAD. Перед началом проектирования следует приобрести элементы, которые невозможно изготовить самостоятельно: узлы скольжения по направляющим, шаговые двигатели, приводные ремни.
Сердцем такого станка является программируемый блок управления. Условно он состоит из трех частей:
- Модуль ввода, в который помещается схема обработки заготовки. Его роль может исполнять персональный компьютер
- Процессорный блок, преобразующий электронную модель изделия в команды для исполнительных механизмов
- Модуль управления исполнительными механизмами (шаговыми двигателями, рабочей головкой). Этот же блок принимает сигналы от датчиков позиционирования (при наличии таковых).
Исходный код программы (скетча)
Arduino
#define BLYNK_PRINT DebugSerial
#include <Adafruit_NeoPixel.h>
#include <SoftwareSerial.h>
SoftwareSerial DebugSerial(2, 3);
#include <BlynkSimpleStream.h>
char auth[] = «-54csCxRMCSyHxxxxxxxxx»;
#define PIN 6
#define NUM_PIXELS 40
Adafruit_NeoPixel pixels(NUM_PIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup()
{
DebugSerial.begin(9600);
pixels.begin();
Serial.begin(9600);
Blynk.begin(Serial, auth);
}
void loop()
{
Blynk.run();
}
BLYNK_WRITE(V2)
{
int r = param.asInt();
int g = param.asInt();
int b = param.asInt();
pixels.clear();
pixels.setBrightness(20);
for (int i=0; i<=NUM_PIXELS;i++)
{
pixels.setPixelColor(i, pixels.Color(r, g, b));
}
pixels.show();
}
1 |
#define BLYNK_PRINT DebugSerial SoftwareSerialDebugSerial(2,3); #include <BlynkSimpleStream.h> charauth=»-54csCxRMCSyHxxxxxxxxx»; #define PIN 6 Adafruit_NeoPixelpixels(NUM_PIXELS,PIN,NEO_GRB+NEO_KHZ800); voidsetup() { DebugSerial.begin(9600); pixels.begin(); Serial.begin(9600); Blynk.begin(Serial,auth); } voidloop() { Blynk.run(); } BLYNK_WRITE(V2) { intr=param.asInt(); intg=param1.asInt(); intb=param2.asInt(); pixels.clear(); pixels.setBrightness(20); for(inti=;i<=NUM_PIXELS;i++) { pixels.setPixelColor(i,pixels.Color(r,g,b)); } pixels.show(); } |
Светодиодная матрица 24х6 на Arduino
Материалы: — светодиоды 144 шт— резисторы 24 шт (определяется по типу светодиодов, в этом случае 91 Ом)— счетчик десятичный 4017— резисторы 6 шт (номинал 1 кОм)— транзисторы 6 шт 2N3904— Длинная макетная плата— Arduino— регистры сдвига 3 шт (74HC595)— штыревые разъёмы
Шаг 1: Как работает:Обычно информация в светодиодной матрице разбивается на мелкие части, которые после передаются друг за другом. Таким образом, экономится большое количество выводов на Arduino, и программа становится достаточно простой.
Далее, наступает время 3-х сдвиговых регистров, они умножают выходы и экономят много выводов на Arduino.
На каждом регистре числится 8 выходов, используется всего 3 вывода Arduino для контролирования огромного числа сдвиговых регистров.
Автор также использует счётчик 4017, для возможности сканирования рядов. С его помощью сканируется до 10 рядов, так как у автора всего только 10 выходов, тем не менее необходимо всего 2 вывода.
Как было сказано ранее, сканирование происходит с помощью этого счётчика 4017, через подключение одного ряда к земле за один раз и отправке данных через резисторы в колонки.
Шаг 2: СхемаЕдинственные элементы не указанные на схеме — это резисторы ограничения тока, так как их номинал напрямую зависит от того какого типа светодиоды используются. Поэтому их величина должна быть вычислена самостоятельно.
Для расчёта величин 24 резисторов можно воспользоваться калькулятором LED-калькулятор
Для начала смотрят спецификацию светодиода, для того чтобы узнать их прямое напряжение и их прямой ток. Информацию можно узнать сразу при покупке. Схема работает от напряжения 5В. Соответственно необходим источник питания с таким же напряжением.
Также добавлен макет платы управления, который изготовлен с помощью инструментального средства Willard 2.0.
Шаг 3: пайкаПайка такого большого количества светодиодов задача ни из лёгких если не знаешь наверняка как это делается правильно.
Автор сгибает вниз положительный вывод светодиодов по направлению к остальным выводам, и делается ряд, после чего отрезается неприменимая часть вывода, и пытается сделать эти соединения максимально низкими. Эта процедура делается для каждого положительного вывода.
На данном этапе отрицательные выводы соединены в колонку и их спаивание неудобно, так как у них на пути положительный ряд. Поэтому отрицательный вывод сгибается на 90 градусов, и делается мост над положительным рядом к следующему отрицательному выводу, и так для всех остальных светодиодов.
Сдвиговые регистры и оставшиеся компоненты можно припаиваются на усмотрение каждого отдельно.
Шаг 4: программированиеПришло время к последнему этапу проекта.
Автор до этого писал несколько похожих программ. Поэтому ему пришлось только добавить программу, которая будет получать слово или же целое предложение от монитора IDE arduino и затем отображает его на матрице. Код , конечно же, можно создать свой или изменить этот на своё усмотрение.В архиве приложен excel файл, для возможности создания своих знаков или символов.
Как это сделать:Создаётся нужный знак пиксель за пикселем (ничего сложного в этом нет), и копируется выходная строка — #define
Шаг 5: устройство готовоМатрица 24х6 готова, теперь на нее возможно вывести все что угодно. Можно сделать самому новые программы или попробовать улучшить интерфейс.
Светодиодные матрицы 10-500 Вт в Москве
- Светодиодная матрица 30 Вт (32×32 mil)
275 р.-
Температура эксплуатации, С
-45 +45Содержание ультрафиолета в светом потоке, %
0%Срок эффективной службы осветительного элемента, ч
50 000Потребляемая мощность, Вт/ч
30Марка чипов
HugaРазмер чипов, mil
32×32Падение напряжения на входе, В
28-32Сила тока на входе, мА
900Угол раскрытия светового потока, град.
160Световой поток, Лм
2400Цветовая температура белого цвета, К
6500Цветопередача
70%Гарантия, годы
1Перейти к товару
- Светодиодная матрица 50 Вт (32×32 mil)
405 р.-
Температура эксплуатации, С
-45 +45Содержание ультрафиолета в светом потоке, %
0%Срок эффективной службы осветительного элемента, ч
50 000Потребляемая мощность, Вт/ч
50Марка чипов
HugaРазмер чипов, mil
32х32Падение напряжения на входе, В
32-34Сила тока на входе, мА
1500Угол раскрытия светового потока, град.
160Световой поток, Лм
4200Цветовая температура белого цвета, К
5500-6000Цветопередача
70-80%Гарантия, годы
1Перейти к товару
-
Температура эксплуатации, С
-45 +45Содержание ультрафиолета в светом потоке, %
0%Срок эффективной службы осветительного элемента, ч
100 000Потребляемая мощность, Вт/ч
30Марка чипов
EpistarРазмер чипов, mil
36х36Падение напряжения на входе, В
28-32Сила тока на входе, мА
900Угол раскрытия светового потока, град.
160Световой поток, Лм
2510Цветовая температура белого цвета, К
4000Цветопередача
90%Гарантия, годы
2Перейти к товару
- Светодиодная матрица 70 Вт (32X32 mil)
490 р.-
Температура эксплуатации, С
-45 +45Содержание ультрафиолета в светом потоке, %
0%Срок эффективной службы осветительного элемента, ч
50 000Потребляемая мощность, Вт/ч
70Марка чипов
HugaРазмер чипов, mil
32х32Падение напряжения на входе, В
36Сила тока на входе, мА
2450Угол раскрытия светового потока, град.
160Световой поток, Лм
5950Цветовая температура белого цвета, К
5500-6000Цветопередача
70-80%Гарантия, годы
3Перейти к товару
- Светодиодная матрица 100 Вт (32×32 mil)
675 р.-
Температура эксплуатации, С
-45 +45Содержание ультрафиолета в светом потоке, %
0%Срок эффективной службы осветительного элемента, ч
50 000Потребляемая мощность, Вт/ч
100Марка чипов
HugaРазмер чипов, mil
32х32Падение напряжения на входе, В
32-34Сила тока на входе, мА
3000Угол раскрытия светового потока, град.
160Световой поток, Лм
8000Цветовая температура белого цвета, К
6000-6200Цветопередача
70-80%Гарантия, годы
1Перейти к товару
- Светодиодная матрица 200 Вт Cree XT-E
2450 р.-
Температура эксплуатации, С
-45 +45Содержание ультрафиолета в светом потоке, %
0%Срок эффективной службы осветительного элемента, ч
100 000Потребляемая мощность, Вт/ч
200Марка чипов
Cree XT-E (USA)Падение напряжения на входе, В
42-46Сила тока на входе, мА
4500Угол раскрытия светового потока, град.
160Световой поток, Лм
20000Длина, мм
88Ширина, мм
66Высота, мм
2Цветовая температура белого цвета, К
4750Цветопередача
70-80%Гарантия, годы
1Перейти к товару
- Светодиодная матрица 200В (200 Вт)
3390 р.-
Потребляемая мощность, Вт/ч
200Марка чипов
ЭпистарРазмер чипов, mil
45х45Падение напряжения на входе, В
44-50Сила тока на входе, мА
4900Угол раскрытия светового потока, град.
140Световой поток, Лм
20000-22000Цветовая температура белого цвета, К
2700-6500Цветопередача
70-80%Гарантия, годы
3 годаПерейти к товару
- Светодиодная матрица 300В (300 Вт)
5076 р.-
Температура эксплуатации, С
от -45 до +45Содержание ультрафиолета в светом потоке, %
0%Срок эффективной службы осветительного элемента, ч
50 000Потребляемая мощность, Вт/ч
300Марка чипов
ЭпистарРазмер чипов, mil
45×45Падение напряжения на входе, В
54-58Сила тока на входе, мА
5900Угол раскрытия светового потока, град.
140Световой поток, Лм
30 000 – 32 000Цветовая температура белого цвета, К
2700-6500Цветопередача
70-80%Гарантия, годы
3 годаПерейти к товару
- Светодиодная матрица 500В (500 Вт)
8460 р.-
Температура эксплуатации, С
от -45 до +45Содержание ультрафиолета в светом потоке, %
0%Срок эффективной службы осветительного элемента, ч
50 000Потребляемая мощность, Вт/ч
500Марка чипов
ЭпистарРазмер чипов, mil
45х45Падение напряжения на входе, В
70-76Сила тока на входе, мА
6600Угол раскрытия светового потока, град.
140Световой поток, Лм
45 000 – 50 000Цветовая температура белого цвета, К
2700-6500Цветопередача
70-80%Гарантия, годы
3 годаПерейти к товару
АДРЕСНЫЕ СВЕТОДИОДНЫЕ МАТРИЦЫ
Проект “Тетрис”
В этом гайде речь пойдёт о матрицах из адресных светодиодных лент. Если вы не в курсе про адресные ленты, то рекомендую изучить вот эту статейку. Фишка адресной ленты в том, что мы можем управлять любым из подключенных светодиодов. Если уложить ленту так, чтобы светодиоды образовывали ровную сетку, то мы получим матрицу, у которой можно зажечь любой “пиксель”, а зажечь можно одним из 16,7 миллионов цветов и оттенков! (светодиоды RGB, яркость каждого цвета имеет 256 градаций (8 бит), соответственно для трёх цветов у нас 256*256*256=16,7 лямов, что есть привычные 24 бита цветовой глубины). То есть по сути получаем полноценный 24 битный дисплей сверхнизкого разрешения! Зачем такое разрешение в 2к18 году? Спроси у своего папы, во что он играл в детстве =)
Начнём с компонентов. Матрицу можно склеить самому, для этого понадобится адресная светодиодная лента, например самая популярная на чипах WS2812b. Да, сейчас есть уже более новая WS2813, но для наших целей она преимуществ не имеет. Целесообразно брать ленту с плотностью пикселей 60 светодиодов на метр для маленьких матриц (ячейка 1.7×1.7 см) и 30 светодиодов на метр для больших матриц (ячейка 3.3×3.3 см). Также есть светодиодные модули по типу “гирлянды”, их можно брать для ОЧЕНЬ БОЛЬШИХ матриц (ячейка 12×12 см). Рассмотрим матрицу 20×10 светодиодов: из ленты 60 LED на метр размер матрицы будет 34×17 см, из 30 LED на метр – 66×33 см, и из модулей – 240×120 см.
Также хитрые китайцы уже продают готовые матрицы нескольких размеров, причём очень выгодно: матрица 16×16 стоит 1500р, она состоит из 256 диодов с плотностью 100 штук на метр. Лента такой же плотности стоит 1000р за метр (за 100 светодиодов). Для склейки матрицы размером 16×16 понадобится 2.5 метра ленты, то есть 2500р. А готовая матрица стоит на 1000р дешевле. Абсолютно то же самое касается матрицы 32×8 пикселей. Есть ещё готовая матрица 8×8, она стоит 300р. И вот она выходит уже не так выгодно =) Для питания матрицы нужен блок питания на 5V, по току расскажу дальше. Ссылок оставляю несколько, ищите выгодные предложения и скидки (P.S. Я закупаюсь в BTF-Lighting)
ВАЖНО! Чем больше матрица, тем больше места занимает прошивка в памяти. Для прошивки GyverMatrixOS:. В Arduino Nano/UNO/Pro Mini при использовании всех эффектов и режимов очень впритык вмещается матрица 16х16 (256 диодов), возможны зависания и перебои в работе;
В Arduino Nano/UNO/Pro Mini при использовании всех эффектов и режимов очень впритык вмещается матрица 16х16 (256 диодов), возможны зависания и перебои в работе;
В Arduino Leonardo/Micro/Pro Micro вмещается около 400 светодиодов (матрица 20×20);
В Arduino Mega вмещается около 1700 светодиодов (матрица 40×42)
В ESP8266/NodeMCU/Wemos вмещается ГОРАЗДО больше светодиодов, но нужно понимать, что скорость обновления ленты зависит от количества светодиодов, и при 500 диодах будет 60 кадров в секунду (fps), при 1000 будет 30 fps, при 2000 будет 15 fps, т.е. ощутимые глюки в быстрых эффектах.
- +5V — питание 5 вольт на плате
- GND — земля
- DIN — пин для данных на плате Ардуино
Матрица работает от 5 вольт. А значит мы сможем подключить ее напрямую к Ардуино. Однако, для реальных проектов рекомендую сделать для нее отдельное питание от аккумулятора или блока питания. В соответствии с характеристиками производителя при ярком белом свете, матрица потребляет 76,8 Вт. А ток может быть от 12 до 18 А, в соответствии с таблицей производителя.
Кроме того, сигнальный контакт DIN подключим через резистор, чтобы оградить контакт Ардуино от перепадов напряжения.
+5VGNDDIN
Светодиодная матрица и сдвиговые регистры
В нашем уроке мы будем подключать к Ардуино Уно самую простую светодиодную матрицу 8×8 красного свечения. Нумерация выводов начинается с нижнего левого угла. При этом, нумерация ног 1-16 не связана никакой логикой с нумерацией колонок и строк C и R.
Ориентируясь на урок про динамическую индикацию, попробуем использовать в схеме управления матричным индикатором 8-битные сдвиговые регистры. Один регистр подключим к выводам индикатора, отвечающим за колонки, а второй к выводам строк.
Принципиальная схема
Важное замечание №1. Необходимо, чтобы резисторы в этой схеме были на линиях, идущих от первого сдвигового регистра
Этот сдвиговый регистр отвечает за колонки. При таком подключении, каждый резистор будет задавать ток только для одного светодиода на каждом шаге динамического алгоритма. Следовательно, все светодиоды будут светиться равномерно.
Важное замечание №2. Указанная выше схема носит сугубо ознакомительный характер
Правильнее будет включить в разрыв между вторым регистром и матрицей дополнительную силовую микросхему, например транзисторную сборку ULN2003.