Cветодиодный куб ( LED Cube )
Еще одна простая светодиодная игрушка, но не менее эффектная, чем "вертушка" - светодиодный куб или LED Cube. Видео того, что получилось можно посмотреть прямо здесь .
На Youtube можете найти много аналогичных и более крутых вещей. Самая ценная деталь - это куб, собранный из светодиодов. Мы будем строить простой куб с размерами грани 4x4x4 светодиода. Т.е. нам понадобиться 4x4x4=64 светодиода яркого свечения любого цвета. Хотел сделать куб 8x8x8, но тогда понадобилось бы 512 светодиодов. С учетом стоимости светодиодов дороговато как для простой игрушки, начнем с простого 4x4x4.
Как работает куб
Все сразу светодиоды нам не засветить, нужно много ног микроконтроллера. Поэтому поступают проще - поочередно включают по одному "этажу" светодиодов. Человеческих глаз инертен и не может уловить столь быстрое переключение и нам кажется, что горят светодиоды всех этажей. Но при этом нужно понимать, что каждый отдельно взятый этаж светодиодов горит не все время а отведенный ему период. Период свечения 1/кол этажей. В нашем случае 4. Т.е. Яркость свечения будет 1/4 от номинальной. Поэтому мы и взяли сверх яркие светодиоды, в противном случае у нас получился бы бледный куб.Плата управления
На плате управления микроконтроллер ATMega8 отвечает за логику работы, пара микросхем - сдвиговых регистров для подачи сигналов на "столбы" и 4 транзисторных ключа, которыми включается нужный этаж светодиодов. Микроконтроллер отправляет в сдвиговые регистры необходимое число, а затем включает нужный транзисторный ключ, зажигая нужный этаж. Затем операция повторяется для каждого "этажа".На плате предусмотрен разъем для программатора и подключения куба к компьютеру через модуль UART-RS232 или UART-USB. Таким образом, можно заставить куб светиться по командам из компьютера. Однако, куб замечательно работает и без компьютера, правда тогда он сможет прокручивать только "фильм" зашитый в его памяти, но этого, как правило, более чем достаточно.
Куб можно питать от USB порта компьютера. Это удобно при подключении к компьютеру. Я питал отдельно, поскольку планировалось сделать отдельное устройство. На видео можно заметить отдельную плату простого стабилизатора напряжения на 5В, на который подается 12В от внешнего блока питания. Поскольку в один момент времени максимум могут гореть не 64 светодиода, а только 16, то их суммарный потребляемый ток (из расчета 20мА на каждый светодиод) 16*20=320мА. Что допустимо для USB порта.
Сборка светодиодного куба
Светодиоды спаиваются таким образом, чтобы одна из ножек соединялась с ножками других светодиодов по вертикали, формируя "столб", а другая нога соединялась со всеми светодиодами в плоскости (в "этаже"). К кубу припаиваем провода по одному к столбу (16 шт.) и по одному на каждый этаж (4 шт.). По этим 20 проводам выполняется управление кубом. Подключается куб к плате следующим образом:Интерфейс с компьютером
Взаимосвязь с платой осуществляется через COM-порт в случае использования модуля UART-RS232 и через виртуальный COM-порт при использовании UART-USB. В том и другом случае для компьютера это COM-порт. Так что с разработкой софта проблем нет.Файлы для скачивания
Скачать: Схема+Плата+Прошивка+ИсходникиСкачать: Пример проигрователя на Delphi
см. также:
Здравствуйте! Меня заинтересовал Ваш проэкт светодиодного куба, давно собирался, вот решил повторить и сделать оригинальный подарок любимому человеку. У меня есть несколько вопросов: 1. Купил светодиоды синие, спаял решетку, рабочее напрядение одного светодиода 4 в, у Вас светодиоды красные, посмотрел что их раб напряжение 2 в, пересчитал номиналы нагрузочных резисторов. Следовал логики, что напрядение питания 5 в, в каждый мгновенный момент времени горит только 1 св.диод, получилось (5-4).02=50 Ом. Логика верна для данного случая? 2. Постарался внимательно проанализировать схему и печатную плату, не ясно где токоограничительные резисторы на транзисторы, в схеме нарисованы, а на печатке их нет, или они включены программно через внутренние нагрузочные микроконтроллера? 3. Обратил внимание на разъем программатора, точнее как расположены дорожки. Получаеться что он как-бы зеркально отражен относительно вертикали, получаеться что при подключении программатора сигналы не будут соответствовать. Надо будет развести плату по-другому? Жду скорого ответа, с ув. Евгений.
и еще 4. Как правильно выставить фьюз-биты при программировании контроллера?
1. Правильнее обратиться к документации по светодиоду. Вы не сообщили марку светодиода, поэтому ничего конкретного сказать не могу. 2. На печатной плате стройно в ряд стоят ограничительные резисторы (SMD). 16 одинаковых мест в один ряд. 3. На изображении печатной платы сторона, где располагаются элементы поверхностного монтажа. Разъем программатора с другой стороны платы. Разводка правильная. Все Фьюзы по умолчанию кроме тактовой частоты. Выставляем тактирование от внутреннего RC генератора 8Mhz.
Вы дали ссылку на программаторы, там их два, каким из нужно пользоваться?? И обязательно ли его соединять с компьютером??
Его я имел ввиду куб!
Программатор можно использовать любой. К компу подключать не обязательно.
Собираюсь делать куб 8х8х8. Сразу возникла куча вопросов: 1. Диоды выбрал "ARL2-5213UBС, св.диод, синий, 5 мм, 5-8Cd 20 3V" покатят? 2. Надо токоограничивающие резисторы пересчитавыть? или 200 ом - норм? 3. Транзисторы полевики решил взять "мои любимые" IRFZ44. Ок? 4. Выдержат смд-эшные 74HC164 такое кол-во диодов? 5. Хватит атмеге8 её ресурсов для такого кол-ва диодов? 6. Память еепром у атмеги8 - пол кило (вроде). Для моего случая один "кадр" будет занимать 64 байта. Т.е. получается я могу хранить тока 8 "кадров"?? Спасибо заранее автору за ответы:))
1. Светодиоды пойдут любые, лишь бы не кушали больше 20мА. В противном случае ноги микросхем могут не выдержать. Придется включать через транзисторные ключи. 2. Работать будет. 3. OK 4. Выдержат. 5. Из ресурсов микроконтроллера понадобиться еще 4 ноги на дополнительные "этажи". Свободные ноги есть это не проблема. 6. В этом проекте eeprom не используется, весь "фильм" храниться в области программ. Т.е. Вы можете использовать все свободное пространство, оставшееся во Флеш памяти. Но для 512 огней этого мало. Atmega8 для этого явно слаба. Как вариант, использовать математические функции для создания эффектов или прикручивать флеш память.
Спасибо большое за ответы. Прибавило уверенности. Заказал светодиодов и обвязки для них. Начну делать на 8-ой меге, а там - посмотрим:) Нарисовал печатку платы для диодов со сдвиговыми регистрами и полевиками. Всего с платы этой отходит 20 проводов, включая питание. Думаю - один провод лишний, т.к. он сигнал сброса регистров, в принципе не нужно их сбрасывать - сдвинул как надо и все. Пишу прошиву.... P.S. А ещё протеус не тянет 512 диодов с мегой....
Сигнал сброса регистров точно не нужен. Недавно чинил колонки на 74HC164 - он там в воздухе висит....
Зачем на плате выводы TX и RX, и надо ли их подключать куда-нибуть????
На плате предусмотрены выводы TX и RX для подключения куба к компьютеру через модуль UART-RS232 или UART-USB. Таким образом, можно заставить куб светиться по командам из компьютера. Однако, куб замечательно работает и без компьютера, правда тогда он сможет прокручивать только «фильм» зашитый в его памяти, но этого, как правило, более чем достаточно. В самом низу статьи есть файлы для скачивания в том числе и пример на Delphi для управления кубом с компа..
Скажите пожалуйста а можно вашей программкой управлять кубом собранным на Atmega16 (http://cxem.net/sound/light/light44.php)
Нет
Здравствуйте! Скажите фьюзы должны стоять вот так при программировании АТмега8 SUT0-галачка, CKSEL3-галачка, CKSEL1-галачка, CKSEL0-галачка.
Мне стало интересно и я решил собрать пробный куб на АтМега 8. Собрал куб 2х2. Плюсы соединены по вертикали, минусы по горизонтали. 2 этажа Итого 6 сигнальных проводов, которые напрямую соединяют контроллер с кубом. Возникла проблема зажигания противоположных по диогонали диодов (один на верхнем этаже, второй на нижнем) У меня зажигается вся вертикаль Возникло несколько вопросов: 1) Каково назначение полевых транзисторов в приведенном примере ? 2) Как сделать так, чтобы зажечь по одному диоду на разных этажах
По фюзам уже было. Все Фьюзы по умолчанию, кроме тактовой частоты. Выставляем тактирование от внутреннего RC генератора 8Mhz. Если перевести в "галочки", то так и есть.
1. Светодиоды куба не светятся ВСЕ одновременно. В один момент времени могут светиться только светодиоды одного этажа, или слоя, называйте как угодно. При этом полевые транзисторы включают нужный этаж. Транзистор должен выдерживать ток = [ток одного светодиода] * [кол. светодиодов на этаже]. В моем случае 20мА*16 = 320мА нога микроконтроллера этого не выдержит. 2. Для формирования иллюзии свечения всего куба, последовательно засвечиваем светодиоды сразу первого этажа, затем второго и т.д. Поскольку человеческий глаз достаточно инертный он не может увидеть момент переключения если частота будет больше 30 Гц. Т.е. зажечь по одному диоду на разных этажах можно только по очереди.
Спасибо Админу за проект, все работает с уважением Красноярск)))
Собрал куб, но не работает. Можно фото фьюзов выложить? , программатор сделал вот такой (ссылка удалена) Помогите пожалуйста!!!
Спасибо автору, все получилось, проблема была в атмеге, поставил в дип корпусе и все заработало с первого раза.
Не могу разобраться с "софт на Flash: http://avislab.com/blog/LEDCube/ " как сделать прошивку с новыми эффектами, если можно поподробнее. Заранее благодарен автору.
Скажиите, а как соотнести 16 выводов платы с шестнадцатью столбами диодов? Почему на плате нет 4-х резисторов в цепях затворов у транзисторов?
автор просто забыл их на плате нарисовать,я дополнил но пока ещё не запустил
что от ваш софт http://avislab.com/blog/LEDCube/ кривоватый какой то, при попытке сохранить проект он все сбрасывает!!!
Проверил. У меня Firefox все нормально работает. Может некоторые настройки Вашего браузера препятствуют нормальной работе.
Давно уже сделал кубик 8х8х8. Работает на ура. Огромное спаисибо Admin`y этого сайта. Написал программку для своей девушки на си в виндах, чтоб она нарисовала все кадры - она нарисовала. Но памяти у меги8 мало совсем, поэтому там влез тока околоминутный ролик. Огромное спасибо автору за использование именно атмеги, а не пик. До этого долго работал с пиками, но там как то все не очень удобно было. Как тока перелез на мегу - сразу стало все както быстрее и гараздо понятнее. Я думаю это так, что до этого использовал примитивный PIC16F84 - фу, фу, фу. Вспоминаю теперь как кошмар. На данный момент подключил к меге кучу микро. И причем любая простецкая задача на меге решается буквально за вечер. Например: в инете все делают часы на далласе и температуру тоже на далласе. Проблем не возникло ваще: один вечер - один девайс. И это кстати, благодаря Протеусу, CodeVisionAVR и железке. Заинтересовала статья про EB-500, только не могу понять, зачем мне GPS....
автор подскажите пожалуйста какая марка у ваших светодиодов
скажите пожалуйста этот куб мигает постоянно по кругу или как только заканчивается программа он перестаёт работать и нужно сбрасывать для возобновления?
Куб работает по кругу
здравствуйте автор подскажите пожалуйста не пойму в какой последовательности нужно соединять столбы анодов с токоогранечительными резисторами?
друзья пожалуйста кто нибудь подскажите в какой последовательности включать столбы анодов с резисторами
Спасибо большое за то что выложели сборку куба и подсоединение её к плате
А где токоогранечительные резисторы для транзисторов на печатной плате?
Ограничительные резисторы на затвор полевых транзисторов ставить не обязательно. Поэтому на печатной плате их нет. Ограничительные резисторы обязательно ставить если будите применять биполярные транзисторы.
С уважением, но блин, растровыми строками оперировать это извращение.. ну почему бы не сделать отрисовку примитивами (примерно так: cxem. net/sound/light/download/ 4x4x4_ledcube-0.2.zip) помоему намного удобнее и нагляднее. С другой стороны большой плюс - если подключить spi-флеш то можно таких строк/кадров залить столько на сколько терпения хватит..а вот с исполняемым кодом такое не пройдёт. B всётки попробую портировать.( Если не забуду, отпишусь через недельку. А за печатку большое спасибо, очень элегантно получилась!
Собрал данный куб на dip компонентах (Atmega8A-PU, транзиля оставил IRLML2402) и радость - программатор сделал вот такой http://www.getchip.net/posts/delaem-com-programmator-dlya-avr-mikrokontrollerov/ (им же прошил всем известный USBASP) попытался прошить данный куб - uniprof не увидел контроллера. Программатор исправен, схема разведена согласно печатке автора и dataheet на микрухи, контроллер, транзиля. Чудес не бывает, в чем ошибка? У автора на схеме выводы МК AVCC, AREF висят в воздухе а на печатке - обьеденены с VCC как правильно? Прошу помощи.
AVCC, AREF - это для питание и опорное для аналого-цифрового преобразователя. На процесс прошивки не влияет.
Огромное спасибо! Сегодня разобрался почему Uniprof не видел atmega - для запуска нужно было подвесить кварц с кондюками (12mhz и 15pf). Прошивку залил без проблем (hex фаил), а вот с фьюзами запутался. "admin говорит: 02.04.2012 в 08:42 По фюзам уже было. Все Фьюзы по умолчанию, кроме тактовой частоты. Выставляем тактирование от внутреннего RC генератора 8Mhz. Если перевести в «галочки», то так и есть." Как должно быть расставлено в Uniprof? Поставил галочки в колонке Fuse(low) на SUT0, CKSEL3, CKSEL1, CKSEL0 остальные снял записал.Включил куб и тишина - не работает. Снова подключил к программатору и опять без внешнего кварца с обвязкой Uniprof не увидел atmegy. Я так понимаю внутрений генератор запускаемый с помощь конфигурации фьюз я не выставил. Прошу помощи.
Собрал куб работает, автору спасибо! Если у кого возникнут вопросы похожие на мои: 1) используем связку программатор Громова и Uniprof http://easyelectronics.ru/avr-shag-pervyj-programmator.html - достаточно хорошо разжевано, есть варианты печаток, коментарии 2) http://www.getchip.net/posts/025-uniprof-universalnyjj-programmator-dlya-avr/ достаточно подробно как для новичка описана сама Uniprof как с ней работать 3) в данной конструкции можно применить Atmega8A-PU (dip) 4) если Uniprof не увидела мк подпаять кварц с конденсаторами 5) ОБЯЗАТЕЛЬНО !!! не забываем при загрузке HEX-файла что он содержит и Eeprom - нужно шить все вместе!!!! 6) Теперь FUSE биты ставим галочки один в один как на картинке http://flowcode.info/images/fbfiles/images/ATmega8_internal_RC_8.png Спасибо за внимание свой вопрос считаю снятым. Для меня эксперимет закончился убитым мк 12грн. Жаль раньше не ответили.
Недавні записи
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
- AS5600. Варіант встановлення на BLDC мотор
- DC-DC для IGBT драйверів ізольований 2 W +15 -8 вольт
Tags
battery soldering java-script ngnix adc rs-232 flask esp8266 watchdog web exti solar mongodb rtc sms pwm usart books ethernet smd git websocket meteo css python dc-dc displays led ssd1306 eeprom gpio barometer max1674 mpx4115a brushless motor mpu-6050 timer sensors remap servo bldc atmega pmsm 3d-printer flash encoder examples dma raspberry-pi tim ssd1331 piezo mpu-9250 rfid eb-500 foc bme280 gps nvic dht11 bluetooth hih-4000 stm32 st-link docker uart avr html wifi bmp280 bkp nodemcu options usb lcd programmator i2c capture
Архіви