""

Светодиодный куб 4x4x4

Содержание

Мучения с LED cube 4x4x4 (Arduino+74HC595)

Здравствуйте, дорогие хабравчане!

Наконец-то у меня есть, что вам рассказать и показать. Надеюсь, рассказ будет интересен не только мне.

Я расскажу о своём опыте работы с Ardiuno UNO и даже покажу, что у меня в итоге получилось. Если вам ещё не надоело подобное — добро пожаловать под кат.

Я — учитель физики, информатики и астрономии в обычной средней школе. Успел поработать сисадмином-эникейщиком и с компами немного дружу, немного умею работать с сайтами, чуть-чуть понимаю php и MySQL. Но в программировании я чуть больше, чем нуль. Это должно немного уменьшить ваш гнев от чтения написанной мною программы, которую я чуть дальше покажу.

Весной 2014 года на областной конференции познакомился с LEGO WeDo и электронаборами ООО «ЛАРТ-М». Очень мне это дело понравилось, но всё это было не у меня.

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

Я втянулся, мне стала нравится робототехника, но цены на Lego просто убивали. Тогда мне попалась вот эта статья. Я связался с фирмой, занимающейся поставкой этих наборов к нам и мы договорились о пробной покупке одного набора и дальнейшем сотрудничестве на ниве внедрения этого дела в школы. После получения этого набора в свои цепкие ручки, я начал пробовать и материться… Про проблемы, связанные с этим набором расскажу отдельно, если будет интересно. Главное не это.

Сначала я, конечно же, попробовал подключить датчики/кнопочки/диодики. Всё работало и сверкало. С одной поделкой я даже выступил на очередной областной конференции и «сорвал банк». А там всего-то было 2 фоторезистора, 2 светодиода, 1 динамик, 1 кнопка, 3 зеркала, 1 потенциометр (кнопок больше не было на тот момент) и 1 лазерная указка. Из этого получился небольшой дом, который делал следующее:
1) зажигать светодиод над входной дверью, когда на улице темно;
2) играть простенькую мелодию, когда нажимают кнопку звонка у двери;
3) зажигать светодиод в «комнате охраны», когда кто-то звонит в дверь (вдруг охранник в наушниках музыку слушает);
4) при выкручивании потенциометра на максимум (надо будет заменить второй кнопкой, благо теперь она есть) включалась сигнализация — внутренний фоторезистор начинал реагировать на прерывание лазерного луча от указки, через систему зеркал направляемую на него «с улицы». При пересечении луча в «комнате охраны» раздавалась сирена и загорался светодиод.

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

Сначала собрал кубик из 27 светодиодов (кажется, по вот этой инструкции). Скетч первоначального варианта работы (как на видео) не выкладываю, т.к. надо его полностью переписывать, с учётом новых знаний. Но сначала он работал вот так:

UPD: сейчас этот кубик управляется ИК-пультом: скетч, библиотека IRremote, библиотека LedCube. Сразу даю ссылки на файлы библиотек, чтобы не возникло проблем с разными версиями. Схему подключения нарисую чуть позже, простите.

Этого мне показалось мало, да и я поверил в свои силы. Поэтому решил собрать такой же кубик, но уже из 64 светодиодов. Дурное дело — не хитрое, особенно когда работать не надо. Сначала собрал кубик, используя несколько похожих инструкций (вроде этой и этой). Получилось вот так (скетч):

Управлять таким кубиком было довольно просто. Проблема была в том, что все 20 имеющихся в моей Arduino UNO выходов оказались заняты светодиодами, а хотелось ещё подключить каких-нибудь датчиков и прочих прелестей.

Вторая версия. На Ардуинке заняты кубиком только 7 портов, но всё собрано на макетке и использовано около 70 проводов:

Окончательная версия. Все мелкие запчасти спаяны и спрятаны в коробку:


Собственно, управлять кубиком стало немного сложнее, зато удалось подключить двухстрочный дисплей, на который выводится название режима работы кубика и номер этого режима (удобно ковырять программу, видя эту инфу), и кнопку, которая переключает режим работы кубика.

Да, забыл сказать. Жена у меня ведёт информатику в той же школе и, глядя на мои мучения, у неё родилась мысль об элективном курсе для 9 класса (пока всё в виде идеи и черновых набросков) по работе с ардуинкой. Будем надеяться, что из этого что-то получится.

Самодельный светодиодный куб 4x4x4 на Arduino

В интернет-магазинах по доступной цене можно приобрести модуль управления светодиодной матрицей 8×8, собранный на микросхеме МАХ7219 (рис. 1). Его можно использовать для совместной работы с Arduino.

Такой модуль, используя всего три сигнальных вывода платы, позволяет управлять светодиодной матрицей из 64 (8×8) светодиодов.

Рис. 1. Модуль управления светодиодной матрицей 8×8.

Дополнительные функции по управлению такими модулями даёт библиотека LedControl, автором которой является Эбехард Фэйл. Совместное использование библиотеки и модулей расширяет возможности Arduino UNO.

Библиотека поддерживает работу до восьми последовательно соединённых модулей, позволяя параллельно подключать несколько таких цепочек.

Это широко используется любителями при построении различных информационных табло и бегущих строк. Однако не менее интересным является создание с помощью этого модуля и светодиодов трёхмерных анимационных эффектов. Об управлении с помощью модуля на МАХ7219 светодиодной 3D-матрицей 4x4x4 и пойдёт речь в статье.

Рис. 2. Внешний вид готового светодиодного куба.

На рис. 2 изображена конструкция светодиодного автоматического переключателя световых эффектов. Автомат перебирает в цикле восемь программ переключения светодиодов.

Использование Агduino позволяет гибко менять их число и содержание, открывая простор для творчества.

Изготовление устройства удобнее начать с самого куба и его подключения к модулю. Сначала с платы модуля надо удалить светодиодную матрицу, для этого её надо аккуратно поддеть отвёрткой. В результате освободятся разъёмы для подключения матрицы.

Микросхема МАХ7219 и подключение светодиодов

Условная нумерация контактов модуля показана на рис. 3 Именно через них на светодиодную матрицу 8×8 поступает питающее напряжение. На этом же рисунке указаны выводы светодиодного куба, к которым подключают контакты модуля.

Рис. 3. Модуль на микросхеме МАХ7219.

Через контакты С1 -С8 высокий уровень напряжения поступает на столбцы матрицы, а через R1- R8 – низкий уровень на строки. Например, чтобы включить левый нижний светодиод (см. рис. 1), нужно подать на вывод С1 логическую единицу, на вывод R1 – ноль. Выводы R образуют ряды, выводы С – столбцы. К первым выводам подключаются все катоды светодиодов, ко вторым – аноды.

Рис. 4. Конструкция светодиодного куба.

Конструктивно куб (рис. 4) состоит из четырех одинаковых слоёв по 16 светодиодов в каждом. Схема одного слоя показана на рис. 5. В авторском варианте применены индикаторные светодиоды красного цвета свечения с диаметром корпуса 5 мм.

Каждый слой монтируется с помощью пластины-шаблона. Она изготовлена из листовой пластмассы толщиной 2. 3 мм или толстого картона, её размеры – 80×80 мм.

В ней просверлены 16 отверстий диаметром 5 мм с шагом 20 мм. В отверстия вставляют светодиоды, аккуратно изгибают выводы (рис. 6) и производят их пайку в соответствии со схемой слоя.

Читайте также:  Rfid терминал доступа 2.0

Рис. 5. Схема подключения светодиодов в куб 4x4x4.

Удобнее производить соединения, например, в последовательности HL1, HL5, HL9, HL13. После последовательной сборки слоёв приступают к монтажу куба.

Для этого потребуются восемь стоек из двухстороннего фольгированного стеклотекстолита шириной 5 мм и длиной 60 мм каждая. Они будут обеспечивать механическое крепление и электрическое соединение слоёв в единый куб.

Рис. 6. Изгиб выводов.

Выводы катодов верхних двух слоёв (см. рис. 4) попарно припаивают к внешней стороне (по рис. 4) каждой стойки, нижних двух слоёв – к внутренней стороне.

Аноды (выводы) первого и третьего слоёв (отсчёт сверху) соединяют с внешней стороной стоек, второго и четвёртого слоёв – с внутренней. Внизу, к каждой стойке, припаивают двухконтактный разъём, для соединения с платой модуля в соответствии с рис. 3, рис. 4 и рис. 5. Далее собирают устройство в соответствии с рис. 7.

Принципиальная схема

Модуль А2 соединяют с кубом, состоящим из четырёх слоёв АЗ-А6. Дополнительный модуль А7 (модуль на МАХ7219 со светодиодной матрицей 8×8) позволяет визуально контролировать при самостоятельном программировании соответствие двухмерной и трёхмерной картинки свечения светодиодов в кубе и матрице. После окончания программирования этот модуль удаляют.

Питают конструкцию при настройке от компьютера, при эксплуатации – от внешнего источника напряжением 7. 12 В при токе до 500 мА.

Рис. 7. Принципиальная схема светодиодного куба 4х4х4.

Программа

Библиотека LedControl не встроена в Arduino IDE, поэтому её нужно найти и установить на свой компьютер. Для этого в поисковую строку записывают “Библиотека LedControl, ZIP архив скачать” и устанавливают её после скачивания из Arduino IDE (рис. 8). Её название должно появиться внизу выпадающего списка.

Далее рассмотрим основные моменты использования библиотеки и функции применительно к скетчу для светодиодного куба. Строка #include “LedControl.h” в начале скетча указывает на необходимость использования данной библиотеки.

Строка LedControl LC = LedControl(12, 11, 10, 2); создаёт в программе объект класса для двух индикаторов – куба и плоской матрицы. Аргументы в скобках задают номера выходов платы и соответственно порядок подключения входов модуля. Первый – DIN, второй – CLKC, третий – CS. Четвёртый аргумент указывает число используемых индикаторов (в нашем примере их два).

Затем следует команда LC.shutdown (0, false);, которая выключает индикатор под номером 0 (нумерация начинается с 0 и заканчивается цифрой 7) из режима экономии энергии. Команда LC.setlntensity(0, 12); устанавливает яркость свечения в 12 единиц (яркость условно разбита на 16 уровней с нумерацией от 0 до 15 по возрастанию).

Команда LC. clearDis-play(O); очищает экран, гасит все пиксели матрицы под номером 0. Так происходят начальные установки для куба. Аналогичные процедуры реализуются для второго индикатора под номером 1.

Далее в основной части цикла, например, внутри фрагмента //построчное включение всех светодиодов//, происходит постоянный перебор элементов массива значений и включение соответствующих точек матрицы. Два счётчика j и і обеспечивают смену переключения по схеме “цикл в цикле”.

Команда LC.setLed (О, i, j, 1); включает светодиод столбца под номером j и строки под номером і, индикатора под номером 0 (нумерация строк и столбцов также идёт от 0 до 7).

Аналогично команда LC.set Led(1, i, j, 1); включает светодиоды индикатора под номером 1. Такое состояние сохраняется в течение 100 мс (команда delay(100);), затем происходит переход к следующему светодиоду.

Рис. 8. Arduino IDE.

Внутри фрагмента //мигание светодиодами всего куба в пятикратно повторяемом цикле выполняется команда LC.shutdown-(0, true); LC.shutdown (1, true); delay(300); LC.shutdown(0, fa!se);LC.shutdown(1, false); delay(300);. Она интерпретируется так: включить экономичный режим индикаторов, сделать паузу, выключить экономичный режим, сделать паузу. В таком режиме все светодиоды куба будут мигать.

Вся программа переключений построена на использовании трёх основных функций: LC.setLed(); LC.shut-down(); LC.clearDisplay(); Это – включение/выключение заданного светодиода, включение/выключение индикатора с сохранением данных и очистка экрана с выключением всех светодиодов с потерей данных по их предыдущему состоянию.

После макетирования и программирования приступают к сборке устройства. В пластмассовом контейнере подходящих размеров (см. рис. 2) размещают платы Arduino и модуля МАХ7219.

В крышке, вдоль стоек, прорезают щели и пропускают в них соединительные провода к контактным разъёмам рядов и столбцов куба. Сверху щели закрывают пластмассовыми сьёмными пластинами с крепёжными прорезями под стойки.

Сам куб приклеивают к поверхности крышки через пластмассовые брусочки-переходники размерами 5x5x10 мм, приклеенные к основаниям четырёх крайних стоек. В боковой поверхности контейнера сверлят отверстие для кабеля источника питания.

Д. Мамичев, п. Шаталово Смоленской обл. Р-11-17.

Светодиодный куб настроения





Шаг первый: план
В своем проекте мастер использует адресуемые светодиоды WS2812. Светодиоды соединяются каскадно, что означает, что можно контролировать столько светодиодов, сколько нужно, только одной сигнальной линией / проводом от микроконтроллера. Это делает проводку намного проще.

Светодиоды будут управляться с помощью Arduino Nano.

Шаг второй: печатная плата
Для проектирования печатной платы мастер использовал программу EasyEDA, так как она подходит для новичков.

Светодиод имеет 4 контакта:
VDD – 5 В
DOUT – выходной сигнал
VSS – Земля
DIN – входной сигнал

Как упоминалось ранее, светодиоды подключены каскадно, что означает, что сигнал поступает от микроконтроллера к первому светодиоду на выводе DIN. От вывода DOUT сигнал поступает на вывод DIN второго светодиода.

При проектировании печатных плат мастер планировал паять их вручную, поэтому между светодиодами он оставил достаточно места для паяльника.

Плату мастер не изготавливал сам, а заказал на JLCPCB.

Шаг третий: монтаж плат
Сначала мастер начал вручную паяльником паять светодиоды один за другим. Результат был не очень хорошим, мало того, что пайка монтаж 96 светодиодов трудоемкий процесс, так они еще и перегревались при пайке.

Тогда мастер решил пойти другим путем.
Наиболее широко используемый метод для пайки компонентов SMD называется Reflow Soldering (пайка оплавлением). В этом методе паяльная паста (смесь припоя и флюса) наносится на контактные площадки на печатной плате и компоненты помещаются на нее. Паяльную пасту затем плавят или «оплавляют», нагревая ее в печи для оплавления. Это быстрый и аккуратный метод, если все сделано правильно.

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

У мастера был утюг, подошва которого, на максимальны настройках достигала примерно 220°C. Паяльная паста, которую он купил, плавится при температуре 183°C.

Посмотрев на график температуры пайки оплавлением из таблицы светодиодов можно увидеть, что максимальная температура (Tp) составляет 240°C в течение 10 секунд. Утюг немного не дотягивает, но мастер решил попробовать.

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














Шаг шестой: код
Дальше нужно установить FastLED с помощью диспетчера. Открыть DemoReel100 из примеров эскизов. File > Examples > FastLED > DemoReel100.

Перед загрузкой кода внесите следующие изменения:
Определите DATA_PIN (контакт на Arduino, к которому подключен DIN куба) к тому, который выбрали. В данном случае цифровой контакт 4.
Определите LED_TYPE как WS2812.
Установите NUM_LEDS на 96.
И, нажмите Upload.


Светодиодный куб 4x4x4

Представляю проект 3D светодиодного куба (LED Cube) с матрицей 4х4х4.

64 светодиода образуют куб со сторонами 4х4х4, который управляется микроконтроллером Atmel Atmega16. Каждый светодиод имеет свой виртуальный адрес и может управляться с микроконтроллера индивидуально, позволяя таким образом добиваться потрясающих эффектов.

Шаг 1. Что нам понадобится?

Первое, это терпение спаять все 64 светодиода вместе 😉

Знания, которые вам понадобятся:
– основы электроники
– умение хорошо паять
– знание программирования микроконтроллеров (если не уверены, то смотрите видеокурс по микроконтроллерам)

Список радиодеталей:
Макетная плата (ну или вытравленная печатная)
Микроконтроллер Atmel AVR Atmega16
Программатор Atmega16
64 светодиода
2 светодиода состояния. Я использовал красный и зеленый. (опционально)
Микросхема Max232 rs-232 или подобная
16х резисторов для светодиодов. (100-400 Ом)
2x резистора по 470 Ом для светодиодов состояния
1x резистор 10кОм
4x резистор 2.2кОм
4x NPN транзистора BC338 (отеч. аналоги КТ645, КТ646, КТ660Б) или другой выдерживающий ток до 250 мА
1x 10мкФ конденсатор
1x 1000мкФ конденсатор
6x 0.1мкФ керамический конденсатор
2x 22пФ керамический конденсатор
1x кварц 14.7456 MHz
2x кнопки
Выключатель питания
Разъем питания 12В
Разъем питания 5В

Читайте также:  Портативный сварочный аппарат

Шаг 2. Мультиплексирование

Как управлять 64 светодиодами, если нет столько выводов управления? Мультиплексирование!

Если к аноду каждого светодиода присоединить вывод управления, то это будет непрактично, да и выглядеть будет не очень красиво. Один из способов побороть эту проблему – это разделить куб на 4 слоя, в каждом из которых будет 4х4=16 светодиодов.

У светодиодов в вертикальных колонках общий анод (+)
У светодиодов в горизонтальных плоскостях общий катод (-)

Теперь, если нужно засветить светодиод в верхнем левом углу сзади (0,0,3), необходимо подать GND(-) к верхнему слою и Vcc(+) к колонке в левом углу куба.

Если нужно засветить один светодиод или полностью весь слой, то это работает отлично.

Однако, если нужно засветить нижний правый угол спереди (3,3,0), возникают проблемы. Когда я подал GND на нижний слой и Vcc к передней левой колонке, я также засветил верхний правый светодиод спереди (3,3,3) и нижний левый светодиод сзади (0,0,0). Эта проблему казалось бы не побороть, без использования 64 индивидуальных линий управления светодиодами.

Но можно одновременно засвечивать только один слой и делать это очень быстро, чтобы глаз не успел разглядеть время переключения между слоями. Этот эффект называется Persistence Of Vision

Каждый слой – это изображение из 4х4=16 точек (светодиодов) и если мы будем быстро переключать слои, то мы получим 4х4х4 3D куб!

Шаг 3. Конструирование шаблона для куба

Спаять обьемный куб из 64 светодиодов без каких-либо приспособлений будет сложно. Поэтому мы облегчим нашу задачу воспользовавшись инструментом и приспособлениями:

Для начала, изготовим шаблон 4х4 из дерева.

Т.к. я не хотел сильно замарачиваться с решеткой куба, то решил по возможности использовать выводы светодиодов как основу решетки куба. Дистанция линий на сетке шаблона была выбрана исходя из длины ножек светодиодов. У меня получилось 25мм. Т.о. при такой сетке, нет необходимости что-либо наращивать или обрезать.

Итак, последовательность действий:
– найти и вырезать кусок фанеры
– нарисовать на ней решетку 4х4
– сделать углубления на всех пересечениях шилом или другим инструментом
– найти сверло, чтобы светодиод уверенно стоял в отверстии, и в то же время в последствии вы его могли легко вытащить
– просверлить 16 отверстий в шаблоне

Шаблон для куба готов!

Шаг 4. Конструирование светодиодных слоев

Итак, нам необходимо спаять 4 слоя светодиодов по 16 в каждом, а затем все 4 слоя спаять в один обьемный куб.

Процесс изготовления одного слоя (4х4) из светодиодов следующий:
– вставьте светодиоды в отверстия по 2-м дальним сторонам от вас и спаяйте их между собой
– вставьте светодиоды для следующего ряда, и также их спаяйте
– заполните так всю матрицу из 16 шт
– спереди, где нет соединения, добавьте связующие пересечения
– повторить процедуру 3 раза для оставшихся слоев.

Шаг 5. Конструирование куба

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

Положите первый слой на шаблон вниз головой. Это будет верхний слой куба.

Поместите второй слой на первый и очень точно совместите их. Также соблюдите расстояние между слоями 25мм, чтобы у вас получился идеальный куб. Это расстояние между катодами.
После того, как все выставили (воспользуйтесь приспособлением “третья рука”), припаяйте угловой анод первого слоя к угловому аноду второго слоя. И так все 4 угла.

Еще раз проверьте, чтобы все слои были выравнены относительно друг друга во всех измерениях. Если это не так, то подогните или перепаяйте. После этого, спаяйте 12 оставшихся светодиодов.

Повторите процедуру для оставшихся 2-х слоев.

Шаг 6. Подбор токоограничивающих резисторов

Ток микроконтроллера AVR в сумме не может превышать 200 мА. Т.о. 200/16 дает нам 12 мА на один светодиод.

Я использовал резисторы номиналом 220 Ом. Получилось как раз 12 мА на один светодиод.

Шаг 7. Схемотехника

Схема контроллера для управления кубом, показана на рисунке выше.

RS-232 опционален и может быть опущен (микросхема IC2).

Шаг 8. Присоединение МК к светодиодному кубу

Обьяснять я думаю не надо, все показано на картинках.

Шаг 9. Программа, компиляция и прошивка МК

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

Если вы захотите использовать ATMega32 вместо ATMega16, то необходимо будет поменять настройки в makefile и перекомпилировать.

Для прошивки МК я использовал avrdude и программатор USBTinyISP.

Я работаю под Ubuntu. Подробнее о прошивки микроконтроллеров под эту ОС вы можете почитать в этих статьях: программирование МК AVR в ОС Ubuntu и программирование МК AVR в ОС Ubuntu. Часть 2 (GUI)

Итак, сперва нужно соединение программатора с микроконтроллером. Подсоедините программатор к плате куба и ПК.
Команда: avrdude -c usbtiny -p m16

Далее, заливаем прошивку командой: avrdude -c usbtiny -p m16 -U flash:w:main.hex

Наш куб должен будет перезапуститься и стартовать. МК запуститься на очень низкой частоте 1 МГц используя встроенный тактовый генератор. Некоторые LED работать не будут, потому что порты GPIO заняты под JTAG.

Чтобы подключить внешний тактовый генератор и выключить JTAG, нужно перезаписать фьюзы:
введите: avrdude -c usbtiny -p m16 -U lfuse:w:0xef:m
затем: avrdude -c usbtiny -p m16 -U hfuse:w:0xc9:m

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

Ниже вы можете скачать прошивку, исходники и печатную плату в формате LAY

Мучения с LED cube 4x4x4 (Arduino+74HC595)

Здравствуйте, дорогие читатели!

Наконец-то у меня есть, что вам рассказать и показать. Надеюсь, рассказ будет интересен не только мне.

Я расскажу о своём опыте работы с Ardiuno UNO и даже покажу, что у меня в итоге получилось. Если вам ещё не надоело подобное — добро пожаловать под кат.

Весной 2014 года на областной конференции познакомился с LEGO WeDo и электронаборами ООО «ЛАРТ-М». Очень мне это дело понравилось, но всё это было не у меня.

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

Я втянулся, мне стала нравится робототехника, но цены на Lego просто убивали. Тогда мне попалась вот эта статья. Я связался с фирмой, занимающейся поставкой этих наборов к нам и мы договорились о пробной покупке одного набора и дальнейшем сотрудничестве на ниве внедрения этого дела в школы. После получения этого набора в свои цепкие ручки, я начал пробовать и материться… Про проблемы, связанные с этим набором расскажу отдельно, если будет интересно. Главное не это.

Сначала я, конечно же, попробовал подключить датчики/кнопочки/диодики. Всё работало и сверкало. С одной поделкой я даже выступил на очередной областной конференции и «сорвал банк». А там всего-то было 2 фоторезистора, 2 светодиода, 1 динамик, 1 кнопка, 3 зеркала, 1 потенциометр (кнопок больше не было на тот момент) и 1 лазерная указка. Из этого получился небольшой дом, который делал следующее:
1) зажигать светодиод над входной дверью, когда на улице темно;
2) играть простенькую мелодию, когда нажимают кнопку звонка у двери;
3) зажигать светодиод в «комнате охраны», когда кто-то звонит в дверь (вдруг охранник в наушниках музыку слушает);
4) при выкручивании потенциометра на максимум (надо будет заменить второй кнопкой, благо теперь она есть) включалась сигнализация — внутренний фоторезистор начинал реагировать на прерывание лазерного луча от указки, через систему зеркал направляемую на него «с улицы». При пересечении луча в «комнате охраны» раздавалась сирена и загорался светодиод.

Читайте также:  Камера мобильного телефона может служить в качестве мини микроскопа

После знакомства с этим наборомя начал активно читать про Arduino и, в конце концов, заказал на Aliexpress набор с Arduino UNO (точнее, китайским аналогом с диким именем) и кучкой всяких деталек. И тут Остапа понесло (с)…

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

Сначала собрал кубик из 27 светодиодов (кажется, по вот этой инструкции). Скетч не выкладываю, т.к. надо его полностью переписывать, с учётом новых знаний. Но первоначально он работал вот так:

Этого мне показалось мало, да и я поверил в свои силы. Поэтому решил собрать такой же кубик, но уже из 64 светодиодов. Дурное дело — не хитрое, особенно когда работать не надо. Сначала собрал кубик, используя несколько похожих инструкций (вроде этой и этой). Получилось вот так (скетч):

Управлять таким кубиком было довольно просто. Проблема была в том, что все 20 имеющихся в моей Arduino UNO выходов оказались заняты светодиодами, а хотелось ещё подключить каких-нибудь датчиков и прочих прелестей.

В результате некоторого количества убитых нервов и благодаря помощи хороших людей удалось переподключить мой кубик к ардуинке с помощью двух сдвиговых регистров 74HC595 (инструкция). За время написания программы удалось чуть лучше разобраться в языке, хотя некоторые вещи в моей программе до сих пор кажутся мне магией.

Собственно, управлять кубиком стало немного сложнее, зато удалось подключить двухстрочный дисплей, на который выводится название режима работы кубика и номер этого режима (удобно ковырять программу, видя эту инфу), и кнопку, которая переключает режим работы кубика.

Да, забыл сказать. Жена у меня ведёт информатику в той же школе и, глядя на мои мучения, у неё родилась мысль об элективном курсе для 9 класса (пока всё в виде идеи и черновых набросков) по работе с ардуинкой. Будем надеяться, что из этого что-то получится.

Светодиодный куб 8x8x8 своими руками

Как работает декоративная скульптура из светодиодов? Можно ли её собрать самостоятельно? Сколько нужно светодиодов и что нужно кроме них? На все эти вопросы вы найдете ответ в этой статье.

Led куб – что нужно для самостоятельной сборки

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

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

Чтобы собрать led cube 8x8x8 вам понадобится:

  • 512 светодиодов (например 5мм);
  • сдвиговые регистры STP16CPS05MTR – 5 шт;
  • микроконтроллер для управления, см. Arduino Uno или любую другую плату;
  • компьютер для программирования системы;

Принцип работы схемы

Маленькие светодиоды типа 5 мм потребляют незначительный ток – 20 мА, но вы собираетесь зажигать их довольно много. Источник питания 12В и 2А прекрасно подойдет для этого.

Подключить все 512 светодиодов индивидуально у вас не выйдет потому, что вряд ли вы найдете микроконтроллер (МК) с таким количеством выводов. Чаще всего встречаются модели в корпусах с количеством ног от 8 до 64. Естественно вы можете найти варианты и с большим количеством ножек.

Как же подключить столько светодиодов? Элементарно! Сдвиговый регистр – микросхема которая может преобразовывать информацию из параллельного вида в последовательный и наоборот – из последовательного в параллельный. Преобразовав последовательный в параллельный вид, вы получите из одной сигнальной ножки 8 и более, в зависимости от разрядности регистра.

Ниже приведена диаграмма иллюстрирующая принцип работы сдвигового регистра.

Когда на последовательный вход Data вы подаете значение бита, а именно ноль или единицу, она по фронту тактового сигнала Clock передается на параллельный выход номер 0, не забывайте, что в цифровой электронике нумерация идёт с нуля).

Если в первый момент времени была единица, а затем в течении трёх тактовых импульсов на входе вы задали нулевой потенциал, в результате этого вы получите такое состояние входов «0001». Вы можете это наблюдать на диаграмме на строках Q0-Q3 – это четыре разряда параллельного выхода.

Как применить эти знания в построении LED куба? Дело в том, что можно применить не совсем обычный сдвиговый регистр, а специализированный драйвер для светодиодных экранов — STP16CPS05MTR. Он работает по такому же принципу.

Как соединять светодиоды?

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

Поэтому мы пойдём другим путём и объединим светодиоды в строки и столбцы, таким образом мы получим двухмерную матрицу. Лед куб же занимает все три оси. Доработав идею объединения светодиодного куба 8x8x8 у которого светодиоды объединены в группы, можно прийти к такому выводу:

Объединить слои светодиодов (этажи) в схемы с общим анодом (катодом), а столбцы в схемы с общим катодом (или анодом, если на этажах объединяли катоды).

Чтобы управлять такой конструкцией нужно 8 x 8 = 16 управляющих пинов на колонки, и по одной на каждый этаж, всего этажей тоже 8. Итого вам нужно 24 управляющих канала.

На колодку input подаются сигнал с трех ножек микроконтроллера.

Чтобы зажечь необходимый светодиод, например, расположенный на первом этаже, в первой строке третий по счету, вам нужно подать минус на столбец номер 3, а плюс на этаж номер 1. Это справедливо если вы собрали этажи с общим анодом, а столбцы – катодом. Если наоборот, соответственно и управляющие напряжения должны быть инвертированы.

Практические рекомендации для успешной сборки

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

  • приготовить заранее просверленную матрицу из фанеры или картона в которую вы вставите «головку» каждого из светодиодов, а затем запаяете это всё в единое целое;
  • располагайте светодиоды все одинаково, то есть минусовым выводом (катодом) вправо, а анодом (плюсом) влево, так будет легче разобраться в сборке, контакты первого ряда светодиодов расположите под углом в 45 градусов;
  • вам необходимо приобрести отладочную плату Arduino любой модели, например, UNO, nano, pro mini. Прошивку для этой схемы можно найти здесь.

Для корректной работы куба из светодиодов нужно собрать его по слоям с общим катодом, а столбцы – анодом. Подключить к выводам Arduino то что на схеме обозначено, как input в такой последовательности:

№ вывода ArduinoНазвание цепи
2LE
3SDI
5CLK

Что делать если у меня нет таких навыков?

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

Куб с размером грани 4 диода

Готовые наборы для сборки можно приобрести в магазинах с радиодеталями, а также их огромный выбор на aliexpress.

Сборка такого куба разовьет у начинающего радиолюбителя навыки пайки, точность, правильность и качество соединений. Навыки работы с микроконтроллерами пригодятся для дальнейших проектов, а с помощью Arduino вы можете научится программировать простые игрушки, а также средства автоматизации для быта и производства.

К сожалению, из-за особенностей языка программирования Arduino – sketch есть некие ограничения в плане быстродействия, но поверьте, что когда вы упретесь в потолок возможностей этой платформы, скорее всего освоение работы с «чистыми» МК у вас не вызовет существенных трудностей.

Рейтинг
( Пока оценок нет )
Загрузка ...
×
×
Adblock
detector