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. Обратил внимание на разъем программатора, точнее как расположены дорожки. Получаеться что он как-бы зеркально отражен относительно вертикали, получаеться что при подключении программатора сигналы не будут соответствовать. Надо будет развести плату по-другому?
Жду скорого ответа, с ув. Евгений.
2. На печатной плате стройно в ряд стоят ограничительные резисторы (SMD). 16 одинаковых мест в один ряд.
3. На изображении печатной платы сторона, где располагаются элементы поверхностного монтажа. Разъем программатора с другой стороны платы. Разводка правильная.
Все Фьюзы по умолчанию кроме тактовой частоты. Выставляем тактирование от внутреннего RC генератора 8Mhz.
1. Диоды выбрал "ARL2-5213UBС, св.диод, синий, 5 мм, 5-8Cd 20 3V" покатят?
2. Надо токоограничивающие резисторы пересчитавыть? или 200 ом - норм?
3. Транзисторы полевики решил взять "мои любимые" IRFZ44. Ок?
4. Выдержат смд-эшные 74HC164 такое кол-во диодов?
5. Хватит атмеге8 её ресурсов для такого кол-ва диодов?
6. Память еепром у атмеги8 - пол кило (вроде). Для моего случая один "кадр" будет занимать 64 байта. Т.е. получается я могу хранить тока 8 "кадров"??
Спасибо заранее автору за ответы:))
2. Работать будет.
3. OK
4. Выдержат.
5. Из ресурсов микроконтроллера понадобиться еще 4 ноги на дополнительные "этажи". Свободные ноги есть это не проблема.
6. В этом проекте eeprom не используется, весь "фильм" храниться в области программ. Т.е. Вы можете использовать все свободное пространство, оставшееся во Флеш памяти.
Но для 512 огней этого мало. Atmega8 для этого явно слаба. Как вариант, использовать математические функции для создания эффектов или прикручивать флеш память.
P.S. А ещё протеус не тянет 512 диодов с мегой....
SUT0-галачка, CKSEL3-галачка, CKSEL1-галачка, CKSEL0-галачка.
Собрал куб 2х2. Плюсы соединены по вертикали, минусы по горизонтали. 2 этажа
Итого 6 сигнальных проводов, которые напрямую соединяют контроллер с кубом.
Возникла проблема зажигания противоположных по диогонали диодов (один на верхнем этаже, второй на нижнем) У меня зажигается вся вертикаль
Возникло несколько вопросов:
1) Каково назначение полевых транзисторов в приведенном примере ?
2) Как сделать так, чтобы зажечь по одному диоду на разных этажах
2. Для формирования иллюзии свечения всего куба, последовательно засвечиваем светодиоды сразу первого этажа, затем второго и т.д. Поскольку человеческий глаз достаточно инертный он не может увидеть момент переключения если частота будет больше 30 Гц. Т.е. зажечь по одному диоду на разных этажах можно только по очереди.
Можно фото фьюзов выложить? , программатор сделал вот такой (ссылка удалена)
Помогите пожалуйста!!!
как сделать прошивку с новыми эффектами, если можно поподробнее.
Заранее благодарен автору.
Почему на плате нет 4-х резисторов в цепях затворов у транзисторов?
ну почему бы не сделать отрисовку примитивами (примерно так: cxem. net/sound/light/download/ 4x4x4_ledcube-0.2.zip) помоему намного удобнее и нагляднее. С другой стороны большой плюс - если подключить spi-флеш то можно таких строк/кадров залить столько на сколько терпения хватит..а вот с исполняемым кодом такое не пройдёт.
B всётки попробую портировать.(
Если не забуду, отпишусь через недельку.
А за печатку большое спасибо, очень элегантно получилась!
"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грн. Жаль раньше не ответили.
Додати коментар
Недавні записи
- 🇺🇦 FOC Board STM32F103RB 🧩
- STM32 Motor control SDK - керування оборотами мотора за допомогою потенціометра 📑
- Flask✙Gunicorn✙Nginx➭😎
- STM32 Motor control SDK - програмне керування обертам мотора
- STM32 Motor control SDK - як створити перший проект
- Vue SVG. Приклад побудови живого параметричного креслення
- Вимірювання моменту мотора
- Vue SVG - компонент. Приклад 📑
- Flask + Vue 🏁 Финальный пример 🏁
- Flask, CORS, JSON-файл. Пример#6
Tags
bldc brushless stm32 motor web html css flask atmega foc git java-script pmsm raspberry-pi python websocket mongodb esp8266 nodemcu st-link tim timer docker ngnix programmator ssd1331 ssd1306 wifi uart meteo bme280 bmp280 i2c gps mpu-6050 mpu-9250 sensors 3d-printer options usb barometer remap watchdog flash eeprom rtc bkp encoder pwm servo capture examples dma adc nvic usart gpio books battery dc-dc sms max1674 avr lcd dht11 piezo rs-232 rfid solar exti bluetooth eb-500 displays ethernet led smd soldering mpx4115a hih-4000
Архіви